evoasm 0.0.2.pre7 → 0.1.0.pre2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. checksums.yaml +4 -4
  2. data/.gdbinit +41 -0
  3. data/.gitignore +1 -2
  4. data/.gitmodules +3 -0
  5. data/.rubocop.yml +8 -0
  6. data/Gemfile +4 -0
  7. data/LICENSE.md +660 -0
  8. data/Makefile +1 -1
  9. data/README.md +17 -9
  10. data/Rakefile +39 -107
  11. data/bin/gdb +1 -1
  12. data/bin/gdb_loop +4 -0
  13. data/docs/FindingInstructions.md +17 -0
  14. data/docs/JIT.md +14 -0
  15. data/docs/SymbolicRegression.md +102 -0
  16. data/docs/Visualization.md +29 -0
  17. data/docs/examples/bit_insts.rb +44 -0
  18. data/docs/examples/jit.rb +26 -0
  19. data/docs/examples/loss.gif +0 -0
  20. data/docs/examples/program.png +0 -0
  21. data/docs/examples/sym_reg.rb +64 -0
  22. data/docs/examples/vis.rb +38 -0
  23. data/evoasm.gemspec +21 -15
  24. data/ext/evoasm_ext/Rakefile +3 -0
  25. data/ext/evoasm_ext/compile.rake +35 -0
  26. data/ext/evoasm_ext/libevoasm/src/evoasm-alloc.c +226 -0
  27. data/ext/evoasm_ext/libevoasm/src/evoasm-alloc.h +84 -0
  28. data/ext/evoasm_ext/libevoasm/src/evoasm-arch.c +52 -0
  29. data/ext/evoasm_ext/libevoasm/src/evoasm-arch.h +101 -0
  30. data/ext/evoasm_ext/libevoasm/src/evoasm-bitmap.h +158 -0
  31. data/ext/evoasm_ext/libevoasm/src/evoasm-buf.c +204 -0
  32. data/ext/evoasm_ext/libevoasm/src/evoasm-buf.h +109 -0
  33. data/ext/evoasm_ext/libevoasm/src/evoasm-domain.c +124 -0
  34. data/ext/evoasm_ext/libevoasm/src/evoasm-domain.h +279 -0
  35. data/ext/evoasm_ext/libevoasm/src/evoasm-error.c +65 -0
  36. data/ext/evoasm_ext/libevoasm/src/evoasm-error.h +108 -0
  37. data/ext/evoasm_ext/{evoasm-log.c → libevoasm/src/evoasm-log.c} +36 -18
  38. data/ext/evoasm_ext/libevoasm/src/evoasm-log.h +93 -0
  39. data/ext/evoasm_ext/libevoasm/src/evoasm-param.c +22 -0
  40. data/ext/evoasm_ext/libevoasm/src/evoasm-param.h +33 -0
  41. data/ext/evoasm_ext/libevoasm/src/evoasm-pop-params.c +192 -0
  42. data/ext/evoasm_ext/libevoasm/src/evoasm-pop-params.h +60 -0
  43. data/ext/evoasm_ext/libevoasm/src/evoasm-pop.c +1323 -0
  44. data/ext/evoasm_ext/libevoasm/src/evoasm-pop.h +107 -0
  45. data/ext/evoasm_ext/libevoasm/src/evoasm-program-io.c +116 -0
  46. data/ext/evoasm_ext/libevoasm/src/evoasm-program-io.h +60 -0
  47. data/ext/evoasm_ext/libevoasm/src/evoasm-program.c +1827 -0
  48. data/ext/evoasm_ext/libevoasm/src/evoasm-program.h +167 -0
  49. data/ext/evoasm_ext/libevoasm/src/evoasm-rand.c +65 -0
  50. data/ext/evoasm_ext/libevoasm/src/evoasm-rand.h +76 -0
  51. data/ext/evoasm_ext/libevoasm/src/evoasm-signal.c +106 -0
  52. data/ext/evoasm_ext/libevoasm/src/evoasm-signal.h +58 -0
  53. data/ext/evoasm_ext/libevoasm/src/evoasm-util.h +112 -0
  54. data/ext/evoasm_ext/libevoasm/src/evoasm-x64.c +925 -0
  55. data/ext/evoasm_ext/libevoasm/src/evoasm-x64.h +277 -0
  56. data/ext/evoasm_ext/libevoasm/src/evoasm.c +28 -0
  57. data/ext/evoasm_ext/libevoasm/src/evoasm.h +35 -0
  58. data/ext/evoasm_ext/libevoasm/src/gen/evoasm-x64-enums.h +2077 -0
  59. data/ext/evoasm_ext/libevoasm/src/gen/evoasm-x64-insts.c +191203 -0
  60. data/ext/evoasm_ext/libevoasm/src/gen/evoasm-x64-insts.h +1713 -0
  61. data/ext/evoasm_ext/libevoasm/src/gen/evoasm-x64-misc.c +348 -0
  62. data/ext/evoasm_ext/libevoasm/src/gen/evoasm-x64-misc.h +93 -0
  63. data/ext/evoasm_ext/libevoasm/src/gen/evoasm-x64-params.c +51 -0
  64. data/ext/evoasm_ext/libevoasm/src/gen/evoasm-x64-params.h +509 -0
  65. data/lib/evoasm.rb +28 -11
  66. data/lib/evoasm/buffer.rb +105 -0
  67. data/lib/evoasm/capstone.rb +100 -0
  68. data/lib/evoasm/domain.rb +116 -0
  69. data/lib/evoasm/error.rb +37 -16
  70. data/lib/evoasm/exception_error.rb +19 -0
  71. data/lib/evoasm/ffi_ext.rb +53 -0
  72. data/lib/evoasm/libevoasm.rb +286 -0
  73. data/lib/evoasm/libevoasm/x64_enums.rb +1967 -0
  74. data/lib/evoasm/parameter.rb +20 -0
  75. data/lib/evoasm/population.rb +145 -0
  76. data/lib/evoasm/population/parameters.rb +227 -0
  77. data/lib/evoasm/population/plotter.rb +89 -0
  78. data/lib/evoasm/prng.rb +64 -0
  79. data/lib/evoasm/program.rb +195 -12
  80. data/lib/evoasm/program/io.rb +144 -0
  81. data/lib/evoasm/test.rb +8 -0
  82. data/lib/evoasm/version.rb +1 -1
  83. data/lib/evoasm/x64.rb +115 -0
  84. data/lib/evoasm/x64/cpu_state.rb +95 -0
  85. data/lib/evoasm/x64/instruction.rb +109 -0
  86. data/lib/evoasm/x64/operand.rb +156 -0
  87. data/lib/evoasm/x64/parameters.rb +211 -0
  88. data/test/helpers/population_helper.rb +128 -0
  89. data/test/helpers/test_helper.rb +1 -0
  90. data/test/helpers/x64_helper.rb +24 -0
  91. data/test/integration/bitwise_reverse_test.rb +41 -0
  92. data/test/integration/gcd_test.rb +52 -0
  93. data/test/integration/popcnt_test.rb +46 -0
  94. data/test/integration/sym_reg_test.rb +68 -0
  95. data/test/unit/evoasm/buffer_test.rb +48 -0
  96. data/test/unit/evoasm/capstone_test.rb +18 -0
  97. data/test/unit/evoasm/domain_test.rb +55 -0
  98. data/test/unit/evoasm/population/parameters_test.rb +106 -0
  99. data/test/unit/evoasm/population_test.rb +96 -0
  100. data/test/unit/evoasm/prng_test.rb +47 -0
  101. data/test/unit/evoasm/x64/cpu_state_test.rb +73 -0
  102. data/test/unit/evoasm/x64/encoding_test.rb +320 -0
  103. data/test/unit/evoasm/x64/instruction_access_test.rb +177 -0
  104. data/test/unit/evoasm/x64/instruction_encoding_test.rb +780 -0
  105. data/test/unit/evoasm/x64/instruction_test.rb +62 -0
  106. data/test/unit/evoasm/x64/parameters_test.rb +65 -0
  107. data/test/unit/evoasm/x64_test.rb +52 -0
  108. metadata +195 -89
  109. data/Gemfile.rake +0 -8
  110. data/Gemfile.rake.lock +0 -51
  111. data/LICENSE.txt +0 -373
  112. data/data/tables/README.md +0 -19
  113. data/data/tables/x64.csv +0 -1684
  114. data/data/templates/evoasm-x64.c.erb +0 -319
  115. data/data/templates/evoasm-x64.h.erb +0 -126
  116. data/examples/abs.yml +0 -20
  117. data/examples/popcnt.yml +0 -17
  118. data/examples/sym_reg.yml +0 -26
  119. data/exe/evoasm-search +0 -13
  120. data/ext/evoasm_ext/evoasm-alloc.c +0 -145
  121. data/ext/evoasm_ext/evoasm-alloc.h +0 -59
  122. data/ext/evoasm_ext/evoasm-arch.c +0 -44
  123. data/ext/evoasm_ext/evoasm-arch.h +0 -161
  124. data/ext/evoasm_ext/evoasm-bitmap.h +0 -114
  125. data/ext/evoasm_ext/evoasm-buf.c +0 -130
  126. data/ext/evoasm_ext/evoasm-buf.h +0 -47
  127. data/ext/evoasm_ext/evoasm-error.c +0 -31
  128. data/ext/evoasm_ext/evoasm-error.h +0 -75
  129. data/ext/evoasm_ext/evoasm-free-list.c.tmpl +0 -121
  130. data/ext/evoasm_ext/evoasm-free-list.h.tmpl +0 -86
  131. data/ext/evoasm_ext/evoasm-log.h +0 -69
  132. data/ext/evoasm_ext/evoasm-misc.c +0 -23
  133. data/ext/evoasm_ext/evoasm-misc.h +0 -282
  134. data/ext/evoasm_ext/evoasm-param.h +0 -37
  135. data/ext/evoasm_ext/evoasm-search.c +0 -2145
  136. data/ext/evoasm_ext/evoasm-search.h +0 -214
  137. data/ext/evoasm_ext/evoasm-util.h +0 -40
  138. data/ext/evoasm_ext/evoasm-x64.c +0 -275624
  139. data/ext/evoasm_ext/evoasm-x64.h +0 -5436
  140. data/ext/evoasm_ext/evoasm.c +0 -7
  141. data/ext/evoasm_ext/evoasm.h +0 -23
  142. data/ext/evoasm_ext/evoasm_ext.c +0 -1757
  143. data/ext/evoasm_ext/extconf.rb +0 -31
  144. data/lib/evoasm/cli.rb +0 -6
  145. data/lib/evoasm/cli/search.rb +0 -127
  146. data/lib/evoasm/core_ext.rb +0 -1
  147. data/lib/evoasm/core_ext/array.rb +0 -9
  148. data/lib/evoasm/core_ext/integer.rb +0 -10
  149. data/lib/evoasm/core_ext/kwstruct.rb +0 -13
  150. data/lib/evoasm/core_ext/range.rb +0 -5
  151. data/lib/evoasm/examples.rb +0 -27
  152. data/lib/evoasm/gen.rb +0 -8
  153. data/lib/evoasm/gen/enum.rb +0 -169
  154. data/lib/evoasm/gen/name_util.rb +0 -80
  155. data/lib/evoasm/gen/state.rb +0 -176
  156. data/lib/evoasm/gen/state_dsl.rb +0 -152
  157. data/lib/evoasm/gen/strio.rb +0 -27
  158. data/lib/evoasm/gen/translator.rb +0 -1102
  159. data/lib/evoasm/gen/version.rb +0 -5
  160. data/lib/evoasm/gen/x64.rb +0 -237
  161. data/lib/evoasm/gen/x64/funcs.rb +0 -495
  162. data/lib/evoasm/gen/x64/inst.rb +0 -781
  163. data/lib/evoasm/search.rb +0 -40
  164. data/lib/evoasm/tasks/gen_task.rb +0 -86
  165. data/lib/evoasm/tasks/template_task.rb +0 -52
  166. data/test/test_helper.rb +0 -1
  167. data/test/x64/test_helper.rb +0 -19
  168. data/test/x64/x64_test.rb +0 -87
@@ -0,0 +1,277 @@
1
+ /*
2
+ * Copyright (C) 2016 Julian Aron Prenner <jap@polyadic.com>
3
+ *
4
+ * This program is free software: you can redistribute it and/or modify
5
+ * it under the terms of the GNU Affero General Public License as published by
6
+ * the Free Software Foundation, either version 3 of the License, or
7
+ * (at your option) any later version.
8
+ *
9
+ * This program is distributed in the hope that it will be useful,
10
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ * GNU Affero General Public License for more details.
13
+ *
14
+ * You should have received a copy of the GNU Affero General Public License
15
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
16
+ */
17
+
18
+ #pragma once
19
+
20
+ #include <stdint.h>
21
+ #include "evoasm-error.h"
22
+ #include "evoasm-alloc.h"
23
+ #include "evoasm-arch.h"
24
+ #include "evoasm-domain.h"
25
+
26
+ #include "gen/evoasm-x64-enums.h"
27
+ #include "gen/evoasm-x64-params.h"
28
+
29
+ typedef struct {
30
+ evoasm_buf_ref_t buf_ref;
31
+ struct {
32
+ bool encode_rex : 1;
33
+ } shared_vars;
34
+ union {
35
+ evoasm_x64_params_t params;
36
+ evoasm_x64_basic_params_t basic_params;
37
+ };
38
+ } evoasm_x64_enc_ctx_t;
39
+
40
+ #include "gen/evoasm-x64-misc.h"
41
+
42
+
43
+ typedef enum {
44
+ EVOASM_X64_INSTS_FLAG_INCLUDE_USELESS = (1 << 0),
45
+ EVOASM_X64_INSTS_FLAG_ONLY_BASIC = (1 << 1),
46
+ } evoasm_x64_insts_flags_t;
47
+
48
+ typedef enum {
49
+ EVOASM_X64_CPU_STATE_FLAG_IP = (1 << 0),
50
+ EVOASM_X64_CPU_STATE_FLAG_SP = (1 << 1),
51
+ EVOASM_X64_CPU_STATE_FLAG_MXCSR = (1 << 2),
52
+ EVOASM_X64_CPU_STATE_FLAG_RFLAGS = (1 << 3),
53
+ } evoasm_x64_cpu_state_flags_t;
54
+
55
+ typedef enum {
56
+ EVOASM_X64_OPERAND_SIZE_8,
57
+ EVOASM_X64_OPERAND_SIZE_16,
58
+ EVOASM_X64_OPERAND_SIZE_32,
59
+ EVOASM_X64_OPERAND_SIZE_64,
60
+ EVOASM_X64_OPERAND_SIZE_128,
61
+ EVOASM_X64_OPERAND_SIZE_256,
62
+ EVOASM_X64_OPERAND_SIZE_512,
63
+ EVOASM_X64_OPERAND_SIZE_NONE,
64
+ } evoasm_x64_operand_size_t;
65
+
66
+ #define EVOASM_X64_OPERAND_SIZE_BITSIZE 3
67
+ #define EVOASM_X64_OPERAND_SIZE_BITSIZE_OPT 3
68
+
69
+ typedef enum {
70
+ EVOASM_X64_OPERAND_WORD_LB,
71
+ EVOASM_X64_OPERAND_WORD_HB,
72
+ EVOASM_X64_OPERAND_WORD_W,
73
+ EVOASM_X64_OPERAND_WORD_DW,
74
+ EVOASM_X64_OPERAND_WORD_LQW,
75
+ EVOASM_X64_OPERAND_WORD_HQW,
76
+ EVOASM_X64_OPERAND_WORD_DQW,
77
+ EVOASM_X64_OPERAND_WORD_VW,
78
+ EVOASM_X64_OPERAND_WORD_NONE,
79
+ } evoasm_x64_operand_word_t;
80
+
81
+ #define EVOASM_X64_OPERAND_WORD_BITSIZE 3
82
+ #define EVOASM_X64_OPERAND_WORD_BITSIZE_OPT 4
83
+
84
+
85
+ typedef struct {
86
+ uint64_t ip[1];
87
+ uint64_t rflags[1];
88
+ uint64_t mxcsr[1];
89
+ uint64_t rax[1];
90
+ uint64_t rcx[1];
91
+ uint64_t rdx[1];
92
+ uint64_t rbx[1];
93
+ uint64_t rsp[1];
94
+ uint64_t rbp[1];
95
+ uint64_t rsi[1];
96
+ uint64_t rdi[1];
97
+ uint64_t r8[1];
98
+ uint64_t r9[1];
99
+ uint64_t r10[1];
100
+ uint64_t r11[1];
101
+ uint64_t r12[1];
102
+ uint64_t r13[1];
103
+ uint64_t r14[1];
104
+ uint64_t r15[1];
105
+ uint64_t mm0[1];
106
+ uint64_t mm1[1];
107
+ uint64_t mm2[1];
108
+ uint64_t mm3[1];
109
+ uint64_t mm4[1];
110
+ uint64_t mm5[1];
111
+ uint64_t mm6[1];
112
+ uint64_t mm7[1];
113
+ evoasm_aligned(32) uint64_t xmm0[8];
114
+ evoasm_aligned(32) uint64_t xmm1[8];
115
+ evoasm_aligned(32) uint64_t xmm2[8];
116
+ evoasm_aligned(32) uint64_t xmm3[8];
117
+ evoasm_aligned(32) uint64_t xmm4[8];
118
+ evoasm_aligned(32) uint64_t xmm5[8];
119
+ evoasm_aligned(32) uint64_t xmm6[8];
120
+ evoasm_aligned(32) uint64_t xmm7[8];
121
+ evoasm_aligned(32) uint64_t xmm8[8];
122
+ evoasm_aligned(32) uint64_t xmm9[8];
123
+ evoasm_aligned(32) uint64_t xmm10[8];
124
+ evoasm_aligned(32) uint64_t xmm11[8];
125
+ evoasm_aligned(32) uint64_t xmm12[8];
126
+ evoasm_aligned(32) uint64_t xmm13[8];
127
+ evoasm_aligned(32) uint64_t xmm14[8];
128
+ evoasm_aligned(32) uint64_t xmm15[8];
129
+ evoasm_aligned(32) uint64_t zmm16[8];
130
+ evoasm_aligned(32) uint64_t zmm17[8];
131
+ evoasm_aligned(32) uint64_t zmm18[8];
132
+ evoasm_aligned(32) uint64_t zmm19[8];
133
+ evoasm_aligned(32) uint64_t zmm20[8];
134
+ evoasm_aligned(32) uint64_t zmm21[8];
135
+ evoasm_aligned(32) uint64_t zmm22[8];
136
+ evoasm_aligned(32) uint64_t zmm23[8];
137
+ evoasm_aligned(32) uint64_t zmm24[8];
138
+ evoasm_aligned(32) uint64_t zmm25[8];
139
+ evoasm_aligned(32) uint64_t zmm26[8];
140
+ evoasm_aligned(32) uint64_t zmm27[8];
141
+ evoasm_aligned(32) uint64_t zmm28[8];
142
+ evoasm_aligned(32) uint64_t zmm29[8];
143
+ evoasm_aligned(32) uint64_t zmm30[8];
144
+ evoasm_aligned(32) uint64_t zmm31[8];
145
+ evoasm_x64_cpu_state_flags_t flags;
146
+ } evoasm_x64_cpu_state_t;
147
+
148
+ typedef struct {
149
+ unsigned read: 1;
150
+ unsigned written: 1;
151
+ unsigned maybe_written: 1;
152
+ unsigned implicit: 1;
153
+ unsigned mnem: 1;
154
+ unsigned param_idx: EVOASM_X64_PARAM_IDX_BITSIZE;
155
+ unsigned type: EVOASM_X64_OPERAND_TYPE_BITSIZE;
156
+ unsigned word: EVOASM_X64_OPERAND_WORD_BITSIZE_OPT;
157
+ unsigned size: EVOASM_X64_OPERAND_SIZE_BITSIZE_OPT;
158
+ unsigned reg_type: EVOASM_X64_REG_TYPE_BITSIZE_OPT;
159
+ union {
160
+ struct {
161
+ unsigned read_flags : EVOASM_X64_OPERAND_MAX_FLAGS_BITSIZE;
162
+ unsigned written_flags : EVOASM_X64_OPERAND_MAX_FLAGS_BITSIZE;
163
+ };
164
+ uint8_t reg_id;
165
+ int8_t imm;
166
+ uint8_t unused;
167
+ };
168
+ } evoasm_x64_operand_t;
169
+
170
+ typedef bool (*evoasm_x64_inst_enc_func_t)(evoasm_x64_enc_ctx_t *ctx);
171
+
172
+ typedef struct {
173
+ uint8_t n_operands;
174
+ uint16_t id;
175
+ uint16_t n_params;
176
+ uint32_t exceptions;
177
+ uint32_t flags;
178
+ uint64_t features;
179
+ evoasm_param_t *params;
180
+ evoasm_x64_inst_enc_func_t enc_func;
181
+ evoasm_x64_inst_enc_func_t basic_enc_func;
182
+ evoasm_x64_operand_t *operands;
183
+ char *mnem;
184
+ } evoasm_x64_inst_t;
185
+
186
+
187
+ #define EVOASM_X64_ENC(inst) \
188
+ do { \
189
+ evoasm_x64_enc_ctx_t enc_ctx = { \
190
+ .params = params, \
191
+ .buf_ref = { \
192
+ .data = (buf)->data, \
193
+ .pos = &(buf->pos) \
194
+ } \
195
+ }; \
196
+ EVOASM_TRY(enc_failed, evoasm_x64_##inst, &enc_ctx); \
197
+ } while(0);
198
+
199
+ #define EVOASM_X64_SET(param, val) \
200
+ evoasm_x64_params_set_(&params, param, val)
201
+
202
+ #define EVOASM_X64_UNSET(param) \
203
+ evoasm_x64_params_unset_(&params, param)
204
+
205
+ typedef enum {
206
+ EVOASM_X64_ABI_SYSV
207
+ } evoasm_x64_abi_t;
208
+
209
+ #include "gen/evoasm-x64-insts.h"
210
+
211
+ static inline evoasm_success_t
212
+ evoasm_x64_inst_enc_(evoasm_x64_inst_t *inst, evoasm_x64_params_t *params, evoasm_buf_ref_t *buf_ref) {
213
+ evoasm_x64_enc_ctx_t enc_ctx = {
214
+ .params = *params,
215
+ .buf_ref = *buf_ref
216
+ };
217
+ return inst->enc_func(&enc_ctx);
218
+ }
219
+
220
+ static inline evoasm_success_t
221
+ evoasm_x64_inst_enc_basic_(evoasm_x64_inst_t *inst, evoasm_x64_basic_params_t *params, evoasm_buf_ref_t *buf_ref) {
222
+ evoasm_x64_enc_ctx_t enc_ctx = {
223
+ .basic_params = *params,
224
+ .buf_ref = *buf_ref
225
+ };
226
+ return inst->basic_enc_func(&enc_ctx);
227
+ }
228
+
229
+ extern const evoasm_x64_inst_t *EVOASM_X64_INSTS_VAR_NAME;
230
+
231
+ static inline evoasm_x64_inst_t *
232
+ evoasm_x64_inst_(evoasm_x64_inst_id_t inst_id) {
233
+ return (evoasm_x64_inst_t *) &EVOASM_X64_INSTS_VAR_NAME[inst_id];
234
+ }
235
+
236
+ static inline evoasm_success_t
237
+ evoasm_x64_enc_(evoasm_x64_inst_id_t inst_id, evoasm_x64_params_t *params, evoasm_buf_ref_t *buf_ref) {
238
+ evoasm_x64_inst_t *inst = evoasm_x64_inst_(inst_id);
239
+ return evoasm_x64_inst_enc_(inst, params, buf_ref);
240
+ }
241
+
242
+ static inline evoasm_success_t
243
+ evoasm_x64_enc_basic_(evoasm_x64_inst_id_t inst_id, evoasm_x64_basic_params_t *params, evoasm_buf_ref_t *buf_ref) {
244
+ evoasm_x64_inst_t *inst = evoasm_x64_inst_(inst_id);
245
+ return evoasm_x64_inst_enc_basic_(inst, params, buf_ref);
246
+ }
247
+
248
+ static inline evoasm_x64_reg_id_t
249
+ evoasm_x64_operand_get_reg_id_(evoasm_x64_operand_t *operand) {
250
+ /* Flag registers store the flags inside the reg_id union */
251
+ if(operand->reg_type == EVOASM_X64_REG_TYPE_RFLAGS) return EVOASM_X64_REG_RFLAGS;
252
+ if(operand->reg_type == EVOASM_X64_REG_TYPE_MXCSR) return EVOASM_X64_REG_MXCSR;
253
+ return (evoasm_x64_reg_id_t) operand->reg_id;
254
+ }
255
+
256
+ static inline evoasm_x64_operand_size_t
257
+ evoasm_x64_operand_get_reg_size_(evoasm_x64_operand_t *operand) {
258
+ if(operand->type != EVOASM_X64_OPERAND_TYPE_REG && operand->type != EVOASM_X64_OPERAND_TYPE_RM) {
259
+ return EVOASM_X64_OPERAND_SIZE_NONE;
260
+ }
261
+ return (evoasm_x64_operand_size_t) operand->size;
262
+ }
263
+
264
+ evoasm_success_t
265
+ evoasm_x64_emit_func_prolog(evoasm_x64_abi_t abi, evoasm_buf_t *buf);
266
+
267
+ evoasm_success_t
268
+ evoasm_x64_emit_func_epilog(evoasm_x64_abi_t abi, evoasm_buf_t *buf);
269
+
270
+ const char *
271
+ evoasm_x64_inst_get_mnem(evoasm_x64_inst_t *inst);
272
+
273
+ evoasm_success_t
274
+ evoasm_x64_emit_pop(evoasm_x64_reg_id_t reg_id, evoasm_buf_t *buf);
275
+
276
+ evoasm_success_t
277
+ evoasm_x64_emit_push(evoasm_x64_reg_id_t reg_id, evoasm_buf_t *buf);
@@ -0,0 +1,28 @@
1
+ /*
2
+ * Copyright (C) 2016 Julian Aron Prenner <jap@polyadic.com>
3
+ *
4
+ * This program is free software: you can redistribute it and/or modify
5
+ * it under the terms of the GNU Affero General Public License as published by
6
+ * the Free Software Foundation, either version 3 of the License, or
7
+ * (at your option) any later version.
8
+ *
9
+ * This program is distributed in the hope that it will be useful,
10
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ * GNU Affero General Public License for more details.
13
+ *
14
+ * You should have received a copy of the GNU Affero General Public License
15
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
16
+ */
17
+
18
+
19
+ #include "evoasm.h"
20
+ #include "evoasm-log.h"
21
+ #include "evoasm-x64.h"
22
+
23
+ void
24
+ evoasm_init(int argc, const char **argv, FILE *log_file) {
25
+ if(log_file == NULL) log_file = stderr;
26
+ _evoasm_log_file = log_file;
27
+ }
28
+
@@ -0,0 +1,35 @@
1
+ /*
2
+ * Copyright (C) 2016 Julian Aron Prenner <jap@polyadic.com>
3
+ *
4
+ * This program is free software: you can redistribute it and/or modify
5
+ * it under the terms of the GNU Affero General Public License as published by
6
+ * the Free Software Foundation, either version 3 of the License, or
7
+ * (at your option) any later version.
8
+ *
9
+ * This program is distributed in the hope that it will be useful,
10
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ * GNU Affero General Public License for more details.
13
+ *
14
+ * You should have received a copy of the GNU Affero General Public License
15
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
16
+ */
17
+
18
+ #pragma once
19
+
20
+ #include <stdint.h>
21
+ #include <stdlib.h>
22
+ #include <stdbool.h>
23
+ #include <limits.h>
24
+ #include <assert.h>
25
+ #include <math.h>
26
+ #include <string.h>
27
+ #include <inttypes.h>
28
+
29
+ #include "evoasm-util.h"
30
+ #include "evoasm-log.h"
31
+ #include "evoasm-buf.h"
32
+ #include "evoasm-alloc.h"
33
+ #include "evoasm-arch.h"
34
+ #include "evoasm-error.h"
35
+
@@ -0,0 +1,2077 @@
1
+ /* vim: set filetype=c: */
2
+ /* AUTOGENERATED FILE, DO NOT EDIT */
3
+
4
+ /*
5
+ * Copyright (C) 2016 Julian Aron Prenner <jap@polyadic.com>
6
+ *
7
+ * This program is free software: you can redistribute it and/or modify
8
+ * it under the terms of the GNU Affero General Public License as published by
9
+ * the Free Software Foundation, either version 3 of the License, or
10
+ * (at your option) any later version.
11
+ *
12
+ * This program is distributed in the hope that it will be useful,
13
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ * GNU Affero General Public License for more details.
16
+ *
17
+ * You should have received a copy of the GNU Affero General Public License
18
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
19
+ */
20
+
21
+
22
+
23
+
24
+ #pragma once
25
+
26
+ typedef enum evoasm_x64_feature_t {
27
+ EVOASM_X64_FEATURE_ADX = 0,
28
+ EVOASM_X64_FEATURE_SSE2 = 1,
29
+ EVOASM_X64_FEATURE_AVX = 2,
30
+ EVOASM_X64_FEATURE_SSE = 3,
31
+ EVOASM_X64_FEATURE_SSE3 = 4,
32
+ EVOASM_X64_FEATURE_AES = 5,
33
+ EVOASM_X64_FEATURE_BMI1 = 6,
34
+ EVOASM_X64_FEATURE_SSE4_1 = 7,
35
+ EVOASM_X64_FEATURE_BMI2 = 8,
36
+ EVOASM_X64_FEATURE_CLFLSH = 9,
37
+ EVOASM_X64_FEATURE_CLFLUSHOPT = 10,
38
+ EVOASM_X64_FEATURE_CMOV = 11,
39
+ EVOASM_X64_FEATURE_CX8 = 12,
40
+ EVOASM_X64_FEATURE_CX16 = 13,
41
+ EVOASM_X64_FEATURE_SSE4_2 = 14,
42
+ EVOASM_X64_FEATURE_LAHF_LM = 15,
43
+ EVOASM_X64_FEATURE_LZCNT = 16,
44
+ EVOASM_X64_FEATURE_MOVBE = 17,
45
+ EVOASM_X64_FEATURE_MMX = 18,
46
+ EVOASM_X64_FEATURE_AVX2 = 19,
47
+ EVOASM_X64_FEATURE_SSSE3 = 20,
48
+ EVOASM_X64_FEATURE_PCLMULQDQ = 21,
49
+ EVOASM_X64_FEATURE_POPCNT = 22,
50
+ EVOASM_X64_FEATURE_PRFCHW = 23,
51
+ EVOASM_X64_FEATURE_PREFETCHWT1 = 24,
52
+ EVOASM_X64_FEATURE_RDRAND = 25,
53
+ EVOASM_X64_FEATURE_RDSEED = 26,
54
+ EVOASM_X64_FEATURE_SHA = 27,
55
+ EVOASM_X64_FEATURE_F16C = 28,
56
+ EVOASM_X64_FEATURE_FMA = 29,
57
+ EVOASM_X64_FEATURE_RTM = 30,
58
+ EVOASM_X64_FEATURE_HLE_RTM = 31,
59
+ EVOASM_X64_FEATURE_NONE
60
+ } evoasm_x64_feature_t;
61
+ #define EVOASM_X64_FEATURE_BITSIZE 5
62
+ #define EVOASM_X64_FEATURE_BITSIZE 5
63
+ #define EVOASM_X64_FEATURE_BITSIZE_OPT 6
64
+ #define EVOASM_X64_FEATURE_BITMASK 0x1f
65
+ #define EVOASM_X64_FEATURE_BITMASK_OPT 0x3f
66
+
67
+
68
+ typedef enum evoasm_x64_inst_flags_t {
69
+ EVOASM_X64_INST_FLAG_GP = 1 << 0,
70
+ EVOASM_X64_INST_FLAG_RFLAGS = 1 << 1,
71
+ EVOASM_X64_INST_FLAG_XMM = 1 << 2,
72
+ EVOASM_X64_INST_FLAG_IP = 1 << 3,
73
+ EVOASM_X64_INST_FLAG_MEM = 1 << 4,
74
+ EVOASM_X64_INST_FLAG_MM = 1 << 5,
75
+ EVOASM_X64_INST_FLAG_SP = 1 << 6,
76
+ } evoasm_x64_inst_flags_t;
77
+ #define EVOASM_X64_INST_FLAGS_BITSIZE 7
78
+ #define EVOASM_X64_INST_FLAGS_ALL 127
79
+ #define EVOASM_X64_INST_FLAGS_NONE 0
80
+ #define EVOASM_X64_INST_FLAGS_BITMASK 0x7f
81
+
82
+
83
+ typedef enum evoasm_x64_exception_t {
84
+ EVOASM_X64_EXCEPTION_SSX = 0,
85
+ EVOASM_X64_EXCEPTION_GPX = 1,
86
+ EVOASM_X64_EXCEPTION_PF = 2,
87
+ EVOASM_X64_EXCEPTION_AC = 3,
88
+ EVOASM_X64_EXCEPTION_UD = 4,
89
+ EVOASM_X64_EXCEPTION_GPS = 5,
90
+ EVOASM_X64_EXCEPTION_PFS = 6,
91
+ EVOASM_X64_EXCEPTION_XFSS = 7,
92
+ EVOASM_X64_EXCEPTION_GP = 8,
93
+ EVOASM_X64_EXCEPTION_ACS = 9,
94
+ EVOASM_X64_EXCEPTION_XFS = 10,
95
+ EVOASM_X64_EXCEPTION_UDX = 11,
96
+ EVOASM_X64_EXCEPTION_SS = 12,
97
+ EVOASM_X64_EXCEPTION_TS = 13,
98
+ EVOASM_X64_EXCEPTION_NPX = 14,
99
+ EVOASM_X64_EXCEPTION_SSXXX = 15,
100
+ EVOASM_X64_EXCEPTION_PFXX = 16,
101
+ EVOASM_X64_EXCEPTION_DE = 17,
102
+ EVOASM_X64_EXCEPTION_SSXX = 18,
103
+ EVOASM_X64_EXCEPTION_NM = 19,
104
+ EVOASM_X64_EXCEPTION_NMS = 20,
105
+ EVOASM_X64_EXCEPTION_UDCPUID = 21,
106
+ EVOASM_X64_EXCEPTION_XF = 22,
107
+ EVOASM_X64_EXCEPTION_PFX = 23,
108
+ EVOASM_X64_EXCEPTION_NONE
109
+ } evoasm_x64_exception_t;
110
+ #define EVOASM_X64_EXCEPTION_BITSIZE 5
111
+ #define EVOASM_X64_EXCEPTION_BITSIZE 5
112
+ #define EVOASM_X64_EXCEPTION_BITSIZE_OPT 5
113
+ #define EVOASM_X64_EXCEPTION_BITMASK 0x1f
114
+ #define EVOASM_X64_EXCEPTION_BITMASK_OPT 0x1f
115
+
116
+
117
+ typedef enum evoasm_x64_reg_type_t {
118
+ EVOASM_X64_REG_TYPE_IP = 0,
119
+ EVOASM_X64_REG_TYPE_RFLAGS = 1,
120
+ EVOASM_X64_REG_TYPE_MXCSR = 2,
121
+ EVOASM_X64_REG_TYPE_GP = 3,
122
+ EVOASM_X64_REG_TYPE_MM = 4,
123
+ EVOASM_X64_REG_TYPE_XMM = 5,
124
+ EVOASM_X64_REG_TYPE_ZMM = 6,
125
+ EVOASM_X64_REG_TYPE_NONE
126
+ } evoasm_x64_reg_type_t;
127
+ #define EVOASM_X64_REG_TYPE_BITSIZE 3
128
+ #define EVOASM_X64_REG_TYPE_BITSIZE 3
129
+ #define EVOASM_X64_REG_TYPE_BITSIZE_OPT 3
130
+ #define EVOASM_X64_REG_TYPE_BITMASK 0x7
131
+ #define EVOASM_X64_REG_TYPE_BITMASK_OPT 0x7
132
+
133
+
134
+ typedef enum evoasm_x64_reg_id_t {
135
+ EVOASM_X64_REG_IP = 0,
136
+ EVOASM_X64_REG_RFLAGS = 1,
137
+ EVOASM_X64_REG_MXCSR = 2,
138
+ EVOASM_X64_REG_A = 3,
139
+ EVOASM_X64_REG_C = 4,
140
+ EVOASM_X64_REG_D = 5,
141
+ EVOASM_X64_REG_B = 6,
142
+ EVOASM_X64_REG_SP = 7,
143
+ EVOASM_X64_REG_BP = 8,
144
+ EVOASM_X64_REG_SI = 9,
145
+ EVOASM_X64_REG_DI = 10,
146
+ EVOASM_X64_REG_8 = 11,
147
+ EVOASM_X64_REG_9 = 12,
148
+ EVOASM_X64_REG_10 = 13,
149
+ EVOASM_X64_REG_11 = 14,
150
+ EVOASM_X64_REG_12 = 15,
151
+ EVOASM_X64_REG_13 = 16,
152
+ EVOASM_X64_REG_14 = 17,
153
+ EVOASM_X64_REG_15 = 18,
154
+ EVOASM_X64_REG_MM0 = 19,
155
+ EVOASM_X64_REG_MM1 = 20,
156
+ EVOASM_X64_REG_MM2 = 21,
157
+ EVOASM_X64_REG_MM3 = 22,
158
+ EVOASM_X64_REG_MM4 = 23,
159
+ EVOASM_X64_REG_MM5 = 24,
160
+ EVOASM_X64_REG_MM6 = 25,
161
+ EVOASM_X64_REG_MM7 = 26,
162
+ EVOASM_X64_REG_XMM0 = 27,
163
+ EVOASM_X64_REG_XMM1 = 28,
164
+ EVOASM_X64_REG_XMM2 = 29,
165
+ EVOASM_X64_REG_XMM3 = 30,
166
+ EVOASM_X64_REG_XMM4 = 31,
167
+ EVOASM_X64_REG_XMM5 = 32,
168
+ EVOASM_X64_REG_XMM6 = 33,
169
+ EVOASM_X64_REG_XMM7 = 34,
170
+ EVOASM_X64_REG_XMM8 = 35,
171
+ EVOASM_X64_REG_XMM9 = 36,
172
+ EVOASM_X64_REG_XMM10 = 37,
173
+ EVOASM_X64_REG_XMM11 = 38,
174
+ EVOASM_X64_REG_XMM12 = 39,
175
+ EVOASM_X64_REG_XMM13 = 40,
176
+ EVOASM_X64_REG_XMM14 = 41,
177
+ EVOASM_X64_REG_XMM15 = 42,
178
+ EVOASM_X64_REG_ZMM16 = 43,
179
+ EVOASM_X64_REG_ZMM17 = 44,
180
+ EVOASM_X64_REG_ZMM18 = 45,
181
+ EVOASM_X64_REG_ZMM19 = 46,
182
+ EVOASM_X64_REG_ZMM20 = 47,
183
+ EVOASM_X64_REG_ZMM21 = 48,
184
+ EVOASM_X64_REG_ZMM22 = 49,
185
+ EVOASM_X64_REG_ZMM23 = 50,
186
+ EVOASM_X64_REG_ZMM24 = 51,
187
+ EVOASM_X64_REG_ZMM25 = 52,
188
+ EVOASM_X64_REG_ZMM26 = 53,
189
+ EVOASM_X64_REG_ZMM27 = 54,
190
+ EVOASM_X64_REG_ZMM28 = 55,
191
+ EVOASM_X64_REG_ZMM29 = 56,
192
+ EVOASM_X64_REG_ZMM30 = 57,
193
+ EVOASM_X64_REG_ZMM31 = 58,
194
+ EVOASM_X64_REG_NONE
195
+ } evoasm_x64_reg_id_t;
196
+ #define EVOASM_X64_REG_BITSIZE 6
197
+ #define EVOASM_X64_REG_BITSIZE 6
198
+ #define EVOASM_X64_REG_BITSIZE_OPT 6
199
+ #define EVOASM_X64_REG_BITMASK 0x3f
200
+ #define EVOASM_X64_REG_BITMASK_OPT 0x3f
201
+
202
+
203
+ typedef enum evoasm_x64_scale_t {
204
+ EVOASM_X64_SCALE_1 = 0,
205
+ EVOASM_X64_SCALE_2 = 1,
206
+ EVOASM_X64_SCALE_4 = 2,
207
+ EVOASM_X64_SCALE_8 = 3,
208
+ EVOASM_X64_SCALE_NONE
209
+ } evoasm_x64_scale_t;
210
+ #define EVOASM_X64_SCALE_BITSIZE 2
211
+ #define EVOASM_X64_SCALE_BITSIZE 2
212
+ #define EVOASM_X64_SCALE_BITSIZE_OPT 3
213
+ #define EVOASM_X64_SCALE_BITMASK 0x3
214
+ #define EVOASM_X64_SCALE_BITMASK_OPT 0x7
215
+
216
+
217
+ typedef enum evoasm_x64_addr_size_t {
218
+ EVOASM_X64_ADDR_SIZE_64 = 0,
219
+ EVOASM_X64_ADDR_SIZE_32 = 1,
220
+ EVOASM_X64_ADDR_SIZE_NONE
221
+ } evoasm_x64_addr_size_t;
222
+ #define EVOASM_X64_ADDR_SIZE_BITSIZE 1
223
+ #define EVOASM_X64_ADDR_SIZE_BITSIZE 1
224
+ #define EVOASM_X64_ADDR_SIZE_BITSIZE_OPT 2
225
+ #define EVOASM_X64_ADDR_SIZE_BITMASK 0x1
226
+ #define EVOASM_X64_ADDR_SIZE_BITMASK_OPT 0x3
227
+
228
+
229
+ typedef enum evoasm_x64_param_id_t {
230
+ EVOASM_X64_PARAM_REG0 = 0,
231
+ EVOASM_X64_PARAM_REG1 = 1,
232
+ EVOASM_X64_PARAM_REG2 = 2,
233
+ EVOASM_X64_PARAM_REG3 = 3,
234
+ EVOASM_X64_PARAM_IMM0 = 4,
235
+ EVOASM_X64_PARAM_FORCE_REX = 5,
236
+ EVOASM_X64_PARAM_REX_R = 6,
237
+ EVOASM_X64_PARAM_REX_X = 7,
238
+ EVOASM_X64_PARAM_REX_B = 8,
239
+ EVOASM_X64_PARAM_LEGACY_PREFIX_ORDER = 9,
240
+ EVOASM_X64_PARAM_LOCK = 10,
241
+ EVOASM_X64_PARAM_ADDR_SIZE = 11,
242
+ EVOASM_X64_PARAM_REG_BASE = 12,
243
+ EVOASM_X64_PARAM_REG_INDEX = 13,
244
+ EVOASM_X64_PARAM_REX_W = 14,
245
+ EVOASM_X64_PARAM_DISP = 15,
246
+ EVOASM_X64_PARAM_SCALE = 16,
247
+ EVOASM_X64_PARAM_FORCE_SIB = 17,
248
+ EVOASM_X64_PARAM_FORCE_DISP32 = 18,
249
+ EVOASM_X64_PARAM_REG0_HIGH_BYTE = 19,
250
+ EVOASM_X64_PARAM_REG1_HIGH_BYTE = 20,
251
+ EVOASM_X64_PARAM_FORCE_LONG_VEX = 21,
252
+ EVOASM_X64_PARAM_REL = 22,
253
+ EVOASM_X64_PARAM_IMM1 = 23,
254
+ EVOASM_X64_PARAM_MOFFS = 24,
255
+ EVOASM_X64_PARAM_VEX_L = 25,
256
+ EVOASM_X64_PARAM_MODRM_REG = 26,
257
+ EVOASM_X64_PARAM_VEX_V = 27,
258
+ EVOASM_X64_PARAM_NONE
259
+ } evoasm_x64_param_id_t;
260
+ #define EVOASM_X64_PARAM_BITSIZE 5
261
+ #define EVOASM_X64_PARAM_BITSIZE 5
262
+ #define EVOASM_X64_PARAM_BITSIZE_OPT 5
263
+ #define EVOASM_X64_PARAM_BITMASK 0x1f
264
+ #define EVOASM_X64_PARAM_BITMASK_OPT 0x1f
265
+
266
+ typedef enum evoasm_x64_basic_param_id_t {
267
+ EVOASM_X64_BASIC_PARAM_REG0 = 0,
268
+ EVOASM_X64_BASIC_PARAM_REG1 = 1,
269
+ EVOASM_X64_BASIC_PARAM_REG2 = 2,
270
+ EVOASM_X64_BASIC_PARAM_REG3 = 3,
271
+ EVOASM_X64_BASIC_PARAM_IMM0 = 4,
272
+ EVOASM_X64_BASIC_PARAM_REG0_HIGH_BYTE = 5,
273
+ EVOASM_X64_BASIC_PARAM_REG1_HIGH_BYTE = 6,
274
+ EVOASM_X64_BASIC_PARAM_REL = 7,
275
+ EVOASM_X64_BASIC_PARAM_NONE
276
+ } evoasm_x64_basic_param_id_t;
277
+ #define EVOASM_X64_BASIC_PARAM_BITSIZE 3
278
+ #define EVOASM_X64_BASIC_PARAM_BITSIZE 3
279
+ #define EVOASM_X64_BASIC_PARAM_BITSIZE_OPT 4
280
+ #define EVOASM_X64_BASIC_PARAM_BITMASK 0x7
281
+ #define EVOASM_X64_BASIC_PARAM_BITMASK_OPT 0xf
282
+
283
+
284
+ typedef enum evoasm_x64_operand_type_t {
285
+ EVOASM_X64_OPERAND_TYPE_REG = 0,
286
+ EVOASM_X64_OPERAND_TYPE_RM = 1,
287
+ EVOASM_X64_OPERAND_TYPE_VSIB = 2,
288
+ EVOASM_X64_OPERAND_TYPE_MEM = 3,
289
+ EVOASM_X64_OPERAND_TYPE_IMM = 4,
290
+ EVOASM_X64_OPERAND_TYPE_NONE
291
+ } evoasm_x64_operand_type_t;
292
+ #define EVOASM_X64_OPERAND_TYPE_BITSIZE 3
293
+ #define EVOASM_X64_OPERAND_TYPE_BITSIZE 3
294
+ #define EVOASM_X64_OPERAND_TYPE_BITSIZE_OPT 3
295
+ #define EVOASM_X64_OPERAND_TYPE_BITMASK 0x7
296
+ #define EVOASM_X64_OPERAND_TYPE_BITMASK_OPT 0x7
297
+
298
+
299
+ typedef enum evoasm_x64_word_size_t {
300
+ EVOASM_X64_WORD_SIZE_LB = 1 << 0,
301
+ EVOASM_X64_WORD_SIZE_HB = 1 << 1,
302
+ EVOASM_X64_WORD_SIZE_B = 1 << 2,
303
+ EVOASM_X64_WORD_SIZE_LW = 1 << 3,
304
+ EVOASM_X64_WORD_SIZE_LDW = 1 << 4,
305
+ EVOASM_X64_WORD_SIZE_QW = 1 << 5,
306
+ EVOASM_X64_WORD_SIZE_LWQ = 1 << 6,
307
+ EVOASM_X64_WORD_SIZE_HQW = 1 << 7,
308
+ EVOASM_X64_WORD_SIZE_DQW = 1 << 8,
309
+ EVOASM_X64_WORD_SIZE_VW = 1 << 9,
310
+ EVOASM_X64_WORD_SIZE_OF = 1 << 10,
311
+ EVOASM_X64_WORD_SIZE_SF = 1 << 11,
312
+ EVOASM_X64_WORD_SIZE_ZF = 1 << 12,
313
+ EVOASM_X64_WORD_SIZE_PF = 1 << 13,
314
+ EVOASM_X64_WORD_SIZE_CF = 1 << 14,
315
+ } evoasm_x64_word_size_t;
316
+ #define EVOASM_X64_WORD_SIZE_BITSIZE 15
317
+ #define EVOASM_X64_WORD_SIZE_ALL 32767
318
+ #define EVOASM_X64_WORD_SIZE_NONE 0
319
+ #define EVOASM_X64_WORD_SIZE_BITMASK 0x7fff
320
+
321
+
322
+ #define EVOASM_X64_WORD_SIZE_0_15 (EVOASM_X64_WORD_SIZE_0_7 | EVOASM_X64_WORD_SIZE_8_15)
323
+ #define EVOASM_X64_WORD_SIZE_0_31 (EVOASM_X64_WORD_SIZE_0_15 | EVOASM_X64_WORD_SIZE_16_31)
324
+ #define EVOASM_X64_WORD_SIZE_0_63 (EVOASM_X64_WORD_SIZE_0_31 | EVOASM_X64_WORD_SIZE_32_63)
325
+ #define EVOASM_X64_WORD_SIZE_0_127 (EVOASM_X64_WORD_SIZE_0_63 | EVOASM_X64_WORD_SIZE_64_127)
326
+
327
+ #define EVOASM_X64_RFLAGS_FLAGS_GET(flags, flag) ((flags) & (1 << (flag)))
328
+ #define EVOASM_X64_RFLAGS_FLAGS_SET(flags, flag) ((flags) = (flags) | (1 << (flag)))
329
+
330
+ #define EVOASM_X64_RFLAGS_FLAGS_BITSIZE 5
331
+ #define EVOASM_X64_OPERAND_MAX_FLAGS_BITSIZE 5
332
+
333
+ typedef enum evoasm_x64_inst_id_t {
334
+ EVOASM_X64_INST_ADC_AL_IMM8 = 0,
335
+ EVOASM_X64_INST_ADC_AX_IMM16 = 1,
336
+ EVOASM_X64_INST_ADC_EAX_IMM32 = 2,
337
+ EVOASM_X64_INST_ADC_RAX_IMM32 = 3,
338
+ EVOASM_X64_INST_ADC_RM8_IMM8 = 4,
339
+ EVOASM_X64_INST_ADC_RM16_IMM16 = 5,
340
+ EVOASM_X64_INST_ADC_RM32_IMM32 = 6,
341
+ EVOASM_X64_INST_ADC_RM64_IMM32 = 7,
342
+ EVOASM_X64_INST_ADC_RM16_IMM8 = 8,
343
+ EVOASM_X64_INST_ADC_RM32_IMM8 = 9,
344
+ EVOASM_X64_INST_ADC_RM64_IMM8 = 10,
345
+ EVOASM_X64_INST_ADC_RM8_R8 = 11,
346
+ EVOASM_X64_INST_ADC_RM16_R16 = 12,
347
+ EVOASM_X64_INST_ADC_RM32_R32 = 13,
348
+ EVOASM_X64_INST_ADC_RM64_R64 = 14,
349
+ EVOASM_X64_INST_ADC_R8_RM8 = 15,
350
+ EVOASM_X64_INST_ADC_R16_RM16 = 16,
351
+ EVOASM_X64_INST_ADC_R32_RM32 = 17,
352
+ EVOASM_X64_INST_ADC_R64_RM64 = 18,
353
+ EVOASM_X64_INST_ADCX_R32_RM32 = 19,
354
+ EVOASM_X64_INST_ADCX_R64_RM64 = 20,
355
+ EVOASM_X64_INST_ADD_AL_IMM8 = 21,
356
+ EVOASM_X64_INST_ADD_AX_IMM16 = 22,
357
+ EVOASM_X64_INST_ADD_EAX_IMM32 = 23,
358
+ EVOASM_X64_INST_ADD_RAX_IMM32 = 24,
359
+ EVOASM_X64_INST_ADD_RM8_IMM8 = 25,
360
+ EVOASM_X64_INST_ADD_RM16_IMM16 = 26,
361
+ EVOASM_X64_INST_ADD_RM32_IMM32 = 27,
362
+ EVOASM_X64_INST_ADD_RM64_IMM32 = 28,
363
+ EVOASM_X64_INST_ADD_RM16_IMM8 = 29,
364
+ EVOASM_X64_INST_ADD_RM32_IMM8 = 30,
365
+ EVOASM_X64_INST_ADD_RM64_IMM8 = 31,
366
+ EVOASM_X64_INST_ADD_RM8_R8 = 32,
367
+ EVOASM_X64_INST_ADD_RM16_R16 = 33,
368
+ EVOASM_X64_INST_ADD_RM32_R32 = 34,
369
+ EVOASM_X64_INST_ADD_RM64_R64 = 35,
370
+ EVOASM_X64_INST_ADD_R8_RM8 = 36,
371
+ EVOASM_X64_INST_ADD_R16_RM16 = 37,
372
+ EVOASM_X64_INST_ADD_R32_RM32 = 38,
373
+ EVOASM_X64_INST_ADD_R64_RM64 = 39,
374
+ EVOASM_X64_INST_ADDPD_XMM_XMMM128 = 40,
375
+ EVOASM_X64_INST_VADDPD_XMM_XMM_XMMM128 = 41,
376
+ EVOASM_X64_INST_VADDPD_YMM_YMM_YMMM256 = 42,
377
+ EVOASM_X64_INST_ADDPS_XMM_XMMM128 = 43,
378
+ EVOASM_X64_INST_VADDPS_XMM_XMM_XMMM128 = 44,
379
+ EVOASM_X64_INST_VADDPS_YMM_YMM_YMMM256 = 45,
380
+ EVOASM_X64_INST_ADDSD_XMM_XMMM64 = 46,
381
+ EVOASM_X64_INST_VADDSD_XMM_XMM_XMMM64 = 47,
382
+ EVOASM_X64_INST_ADDSS_XMM_XMMM32 = 48,
383
+ EVOASM_X64_INST_VADDSS_XMM_XMM_XMMM32 = 49,
384
+ EVOASM_X64_INST_ADDSUBPD_XMM_XMMM128 = 50,
385
+ EVOASM_X64_INST_VADDSUBPD_XMM_XMM_XMMM128 = 51,
386
+ EVOASM_X64_INST_VADDSUBPD_YMM_YMM_YMMM256 = 52,
387
+ EVOASM_X64_INST_ADDSUBPS_XMM_XMMM128 = 53,
388
+ EVOASM_X64_INST_VADDSUBPS_XMM_XMM_XMMM128 = 54,
389
+ EVOASM_X64_INST_VADDSUBPS_YMM_YMM_YMMM256 = 55,
390
+ EVOASM_X64_INST_ADOX_R32_RM32 = 56,
391
+ EVOASM_X64_INST_ADOX_R64_RM64 = 57,
392
+ EVOASM_X64_INST_AESDEC_XMM_XMMM128 = 58,
393
+ EVOASM_X64_INST_VAESDEC_XMM_XMM_XMMM128 = 59,
394
+ EVOASM_X64_INST_AESDECLAST_XMM_XMMM128 = 60,
395
+ EVOASM_X64_INST_VAESDECLAST_XMM_XMM_XMMM128 = 61,
396
+ EVOASM_X64_INST_AESENC_XMM_XMMM128 = 62,
397
+ EVOASM_X64_INST_VAESENC_XMM_XMM_XMMM128 = 63,
398
+ EVOASM_X64_INST_AESENCLAST_XMM_XMMM128 = 64,
399
+ EVOASM_X64_INST_VAESENCLAST_XMM_XMM_XMMM128 = 65,
400
+ EVOASM_X64_INST_AESIMC_XMM_XMMM128 = 66,
401
+ EVOASM_X64_INST_VAESIMC_XMM_XMMM128 = 67,
402
+ EVOASM_X64_INST_AESKEYGENASSIST_XMM_XMMM128_IMM8 = 68,
403
+ EVOASM_X64_INST_VAESKEYGENASSIST_XMM_XMMM128_IMM8 = 69,
404
+ EVOASM_X64_INST_AND_AL_IMM8 = 70,
405
+ EVOASM_X64_INST_AND_AX_IMM16 = 71,
406
+ EVOASM_X64_INST_AND_EAX_IMM32 = 72,
407
+ EVOASM_X64_INST_AND_RAX_IMM32 = 73,
408
+ EVOASM_X64_INST_AND_RM8_IMM8 = 74,
409
+ EVOASM_X64_INST_AND_RM16_IMM16 = 75,
410
+ EVOASM_X64_INST_AND_RM32_IMM32 = 76,
411
+ EVOASM_X64_INST_AND_RM64_IMM32 = 77,
412
+ EVOASM_X64_INST_AND_RM16_IMM8 = 78,
413
+ EVOASM_X64_INST_AND_RM32_IMM8 = 79,
414
+ EVOASM_X64_INST_AND_RM64_IMM8 = 80,
415
+ EVOASM_X64_INST_AND_RM8_R8 = 81,
416
+ EVOASM_X64_INST_AND_RM16_R16 = 82,
417
+ EVOASM_X64_INST_AND_RM32_R32 = 83,
418
+ EVOASM_X64_INST_AND_RM64_R64 = 84,
419
+ EVOASM_X64_INST_AND_R8_RM8 = 85,
420
+ EVOASM_X64_INST_AND_R16_RM16 = 86,
421
+ EVOASM_X64_INST_AND_R32_RM32 = 87,
422
+ EVOASM_X64_INST_AND_R64_RM64 = 88,
423
+ EVOASM_X64_INST_ANDN_R32_R32_RM32 = 89,
424
+ EVOASM_X64_INST_ANDN_R64_R64_RM64 = 90,
425
+ EVOASM_X64_INST_ANDPD_XMM_XMMM128 = 91,
426
+ EVOASM_X64_INST_VANDPD_XMM_XMM_XMMM128 = 92,
427
+ EVOASM_X64_INST_VANDPD_YMM_YMM_YMMM256 = 93,
428
+ EVOASM_X64_INST_ANDPS_XMM_XMMM128 = 94,
429
+ EVOASM_X64_INST_VANDPS_XMM_XMM_XMMM128 = 95,
430
+ EVOASM_X64_INST_VANDPS_YMM_YMM_YMMM256 = 96,
431
+ EVOASM_X64_INST_ANDNPD_XMM_XMMM128 = 97,
432
+ EVOASM_X64_INST_VANDNPD_XMM_XMM_XMMM128 = 98,
433
+ EVOASM_X64_INST_VANDNPD_YMM_YMM_YMMM256 = 99,
434
+ EVOASM_X64_INST_ANDNPS_XMM_XMMM128 = 100,
435
+ EVOASM_X64_INST_VANDNPS_XMM_XMM_XMMM128 = 101,
436
+ EVOASM_X64_INST_VANDNPS_YMM_YMM_YMMM256 = 102,
437
+ EVOASM_X64_INST_BLENDPD_XMM_XMMM128_IMM8 = 103,
438
+ EVOASM_X64_INST_VBLENDPD_XMM_XMM_XMMM128_IMM8 = 104,
439
+ EVOASM_X64_INST_VBLENDPD_YMM_YMM_YMMM256_IMM8 = 105,
440
+ EVOASM_X64_INST_BEXTR_R32_RM32_R32 = 106,
441
+ EVOASM_X64_INST_BEXTR_R64_RM64_R64 = 107,
442
+ EVOASM_X64_INST_BLENDPS_XMM_XMMM128_IMM8 = 108,
443
+ EVOASM_X64_INST_VBLENDPS_XMM_XMM_XMMM128_IMM8 = 109,
444
+ EVOASM_X64_INST_VBLENDPS_YMM_YMM_YMMM256_IMM8 = 110,
445
+ EVOASM_X64_INST_BLENDVPD_XMM_XMMM128_XMM0 = 111,
446
+ EVOASM_X64_INST_VBLENDVPD_XMM_XMM_XMMM128_XMM = 112,
447
+ EVOASM_X64_INST_VBLENDVPD_YMM_YMM_YMMM256_YMM = 113,
448
+ EVOASM_X64_INST_BLENDVPS_XMM_XMMM128_XMM0 = 114,
449
+ EVOASM_X64_INST_VBLENDVPS_XMM_XMM_XMMM128_XMM = 115,
450
+ EVOASM_X64_INST_VBLENDVPS_YMM_YMM_YMMM256_YMM = 116,
451
+ EVOASM_X64_INST_BLSI_R32_RM32 = 117,
452
+ EVOASM_X64_INST_BLSI_R64_RM64 = 118,
453
+ EVOASM_X64_INST_BLSMSK_R32_RM32 = 119,
454
+ EVOASM_X64_INST_BLSMSK_R64_RM64 = 120,
455
+ EVOASM_X64_INST_BLSR_R32_RM32 = 121,
456
+ EVOASM_X64_INST_BLSR_R64_RM64 = 122,
457
+ EVOASM_X64_INST_BSF_R16_RM16 = 123,
458
+ EVOASM_X64_INST_BSF_R32_RM32 = 124,
459
+ EVOASM_X64_INST_BSF_R64_RM64 = 125,
460
+ EVOASM_X64_INST_BSR_R16_RM16 = 126,
461
+ EVOASM_X64_INST_BSR_R32_RM32 = 127,
462
+ EVOASM_X64_INST_BSR_R64_RM64 = 128,
463
+ EVOASM_X64_INST_BSWAP_R32 = 129,
464
+ EVOASM_X64_INST_BSWAP_R64 = 130,
465
+ EVOASM_X64_INST_BT_RM16_R16 = 131,
466
+ EVOASM_X64_INST_BT_RM32_R32 = 132,
467
+ EVOASM_X64_INST_BT_RM64_R64 = 133,
468
+ EVOASM_X64_INST_BT_RM16_IMM8 = 134,
469
+ EVOASM_X64_INST_BT_RM32_IMM8 = 135,
470
+ EVOASM_X64_INST_BT_RM64_IMM8 = 136,
471
+ EVOASM_X64_INST_BTC_RM16_R16 = 137,
472
+ EVOASM_X64_INST_BTC_RM32_R32 = 138,
473
+ EVOASM_X64_INST_BTC_RM64_R64 = 139,
474
+ EVOASM_X64_INST_BTC_RM16_IMM8 = 140,
475
+ EVOASM_X64_INST_BTC_RM32_IMM8 = 141,
476
+ EVOASM_X64_INST_BTC_RM64_IMM8 = 142,
477
+ EVOASM_X64_INST_BTR_RM16_R16 = 143,
478
+ EVOASM_X64_INST_BTR_RM32_R32 = 144,
479
+ EVOASM_X64_INST_BTR_RM64_R64 = 145,
480
+ EVOASM_X64_INST_BTR_RM16_IMM8 = 146,
481
+ EVOASM_X64_INST_BTR_RM32_IMM8 = 147,
482
+ EVOASM_X64_INST_BTR_RM64_IMM8 = 148,
483
+ EVOASM_X64_INST_BTS_RM16_R16 = 149,
484
+ EVOASM_X64_INST_BTS_RM32_R32 = 150,
485
+ EVOASM_X64_INST_BTS_RM64_R64 = 151,
486
+ EVOASM_X64_INST_BTS_RM16_IMM8 = 152,
487
+ EVOASM_X64_INST_BTS_RM32_IMM8 = 153,
488
+ EVOASM_X64_INST_BTS_RM64_IMM8 = 154,
489
+ EVOASM_X64_INST_BZHI_R32_RM32_R32 = 155,
490
+ EVOASM_X64_INST_BZHI_R64_RM64_R64 = 156,
491
+ EVOASM_X64_INST_CALL_REL32 = 157,
492
+ EVOASM_X64_INST_CALL_RM64 = 158,
493
+ EVOASM_X64_INST_CBW = 159,
494
+ EVOASM_X64_INST_CWDE = 160,
495
+ EVOASM_X64_INST_CDQE = 161,
496
+ EVOASM_X64_INST_CLC = 162,
497
+ EVOASM_X64_INST_CLD = 163,
498
+ EVOASM_X64_INST_CLFLUSH_M8 = 164,
499
+ EVOASM_X64_INST_CLFLUSHOPT_M8 = 165,
500
+ EVOASM_X64_INST_CMC = 166,
501
+ EVOASM_X64_INST_CMOVA_R16_RM16 = 167,
502
+ EVOASM_X64_INST_CMOVA_R32_RM32 = 168,
503
+ EVOASM_X64_INST_CMOVA_R64_RM64 = 169,
504
+ EVOASM_X64_INST_CMOVAE_R16_RM16 = 170,
505
+ EVOASM_X64_INST_CMOVAE_R32_RM32 = 171,
506
+ EVOASM_X64_INST_CMOVAE_R64_RM64 = 172,
507
+ EVOASM_X64_INST_CMOVC_R16_RM16 = 173,
508
+ EVOASM_X64_INST_CMOVC_R32_RM32 = 174,
509
+ EVOASM_X64_INST_CMOVC_R64_RM64 = 175,
510
+ EVOASM_X64_INST_CMOVBE_R16_RM16 = 176,
511
+ EVOASM_X64_INST_CMOVBE_R32_RM32 = 177,
512
+ EVOASM_X64_INST_CMOVBE_R64_RM64 = 178,
513
+ EVOASM_X64_INST_CMOVE_R16_RM16 = 179,
514
+ EVOASM_X64_INST_CMOVE_R32_RM32 = 180,
515
+ EVOASM_X64_INST_CMOVE_R64_RM64 = 181,
516
+ EVOASM_X64_INST_CMOVG_R16_RM16 = 182,
517
+ EVOASM_X64_INST_CMOVG_R32_RM32 = 183,
518
+ EVOASM_X64_INST_CMOVG_R64_RM64 = 184,
519
+ EVOASM_X64_INST_CMOVGE_R16_RM16 = 185,
520
+ EVOASM_X64_INST_CMOVGE_R32_RM32 = 186,
521
+ EVOASM_X64_INST_CMOVGE_R64_RM64 = 187,
522
+ EVOASM_X64_INST_CMOVL_R16_RM16 = 188,
523
+ EVOASM_X64_INST_CMOVL_R32_RM32 = 189,
524
+ EVOASM_X64_INST_CMOVL_R64_RM64 = 190,
525
+ EVOASM_X64_INST_CMOVLE_R16_RM16 = 191,
526
+ EVOASM_X64_INST_CMOVLE_R32_RM32 = 192,
527
+ EVOASM_X64_INST_CMOVLE_R64_RM64 = 193,
528
+ EVOASM_X64_INST_CMOVNE_R16_RM16 = 194,
529
+ EVOASM_X64_INST_CMOVNE_R32_RM32 = 195,
530
+ EVOASM_X64_INST_CMOVNE_R64_RM64 = 196,
531
+ EVOASM_X64_INST_CMOVNO_R16_RM16 = 197,
532
+ EVOASM_X64_INST_CMOVNO_R32_RM32 = 198,
533
+ EVOASM_X64_INST_CMOVNO_R64_RM64 = 199,
534
+ EVOASM_X64_INST_CMOVNP_R16_RM16 = 200,
535
+ EVOASM_X64_INST_CMOVNP_R32_RM32 = 201,
536
+ EVOASM_X64_INST_CMOVNP_R64_RM64 = 202,
537
+ EVOASM_X64_INST_CMOVNS_R16_RM16 = 203,
538
+ EVOASM_X64_INST_CMOVNS_R32_RM32 = 204,
539
+ EVOASM_X64_INST_CMOVNS_R64_RM64 = 205,
540
+ EVOASM_X64_INST_CMOVO_R16_RM16 = 206,
541
+ EVOASM_X64_INST_CMOVO_R32_RM32 = 207,
542
+ EVOASM_X64_INST_CMOVO_R64_RM64 = 208,
543
+ EVOASM_X64_INST_CMOVP_R16_RM16 = 209,
544
+ EVOASM_X64_INST_CMOVP_R32_RM32 = 210,
545
+ EVOASM_X64_INST_CMOVP_R64_RM64 = 211,
546
+ EVOASM_X64_INST_CMOVS_R16_RM16 = 212,
547
+ EVOASM_X64_INST_CMOVS_R32_RM32 = 213,
548
+ EVOASM_X64_INST_CMOVS_R64_RM64 = 214,
549
+ EVOASM_X64_INST_CMP_AL_IMM8 = 215,
550
+ EVOASM_X64_INST_CMP_AX_IMM16 = 216,
551
+ EVOASM_X64_INST_CMP_EAX_IMM32 = 217,
552
+ EVOASM_X64_INST_CMP_RAX_IMM32 = 218,
553
+ EVOASM_X64_INST_CMP_RM8_IMM8 = 219,
554
+ EVOASM_X64_INST_CMP_RM16_IMM16 = 220,
555
+ EVOASM_X64_INST_CMP_RM32_IMM32 = 221,
556
+ EVOASM_X64_INST_CMP_RM64_IMM32 = 222,
557
+ EVOASM_X64_INST_CMP_RM16_IMM8 = 223,
558
+ EVOASM_X64_INST_CMP_RM32_IMM8 = 224,
559
+ EVOASM_X64_INST_CMP_RM64_IMM8 = 225,
560
+ EVOASM_X64_INST_CMP_RM8_R8 = 226,
561
+ EVOASM_X64_INST_CMP_RM16_R16 = 227,
562
+ EVOASM_X64_INST_CMP_RM32_R32 = 228,
563
+ EVOASM_X64_INST_CMP_RM64_R64 = 229,
564
+ EVOASM_X64_INST_CMP_R8_RM8 = 230,
565
+ EVOASM_X64_INST_CMP_R16_RM16 = 231,
566
+ EVOASM_X64_INST_CMP_R32_RM32 = 232,
567
+ EVOASM_X64_INST_CMP_R64_RM64 = 233,
568
+ EVOASM_X64_INST_CMPPD_XMM_XMMM128_IMM8 = 234,
569
+ EVOASM_X64_INST_VCMPPD_XMM_XMM_XMMM128_IMM8 = 235,
570
+ EVOASM_X64_INST_VCMPPD_YMM_YMM_YMMM256_IMM8 = 236,
571
+ EVOASM_X64_INST_CMPPS_XMM_XMMM128_IMM8 = 237,
572
+ EVOASM_X64_INST_VCMPPS_XMM_XMM_XMMM128_IMM8 = 238,
573
+ EVOASM_X64_INST_VCMPPS_YMM_YMM_YMMM256_IMM8 = 239,
574
+ EVOASM_X64_INST_CMPSB = 240,
575
+ EVOASM_X64_INST_CMPSW = 241,
576
+ EVOASM_X64_INST_CMPSD = 242,
577
+ EVOASM_X64_INST_CMPSQ = 243,
578
+ EVOASM_X64_INST_CMPSD_XMM_XMMM64_IMM8 = 244,
579
+ EVOASM_X64_INST_VCMPSD_XMM_XMM_XMMM64_IMM8 = 245,
580
+ EVOASM_X64_INST_CMPSS_XMM_XMMM32_IMM8 = 246,
581
+ EVOASM_X64_INST_VCMPSS_XMM_XMM_XMMM32_IMM8 = 247,
582
+ EVOASM_X64_INST_CMPXCHG_RM8_R8 = 248,
583
+ EVOASM_X64_INST_CMPXCHG_RM16_R16 = 249,
584
+ EVOASM_X64_INST_CMPXCHG_RM32_R32 = 250,
585
+ EVOASM_X64_INST_CMPXCHG_RM64_R64 = 251,
586
+ EVOASM_X64_INST_CMPXCHG8B_M64 = 252,
587
+ EVOASM_X64_INST_CMPXCHG16B_M128 = 253,
588
+ EVOASM_X64_INST_COMISD_XMM_XMMM64 = 254,
589
+ EVOASM_X64_INST_VCOMISD_XMM_XMMM64 = 255,
590
+ EVOASM_X64_INST_COMISS_XMM_XMMM32 = 256,
591
+ EVOASM_X64_INST_VCOMISS_XMM_XMMM32 = 257,
592
+ EVOASM_X64_INST_CPUID = 258,
593
+ EVOASM_X64_INST_CRC32_R32_RM8 = 259,
594
+ EVOASM_X64_INST_CRC32_R32_RM16 = 260,
595
+ EVOASM_X64_INST_CRC32_R32_RM32 = 261,
596
+ EVOASM_X64_INST_CRC32_R64_RM8 = 262,
597
+ EVOASM_X64_INST_CRC32_R64_RM64 = 263,
598
+ EVOASM_X64_INST_CVTDQ2PD_XMM_XMMM64 = 264,
599
+ EVOASM_X64_INST_VCVTDQ2PD_XMM_XMMM64 = 265,
600
+ EVOASM_X64_INST_VCVTDQ2PD_YMM_XMMM128 = 266,
601
+ EVOASM_X64_INST_CVTDQ2PS_XMM_XMMM128 = 267,
602
+ EVOASM_X64_INST_VCVTDQ2PS_XMM_XMMM128 = 268,
603
+ EVOASM_X64_INST_VCVTDQ2PS_YMM_YMMM256 = 269,
604
+ EVOASM_X64_INST_CVTPD2DQ_XMM_XMMM128 = 270,
605
+ EVOASM_X64_INST_VCVTPD2DQ_XMM_XMMM128 = 271,
606
+ EVOASM_X64_INST_VCVTPD2DQ_XMM_YMMM256 = 272,
607
+ EVOASM_X64_INST_CVTPD2PI_MM_XMMM128 = 273,
608
+ EVOASM_X64_INST_CVTPD2PS_XMM_XMMM128 = 274,
609
+ EVOASM_X64_INST_VCVTPD2PS_XMM_XMMM128 = 275,
610
+ EVOASM_X64_INST_VCVTPD2PS_XMM_YMMM256 = 276,
611
+ EVOASM_X64_INST_CVTPI2PD_XMM_MMM64 = 277,
612
+ EVOASM_X64_INST_CVTPI2PS_XMM_MMM64 = 278,
613
+ EVOASM_X64_INST_CVTPS2DQ_XMM_XMMM128 = 279,
614
+ EVOASM_X64_INST_VCVTPS2DQ_XMM_XMMM128 = 280,
615
+ EVOASM_X64_INST_VCVTPS2DQ_YMM_YMMM256 = 281,
616
+ EVOASM_X64_INST_CVTPS2PD_XMM_XMMM64 = 282,
617
+ EVOASM_X64_INST_VCVTPS2PD_XMM_XMMM64 = 283,
618
+ EVOASM_X64_INST_VCVTPS2PD_YMM_XMMM128 = 284,
619
+ EVOASM_X64_INST_CVTPS2PI_MM_XMMM64 = 285,
620
+ EVOASM_X64_INST_CVTSD2SI_R32_XMMM64 = 286,
621
+ EVOASM_X64_INST_CVTSD2SI_R64_XMMM64 = 287,
622
+ EVOASM_X64_INST_VCVTSD2SI_R32_XMMM64 = 288,
623
+ EVOASM_X64_INST_VCVTSD2SI_R64_XMMM64 = 289,
624
+ EVOASM_X64_INST_CVTSD2SS_XMM_XMMM64 = 290,
625
+ EVOASM_X64_INST_VCVTSD2SS_XMM_XMM_XMMM64 = 291,
626
+ EVOASM_X64_INST_CVTSI2SD_XMM_RM32 = 292,
627
+ EVOASM_X64_INST_CVTSI2SD_XMM_RM64 = 293,
628
+ EVOASM_X64_INST_VCVTSI2SD_XMM_XMM_RM32 = 294,
629
+ EVOASM_X64_INST_VCVTSI2SD_XMM_XMM_RM64 = 295,
630
+ EVOASM_X64_INST_CVTSI2SS_XMM_RM32 = 296,
631
+ EVOASM_X64_INST_CVTSI2SS_XMM_RM64 = 297,
632
+ EVOASM_X64_INST_VCVTSI2SS_XMM_XMM_RM32 = 298,
633
+ EVOASM_X64_INST_VCVTSI2SS_XMM_XMM_RM64 = 299,
634
+ EVOASM_X64_INST_CVTSS2SD_XMM_XMMM32 = 300,
635
+ EVOASM_X64_INST_VCVTSS2SD_XMM_XMM_XMMM32 = 301,
636
+ EVOASM_X64_INST_CVTSS2SI_R32_XMMM32 = 302,
637
+ EVOASM_X64_INST_CVTSS2SI_R64_XMMM32 = 303,
638
+ EVOASM_X64_INST_VCVTSS2SI_R32_XMMM32 = 304,
639
+ EVOASM_X64_INST_VCVTSS2SI_R64_XMMM32 = 305,
640
+ EVOASM_X64_INST_CVTTPD2DQ_XMM_XMMM128 = 306,
641
+ EVOASM_X64_INST_VCVTTPD2DQ_XMM_XMMM128 = 307,
642
+ EVOASM_X64_INST_VCVTTPD2DQ_XMM_YMMM256 = 308,
643
+ EVOASM_X64_INST_CVTTPD2PI_MM_XMMM128 = 309,
644
+ EVOASM_X64_INST_CVTTPS2DQ_XMM_XMMM128 = 310,
645
+ EVOASM_X64_INST_VCVTTPS2DQ_XMM_XMMM128 = 311,
646
+ EVOASM_X64_INST_VCVTTPS2DQ_YMM_YMMM256 = 312,
647
+ EVOASM_X64_INST_CVTTPS2PI_MM_XMMM64 = 313,
648
+ EVOASM_X64_INST_CVTTSD2SI_R32_XMMM64 = 314,
649
+ EVOASM_X64_INST_CVTTSD2SI_R64_XMMM64 = 315,
650
+ EVOASM_X64_INST_VCVTTSD2SI_R32_XMMM64 = 316,
651
+ EVOASM_X64_INST_VCVTTSD2SI_R64_XMMM64 = 317,
652
+ EVOASM_X64_INST_CVTTSS2SI_R32_XMMM32 = 318,
653
+ EVOASM_X64_INST_CVTTSS2SI_R64_XMMM32 = 319,
654
+ EVOASM_X64_INST_VCVTTSS2SI_R32_XMMM32 = 320,
655
+ EVOASM_X64_INST_VCVTTSS2SI_R64_XMMM32 = 321,
656
+ EVOASM_X64_INST_CWD = 322,
657
+ EVOASM_X64_INST_CDQ = 323,
658
+ EVOASM_X64_INST_CQO = 324,
659
+ EVOASM_X64_INST_DEC_RM8 = 325,
660
+ EVOASM_X64_INST_DEC_RM16 = 326,
661
+ EVOASM_X64_INST_DEC_RM32 = 327,
662
+ EVOASM_X64_INST_DEC_RM64 = 328,
663
+ EVOASM_X64_INST_DIV_RM8 = 329,
664
+ EVOASM_X64_INST_DIV_RM16 = 330,
665
+ EVOASM_X64_INST_DIV_RM32 = 331,
666
+ EVOASM_X64_INST_DIV_RM64 = 332,
667
+ EVOASM_X64_INST_DIVPD_XMM_XMMM128 = 333,
668
+ EVOASM_X64_INST_VDIVPD_XMM_XMM_XMMM128 = 334,
669
+ EVOASM_X64_INST_VDIVPD_YMM_YMM_YMMM256 = 335,
670
+ EVOASM_X64_INST_DIVPS_XMM_XMMM128 = 336,
671
+ EVOASM_X64_INST_VDIVPS_XMM_XMM_XMMM128 = 337,
672
+ EVOASM_X64_INST_VDIVPS_YMM_YMM_YMMM256 = 338,
673
+ EVOASM_X64_INST_DIVSD_XMM_XMMM64 = 339,
674
+ EVOASM_X64_INST_VDIVSD_XMM_XMM_XMMM64 = 340,
675
+ EVOASM_X64_INST_DIVSS_XMM_XMMM32 = 341,
676
+ EVOASM_X64_INST_VDIVSS_XMM_XMM_XMMM32 = 342,
677
+ EVOASM_X64_INST_DPPD_XMM_XMMM128_IMM8 = 343,
678
+ EVOASM_X64_INST_VDPPD_XMM_XMM_XMMM128_IMM8 = 344,
679
+ EVOASM_X64_INST_DPPS_XMM_XMMM128_IMM8 = 345,
680
+ EVOASM_X64_INST_VDPPS_XMM_XMM_XMMM128_IMM8 = 346,
681
+ EVOASM_X64_INST_VDPPS_YMM_YMM_YMMM256_IMM8 = 347,
682
+ EVOASM_X64_INST_ENTERQ_IMM16_IMM8 = 348,
683
+ EVOASM_X64_INST_ENTERW_IMM16_IMM8 = 349,
684
+ EVOASM_X64_INST_EXTRACTPS_RM32_XMM_IMM8 = 350,
685
+ EVOASM_X64_INST_VEXTRACTPS_RM32_XMM_IMM8 = 351,
686
+ EVOASM_X64_INST_HADDPD_XMM_XMMM128 = 352,
687
+ EVOASM_X64_INST_VHADDPD_XMM_XMM_XMMM128 = 353,
688
+ EVOASM_X64_INST_VHADDPD_YMM_YMM_YMMM256 = 354,
689
+ EVOASM_X64_INST_HADDPS_XMM_XMMM128 = 355,
690
+ EVOASM_X64_INST_VHADDPS_XMM_XMM_XMMM128 = 356,
691
+ EVOASM_X64_INST_VHADDPS_YMM_YMM_YMMM256 = 357,
692
+ EVOASM_X64_INST_HSUBPD_XMM_XMMM128 = 358,
693
+ EVOASM_X64_INST_VHSUBPD_XMM_XMM_XMMM128 = 359,
694
+ EVOASM_X64_INST_VHSUBPD_YMM_YMM_YMMM256 = 360,
695
+ EVOASM_X64_INST_HSUBPS_XMM_XMMM128 = 361,
696
+ EVOASM_X64_INST_VHSUBPS_XMM_XMM_XMMM128 = 362,
697
+ EVOASM_X64_INST_VHSUBPS_YMM_YMM_YMMM256 = 363,
698
+ EVOASM_X64_INST_IDIV_RM8 = 364,
699
+ EVOASM_X64_INST_IDIV_RM16 = 365,
700
+ EVOASM_X64_INST_IDIV_RM32 = 366,
701
+ EVOASM_X64_INST_IDIV_RM64 = 367,
702
+ EVOASM_X64_INST_IMUL_RM8 = 368,
703
+ EVOASM_X64_INST_IMUL_RM16 = 369,
704
+ EVOASM_X64_INST_IMUL_RM32 = 370,
705
+ EVOASM_X64_INST_IMUL_RM64 = 371,
706
+ EVOASM_X64_INST_IMUL_R16_RM16 = 372,
707
+ EVOASM_X64_INST_IMUL_R32_RM32 = 373,
708
+ EVOASM_X64_INST_IMUL_R64_RM64 = 374,
709
+ EVOASM_X64_INST_IMUL_R16_RM16_IMM8 = 375,
710
+ EVOASM_X64_INST_IMUL_R32_RM32_IMM8 = 376,
711
+ EVOASM_X64_INST_IMUL_R64_RM64_IMM8 = 377,
712
+ EVOASM_X64_INST_IMUL_R16_RM16_IMM16 = 378,
713
+ EVOASM_X64_INST_IMUL_R32_RM32_IMM32 = 379,
714
+ EVOASM_X64_INST_IMUL_R64_RM64_IMM32 = 380,
715
+ EVOASM_X64_INST_INC_RM8 = 381,
716
+ EVOASM_X64_INST_INC_RM16 = 382,
717
+ EVOASM_X64_INST_INC_RM32 = 383,
718
+ EVOASM_X64_INST_INC_RM64 = 384,
719
+ EVOASM_X64_INST_INSERTPS_XMM_XMMM32_IMM8 = 385,
720
+ EVOASM_X64_INST_VINSERTPS_XMM_XMM_XMMM32_IMM8 = 386,
721
+ EVOASM_X64_INST_JA_REL8 = 387,
722
+ EVOASM_X64_INST_JAE_REL8 = 388,
723
+ EVOASM_X64_INST_JB_REL8 = 389,
724
+ EVOASM_X64_INST_JBE_REL8 = 390,
725
+ EVOASM_X64_INST_JECXZ_REL8 = 391,
726
+ EVOASM_X64_INST_JE_REL8 = 392,
727
+ EVOASM_X64_INST_JG_REL8 = 393,
728
+ EVOASM_X64_INST_JGE_REL8 = 394,
729
+ EVOASM_X64_INST_JL_REL8 = 395,
730
+ EVOASM_X64_INST_JLE_REL8 = 396,
731
+ EVOASM_X64_INST_JNE_REL8 = 397,
732
+ EVOASM_X64_INST_JNO_REL8 = 398,
733
+ EVOASM_X64_INST_JNP_REL8 = 399,
734
+ EVOASM_X64_INST_JNS_REL8 = 400,
735
+ EVOASM_X64_INST_JO_REL8 = 401,
736
+ EVOASM_X64_INST_JP_REL8 = 402,
737
+ EVOASM_X64_INST_JS_REL8 = 403,
738
+ EVOASM_X64_INST_JA_REL32 = 404,
739
+ EVOASM_X64_INST_JAE_REL32 = 405,
740
+ EVOASM_X64_INST_JB_REL32 = 406,
741
+ EVOASM_X64_INST_JBE_REL32 = 407,
742
+ EVOASM_X64_INST_JE_REL32 = 408,
743
+ EVOASM_X64_INST_JG_REL32 = 409,
744
+ EVOASM_X64_INST_JGE_REL32 = 410,
745
+ EVOASM_X64_INST_JL_REL32 = 411,
746
+ EVOASM_X64_INST_JLE_REL32 = 412,
747
+ EVOASM_X64_INST_JNE_REL32 = 413,
748
+ EVOASM_X64_INST_JNO_REL32 = 414,
749
+ EVOASM_X64_INST_JNP_REL32 = 415,
750
+ EVOASM_X64_INST_JNS_REL32 = 416,
751
+ EVOASM_X64_INST_JO_REL32 = 417,
752
+ EVOASM_X64_INST_JP_REL32 = 418,
753
+ EVOASM_X64_INST_JS_REL32 = 419,
754
+ EVOASM_X64_INST_JMP_REL8 = 420,
755
+ EVOASM_X64_INST_JMP_REL32 = 421,
756
+ EVOASM_X64_INST_JMP_RM64 = 422,
757
+ EVOASM_X64_INST_LAHF = 423,
758
+ EVOASM_X64_INST_LDDQU_XMM_M128 = 424,
759
+ EVOASM_X64_INST_VLDDQU_XMM_M128 = 425,
760
+ EVOASM_X64_INST_VLDDQU_YMM_M256 = 426,
761
+ EVOASM_X64_INST_LDMXCSR_M32 = 427,
762
+ EVOASM_X64_INST_VLDMXCSR_M32 = 428,
763
+ EVOASM_X64_INST_LEA_R16_M16 = 429,
764
+ EVOASM_X64_INST_LEA_R32_M32 = 430,
765
+ EVOASM_X64_INST_LEA_R64_M64 = 431,
766
+ EVOASM_X64_INST_LEAVEW = 432,
767
+ EVOASM_X64_INST_LEAVEQ = 433,
768
+ EVOASM_X64_INST_LFENCE = 434,
769
+ EVOASM_X64_INST_LODSB = 435,
770
+ EVOASM_X64_INST_LODSW = 436,
771
+ EVOASM_X64_INST_LODSD = 437,
772
+ EVOASM_X64_INST_LODSQ = 438,
773
+ EVOASM_X64_INST_LOOP_REL8 = 439,
774
+ EVOASM_X64_INST_LOOPE_REL8 = 440,
775
+ EVOASM_X64_INST_LOOPNE_REL8 = 441,
776
+ EVOASM_X64_INST_LZCNT_R16_RM16 = 442,
777
+ EVOASM_X64_INST_LZCNT_R32_RM32 = 443,
778
+ EVOASM_X64_INST_LZCNT_R64_RM64 = 444,
779
+ EVOASM_X64_INST_MASKMOVDQU_XMM_XMM = 445,
780
+ EVOASM_X64_INST_VMASKMOVDQU_XMM_XMM = 446,
781
+ EVOASM_X64_INST_MASKMOVQ_MM_MM = 447,
782
+ EVOASM_X64_INST_MAXPD_XMM_XMMM128 = 448,
783
+ EVOASM_X64_INST_VMAXPD_XMM_XMM_XMMM128 = 449,
784
+ EVOASM_X64_INST_VMAXPD_YMM_YMM_YMMM256 = 450,
785
+ EVOASM_X64_INST_MAXPS_XMM_XMMM128 = 451,
786
+ EVOASM_X64_INST_VMAXPS_XMM_XMM_XMMM128 = 452,
787
+ EVOASM_X64_INST_VMAXPS_YMM_YMM_YMMM256 = 453,
788
+ EVOASM_X64_INST_MAXSD_XMM_XMMM64 = 454,
789
+ EVOASM_X64_INST_VMAXSD_XMM_XMM_XMMM64 = 455,
790
+ EVOASM_X64_INST_MAXSS_XMM_XMMM32 = 456,
791
+ EVOASM_X64_INST_VMAXSS_XMM_XMM_XMMM32 = 457,
792
+ EVOASM_X64_INST_MFENCE = 458,
793
+ EVOASM_X64_INST_MINPD_XMM_XMMM128 = 459,
794
+ EVOASM_X64_INST_VMINPD_XMM_XMM_XMMM128 = 460,
795
+ EVOASM_X64_INST_VMINPD_YMM_YMM_YMMM256 = 461,
796
+ EVOASM_X64_INST_MINPS_XMM_XMMM128 = 462,
797
+ EVOASM_X64_INST_VMINPS_XMM_XMM_XMMM128 = 463,
798
+ EVOASM_X64_INST_VMINPS_YMM_YMM_YMMM256 = 464,
799
+ EVOASM_X64_INST_MINSD_XMM_XMMM64 = 465,
800
+ EVOASM_X64_INST_VMINSD_XMM_XMM_XMMM64 = 466,
801
+ EVOASM_X64_INST_MINSS_XMM_XMMM32 = 467,
802
+ EVOASM_X64_INST_VMINSS_XMM_XMM_XMMM32 = 468,
803
+ EVOASM_X64_INST_MOV_RM8_R8 = 469,
804
+ EVOASM_X64_INST_MOV_RM16_R16 = 470,
805
+ EVOASM_X64_INST_MOV_RM32_R32 = 471,
806
+ EVOASM_X64_INST_MOV_RM64_R64 = 472,
807
+ EVOASM_X64_INST_MOV_R8_RM8 = 473,
808
+ EVOASM_X64_INST_MOV_R16_RM16 = 474,
809
+ EVOASM_X64_INST_MOV_R32_RM32 = 475,
810
+ EVOASM_X64_INST_MOV_R64_RM64 = 476,
811
+ EVOASM_X64_INST_MOV_AL_MOFFS8 = 477,
812
+ EVOASM_X64_INST_MOV_AX_MOFFS16 = 478,
813
+ EVOASM_X64_INST_MOV_EAX_MOFFS32 = 479,
814
+ EVOASM_X64_INST_MOV_RAX_MOFFS64 = 480,
815
+ EVOASM_X64_INST_MOV_MOFFS8_AL = 481,
816
+ EVOASM_X64_INST_MOV_MOFFS16_AX = 482,
817
+ EVOASM_X64_INST_MOV_MOFFS32_EAX = 483,
818
+ EVOASM_X64_INST_MOV_MOFFS64_RAX = 484,
819
+ EVOASM_X64_INST_MOV_R8_IMM8 = 485,
820
+ EVOASM_X64_INST_MOV_R16_IMM16 = 486,
821
+ EVOASM_X64_INST_MOV_R32_IMM32 = 487,
822
+ EVOASM_X64_INST_MOV_R64_IMM64 = 488,
823
+ EVOASM_X64_INST_MOV_RM8_IMM8 = 489,
824
+ EVOASM_X64_INST_MOV_RM16_IMM16 = 490,
825
+ EVOASM_X64_INST_MOV_RM32_IMM32 = 491,
826
+ EVOASM_X64_INST_MOV_RM64_IMM32 = 492,
827
+ EVOASM_X64_INST_MOVAPD_XMM_XMMM128 = 493,
828
+ EVOASM_X64_INST_MOVAPD_XMMM128_XMM = 494,
829
+ EVOASM_X64_INST_VMOVAPD_XMM_XMMM128 = 495,
830
+ EVOASM_X64_INST_VMOVAPD_XMMM128_XMM = 496,
831
+ EVOASM_X64_INST_VMOVAPD_YMM_YMMM256 = 497,
832
+ EVOASM_X64_INST_VMOVAPD_YMMM256_YMM = 498,
833
+ EVOASM_X64_INST_MOVAPS_XMM_XMMM128 = 499,
834
+ EVOASM_X64_INST_MOVAPS_XMMM128_XMM = 500,
835
+ EVOASM_X64_INST_VMOVAPS_XMM_XMMM128 = 501,
836
+ EVOASM_X64_INST_VMOVAPS_XMMM128_XMM = 502,
837
+ EVOASM_X64_INST_VMOVAPS_YMM_YMMM256 = 503,
838
+ EVOASM_X64_INST_VMOVAPS_YMMM256_YMM = 504,
839
+ EVOASM_X64_INST_MOVBE_R16_M16 = 505,
840
+ EVOASM_X64_INST_MOVBE_R32_M32 = 506,
841
+ EVOASM_X64_INST_MOVBE_R64_M64 = 507,
842
+ EVOASM_X64_INST_MOVBE_M16_R16 = 508,
843
+ EVOASM_X64_INST_MOVBE_M32_R32 = 509,
844
+ EVOASM_X64_INST_MOVBE_M64_R64 = 510,
845
+ EVOASM_X64_INST_MOVD_MM_RM32 = 511,
846
+ EVOASM_X64_INST_MOVQ_MM_RM64 = 512,
847
+ EVOASM_X64_INST_MOVD_RM32_MM = 513,
848
+ EVOASM_X64_INST_MOVQ_RM64_MM = 514,
849
+ EVOASM_X64_INST_MOVD_XMM_RM32 = 515,
850
+ EVOASM_X64_INST_MOVQ_XMM_RM64 = 516,
851
+ EVOASM_X64_INST_MOVD_RM32_XMM = 517,
852
+ EVOASM_X64_INST_MOVQ_RM64_XMM = 518,
853
+ EVOASM_X64_INST_VMOVD_XMM_RM32 = 519,
854
+ EVOASM_X64_INST_VMOVQ_XMM_RM64 = 520,
855
+ EVOASM_X64_INST_VMOVD_RM32_XMM = 521,
856
+ EVOASM_X64_INST_VMOVQ_RM64_XMM = 522,
857
+ EVOASM_X64_INST_MOVDDUP_XMM_XMMM64 = 523,
858
+ EVOASM_X64_INST_VMOVDDUP_XMM_XMMM64 = 524,
859
+ EVOASM_X64_INST_VMOVDDUP_YMM_YMMM256 = 525,
860
+ EVOASM_X64_INST_MOVDQA_XMM_XMMM128 = 526,
861
+ EVOASM_X64_INST_MOVDQA_XMMM128_XMM = 527,
862
+ EVOASM_X64_INST_VMOVDQA_XMM_XMMM128 = 528,
863
+ EVOASM_X64_INST_VMOVDQA_XMMM128_XMM = 529,
864
+ EVOASM_X64_INST_VMOVDQA_YMM_YMMM256 = 530,
865
+ EVOASM_X64_INST_VMOVDQA_YMMM256_YMM = 531,
866
+ EVOASM_X64_INST_MOVDQU_XMM_XMMM128 = 532,
867
+ EVOASM_X64_INST_MOVDQU_XMMM128_XMM = 533,
868
+ EVOASM_X64_INST_VMOVDQU_XMM_XMMM128 = 534,
869
+ EVOASM_X64_INST_VMOVDQU_XMMM128_XMM = 535,
870
+ EVOASM_X64_INST_VMOVDQU_YMM_YMMM256 = 536,
871
+ EVOASM_X64_INST_VMOVDQU_YMMM256_YMM = 537,
872
+ EVOASM_X64_INST_MOVDQ2Q_MM_XMM = 538,
873
+ EVOASM_X64_INST_MOVHLPS_XMM_XMM = 539,
874
+ EVOASM_X64_INST_VMOVHLPS_XMM_XMM_XMM = 540,
875
+ EVOASM_X64_INST_MOVHPD_XMM_M64 = 541,
876
+ EVOASM_X64_INST_VMOVHPD_XMM_XMM_M64 = 542,
877
+ EVOASM_X64_INST_MOVHPD_M64_XMM = 543,
878
+ EVOASM_X64_INST_VMOVHPD_M64_XMM = 544,
879
+ EVOASM_X64_INST_MOVHPS_XMM_M64 = 545,
880
+ EVOASM_X64_INST_VMOVHPS_XMM_XMM_M64 = 546,
881
+ EVOASM_X64_INST_MOVHPS_M64_XMM = 547,
882
+ EVOASM_X64_INST_VMOVHPS_M64_XMM = 548,
883
+ EVOASM_X64_INST_MOVLHPS_XMM_XMM = 549,
884
+ EVOASM_X64_INST_VMOVLHPS_XMM_XMM_XMM = 550,
885
+ EVOASM_X64_INST_MOVLPD_XMM_M64 = 551,
886
+ EVOASM_X64_INST_VMOVLPD_XMM_XMM_M64 = 552,
887
+ EVOASM_X64_INST_MOVLPD_M64_XMM = 553,
888
+ EVOASM_X64_INST_VMOVLPD_M64_XMM = 554,
889
+ EVOASM_X64_INST_MOVLPS_XMM_M64 = 555,
890
+ EVOASM_X64_INST_VMOVLPS_XMM_XMM_M64 = 556,
891
+ EVOASM_X64_INST_MOVLPS_M64_XMM = 557,
892
+ EVOASM_X64_INST_VMOVLPS_M64_XMM = 558,
893
+ EVOASM_X64_INST_MOVMSKPD_R32_XMM = 559,
894
+ EVOASM_X64_INST_VMOVMSKPD_R32_XMM = 560,
895
+ EVOASM_X64_INST_VMOVMSKPD_R32_YMM = 561,
896
+ EVOASM_X64_INST_MOVMSKPS_R32_XMM = 562,
897
+ EVOASM_X64_INST_VMOVMSKPS_R32_XMM = 563,
898
+ EVOASM_X64_INST_VMOVMSKPS_R32_YMM = 564,
899
+ EVOASM_X64_INST_MOVNTDQA_XMM_M128 = 565,
900
+ EVOASM_X64_INST_VMOVNTDQA_XMM_M128 = 566,
901
+ EVOASM_X64_INST_VMOVNTDQA_YMM_M256 = 567,
902
+ EVOASM_X64_INST_MOVNTDQ_M128_XMM = 568,
903
+ EVOASM_X64_INST_VMOVNTDQ_M128_XMM = 569,
904
+ EVOASM_X64_INST_VMOVNTDQ_M256_YMM = 570,
905
+ EVOASM_X64_INST_MOVNTI_M32_R32 = 571,
906
+ EVOASM_X64_INST_MOVNTI_M64_R64 = 572,
907
+ EVOASM_X64_INST_MOVNTPD_M128_XMM = 573,
908
+ EVOASM_X64_INST_VMOVNTPD_M128_XMM = 574,
909
+ EVOASM_X64_INST_VMOVNTPD_M256_YMM = 575,
910
+ EVOASM_X64_INST_MOVNTPS_M128_XMM = 576,
911
+ EVOASM_X64_INST_VMOVNTPS_M128_XMM = 577,
912
+ EVOASM_X64_INST_VMOVNTPS_M256_YMM = 578,
913
+ EVOASM_X64_INST_MOVNTQ_M64_MM = 579,
914
+ EVOASM_X64_INST_MOVQ_MM_MMM64 = 580,
915
+ EVOASM_X64_INST_MOVQ_MMM64_MM = 581,
916
+ EVOASM_X64_INST_MOVQ_XMM_XMMM64 = 582,
917
+ EVOASM_X64_INST_VMOVQ_XMM_XMMM64 = 583,
918
+ EVOASM_X64_INST_MOVQ_XMMM64_XMM = 584,
919
+ EVOASM_X64_INST_VMOVQ_XMMM64_XMM = 585,
920
+ EVOASM_X64_INST_MOVQ2DQ_XMM_MM = 586,
921
+ EVOASM_X64_INST_MOVSB = 587,
922
+ EVOASM_X64_INST_MOVSW = 588,
923
+ EVOASM_X64_INST_MOVSD = 589,
924
+ EVOASM_X64_INST_MOVSQ = 590,
925
+ EVOASM_X64_INST_MOVSD_XMM_XMMM64 = 591,
926
+ EVOASM_X64_INST_MOVSD_XMMM64_XMM = 592,
927
+ EVOASM_X64_INST_VMOVSD0_XMM_XMM_XMM = 593,
928
+ EVOASM_X64_INST_VMOVSD_XMM_M64 = 594,
929
+ EVOASM_X64_INST_VMOVSD1_XMM_XMM_XMM = 595,
930
+ EVOASM_X64_INST_VMOVSD_M64_XMM = 596,
931
+ EVOASM_X64_INST_MOVSHDUP_XMM_XMMM128 = 597,
932
+ EVOASM_X64_INST_VMOVSHDUP_XMM_XMMM128 = 598,
933
+ EVOASM_X64_INST_VMOVSHDUP_YMM_YMMM256 = 599,
934
+ EVOASM_X64_INST_MOVSLDUP_XMM_XMMM128 = 600,
935
+ EVOASM_X64_INST_VMOVSLDUP_XMM_XMMM128 = 601,
936
+ EVOASM_X64_INST_VMOVSLDUP_YMM_YMMM256 = 602,
937
+ EVOASM_X64_INST_MOVSS_XMM_XMMM32 = 603,
938
+ EVOASM_X64_INST_VMOVSS0_XMM_XMM_XMM = 604,
939
+ EVOASM_X64_INST_VMOVSS_XMM_M32 = 605,
940
+ EVOASM_X64_INST_MOVSS_XMMM32_XMM = 606,
941
+ EVOASM_X64_INST_VMOVSS1_XMM_XMM_XMM = 607,
942
+ EVOASM_X64_INST_VMOVSS_M32_XMM = 608,
943
+ EVOASM_X64_INST_MOVSX_R16_RM8 = 609,
944
+ EVOASM_X64_INST_MOVSX_R32_RM8 = 610,
945
+ EVOASM_X64_INST_MOVSX_R64_RM8 = 611,
946
+ EVOASM_X64_INST_MOVSX_R32_RM16 = 612,
947
+ EVOASM_X64_INST_MOVSX_R64_RM16 = 613,
948
+ EVOASM_X64_INST_MOVSXD_R64_RM32 = 614,
949
+ EVOASM_X64_INST_MOVUPD_XMM_XMMM128 = 615,
950
+ EVOASM_X64_INST_MOVUPD_XMMM128_XMM = 616,
951
+ EVOASM_X64_INST_VMOVUPD_XMM_XMMM128 = 617,
952
+ EVOASM_X64_INST_VMOVUPD_XMMM128_XMM = 618,
953
+ EVOASM_X64_INST_VMOVUPD_YMM_YMMM256 = 619,
954
+ EVOASM_X64_INST_VMOVUPD_YMMM256_YMM = 620,
955
+ EVOASM_X64_INST_MOVUPS_XMM_XMMM128 = 621,
956
+ EVOASM_X64_INST_MOVUPS_XMMM128_XMM = 622,
957
+ EVOASM_X64_INST_VMOVUPS_XMM_XMMM128 = 623,
958
+ EVOASM_X64_INST_VMOVUPS_XMMM128_XMM = 624,
959
+ EVOASM_X64_INST_VMOVUPS_YMM_YMMM256 = 625,
960
+ EVOASM_X64_INST_VMOVUPS_YMMM256_YMM = 626,
961
+ EVOASM_X64_INST_MOVZX_R16_RM8 = 627,
962
+ EVOASM_X64_INST_MOVZX_R32_RM8 = 628,
963
+ EVOASM_X64_INST_MOVZX_R64_RM8 = 629,
964
+ EVOASM_X64_INST_MOVZX_R32_RM16 = 630,
965
+ EVOASM_X64_INST_MOVZX_R64_RM16 = 631,
966
+ EVOASM_X64_INST_MPSADBW_XMM_XMMM128_IMM8 = 632,
967
+ EVOASM_X64_INST_VMPSADBW_XMM_XMM_XMMM128_IMM8 = 633,
968
+ EVOASM_X64_INST_VMPSADBW_YMM_YMM_YMMM256_IMM8 = 634,
969
+ EVOASM_X64_INST_MUL_RM8 = 635,
970
+ EVOASM_X64_INST_MUL_RM16 = 636,
971
+ EVOASM_X64_INST_MUL_RM32 = 637,
972
+ EVOASM_X64_INST_MUL_RM64 = 638,
973
+ EVOASM_X64_INST_MULPD_XMM_XMMM128 = 639,
974
+ EVOASM_X64_INST_VMULPD_XMM_XMM_XMMM128 = 640,
975
+ EVOASM_X64_INST_VMULPD_YMM_YMM_YMMM256 = 641,
976
+ EVOASM_X64_INST_MULPS_XMM_XMMM128 = 642,
977
+ EVOASM_X64_INST_VMULPS_XMM_XMM_XMMM128 = 643,
978
+ EVOASM_X64_INST_VMULPS_YMM_YMM_YMMM256 = 644,
979
+ EVOASM_X64_INST_MULSD_XMM_XMMM64 = 645,
980
+ EVOASM_X64_INST_VMULSD_XMM_XMM_XMMM64 = 646,
981
+ EVOASM_X64_INST_MULSS_XMM_XMMM32 = 647,
982
+ EVOASM_X64_INST_VMULSS_XMM_XMM_XMMM32 = 648,
983
+ EVOASM_X64_INST_MULX_R32_R32_RM32 = 649,
984
+ EVOASM_X64_INST_MULX_R64_R64_RM64 = 650,
985
+ EVOASM_X64_INST_NEG_RM8 = 651,
986
+ EVOASM_X64_INST_NEG_RM16 = 652,
987
+ EVOASM_X64_INST_NEG_RM32 = 653,
988
+ EVOASM_X64_INST_NEG_RM64 = 654,
989
+ EVOASM_X64_INST_NOP = 655,
990
+ EVOASM_X64_INST_NOP_RM16 = 656,
991
+ EVOASM_X64_INST_NOP_RM32 = 657,
992
+ EVOASM_X64_INST_NOT_RM8 = 658,
993
+ EVOASM_X64_INST_NOT_RM16 = 659,
994
+ EVOASM_X64_INST_NOT_RM32 = 660,
995
+ EVOASM_X64_INST_NOT_RM64 = 661,
996
+ EVOASM_X64_INST_OR_AL_IMM8 = 662,
997
+ EVOASM_X64_INST_OR_AX_IMM16 = 663,
998
+ EVOASM_X64_INST_OR_EAX_IMM32 = 664,
999
+ EVOASM_X64_INST_OR_RAX_IMM32 = 665,
1000
+ EVOASM_X64_INST_OR_RM8_IMM8 = 666,
1001
+ EVOASM_X64_INST_OR_RM16_IMM16 = 667,
1002
+ EVOASM_X64_INST_OR_RM32_IMM32 = 668,
1003
+ EVOASM_X64_INST_OR_RM64_IMM32 = 669,
1004
+ EVOASM_X64_INST_OR_RM16_IMM8 = 670,
1005
+ EVOASM_X64_INST_OR_RM32_IMM8 = 671,
1006
+ EVOASM_X64_INST_OR_RM64_IMM8 = 672,
1007
+ EVOASM_X64_INST_OR_RM8_R8 = 673,
1008
+ EVOASM_X64_INST_OR_RM16_R16 = 674,
1009
+ EVOASM_X64_INST_OR_RM32_R32 = 675,
1010
+ EVOASM_X64_INST_OR_RM64_R64 = 676,
1011
+ EVOASM_X64_INST_OR_R8_RM8 = 677,
1012
+ EVOASM_X64_INST_OR_R16_RM16 = 678,
1013
+ EVOASM_X64_INST_OR_R32_RM32 = 679,
1014
+ EVOASM_X64_INST_OR_R64_RM64 = 680,
1015
+ EVOASM_X64_INST_ORPD_XMM_XMMM128 = 681,
1016
+ EVOASM_X64_INST_VORPD_XMM_XMM_XMMM128 = 682,
1017
+ EVOASM_X64_INST_VORPD_YMM_YMM_YMMM256 = 683,
1018
+ EVOASM_X64_INST_ORPS_XMM_XMMM128 = 684,
1019
+ EVOASM_X64_INST_VORPS_XMM_XMM_XMMM128 = 685,
1020
+ EVOASM_X64_INST_VORPS_YMM_YMM_YMMM256 = 686,
1021
+ EVOASM_X64_INST_PABSB_MM_MMM64 = 687,
1022
+ EVOASM_X64_INST_PABSB_XMM_XMMM128 = 688,
1023
+ EVOASM_X64_INST_PABSW_MM_MMM64 = 689,
1024
+ EVOASM_X64_INST_PABSW_XMM_XMMM128 = 690,
1025
+ EVOASM_X64_INST_PABSD_MM_MMM64 = 691,
1026
+ EVOASM_X64_INST_PABSD_XMM_XMMM128 = 692,
1027
+ EVOASM_X64_INST_VPABSB_XMM_XMMM128 = 693,
1028
+ EVOASM_X64_INST_VPABSW_XMM_XMMM128 = 694,
1029
+ EVOASM_X64_INST_VPABSD_XMM_XMMM128 = 695,
1030
+ EVOASM_X64_INST_VPABSB_YMM_YMMM256 = 696,
1031
+ EVOASM_X64_INST_VPABSW_YMM_YMMM256 = 697,
1032
+ EVOASM_X64_INST_VPABSD_YMM_YMMM256 = 698,
1033
+ EVOASM_X64_INST_PACKSSWB_MM_MMM64 = 699,
1034
+ EVOASM_X64_INST_PACKSSWB_XMM_XMMM128 = 700,
1035
+ EVOASM_X64_INST_PACKSSDW_MM_MMM64 = 701,
1036
+ EVOASM_X64_INST_PACKSSDW_XMM_XMMM128 = 702,
1037
+ EVOASM_X64_INST_VPACKSSWB_XMM_XMM_XMMM128 = 703,
1038
+ EVOASM_X64_INST_VPACKSSDW_XMM_XMM_XMMM128 = 704,
1039
+ EVOASM_X64_INST_VPACKSSWB_YMM_YMM_YMMM256 = 705,
1040
+ EVOASM_X64_INST_VPACKSSDW_YMM_YMM_YMMM256 = 706,
1041
+ EVOASM_X64_INST_PACKUSDW_XMM_XMMM128 = 707,
1042
+ EVOASM_X64_INST_VPACKUSDW_XMM_XMM_XMMM128 = 708,
1043
+ EVOASM_X64_INST_VPACKUSDW_YMM_YMM_YMMM256 = 709,
1044
+ EVOASM_X64_INST_PACKUSWB_MM_MMM64 = 710,
1045
+ EVOASM_X64_INST_PACKUSWB_XMM_XMMM128 = 711,
1046
+ EVOASM_X64_INST_VPACKUSWB_XMM_XMM_XMMM128 = 712,
1047
+ EVOASM_X64_INST_VPACKUSWB_YMM_YMM_YMMM256 = 713,
1048
+ EVOASM_X64_INST_PADDB_MM_MMM64 = 714,
1049
+ EVOASM_X64_INST_PADDW_MM_MMM64 = 715,
1050
+ EVOASM_X64_INST_PADDB_XMM_XMMM128 = 716,
1051
+ EVOASM_X64_INST_PADDW_XMM_XMMM128 = 717,
1052
+ EVOASM_X64_INST_PADDD_XMM_XMMM128 = 718,
1053
+ EVOASM_X64_INST_PADDQ_XMM_XMMM128 = 719,
1054
+ EVOASM_X64_INST_VPADDB_XMM_XMM_XMMM128 = 720,
1055
+ EVOASM_X64_INST_VPADDW_XMM_XMM_XMMM128 = 721,
1056
+ EVOASM_X64_INST_VPADDD_XMM_XMM_XMMM128 = 722,
1057
+ EVOASM_X64_INST_VPADDQ_XMM_XMM_XMMM128 = 723,
1058
+ EVOASM_X64_INST_VPADDB_YMM_YMM_YMMM256 = 724,
1059
+ EVOASM_X64_INST_VPADDW_YMM_YMM_YMMM256 = 725,
1060
+ EVOASM_X64_INST_VPADDD_YMM_YMM_YMMM256 = 726,
1061
+ EVOASM_X64_INST_VPADDQ_YMM_YMM_YMMM256 = 727,
1062
+ EVOASM_X64_INST_PADDSB_MM_MMM64 = 728,
1063
+ EVOASM_X64_INST_PADDSB_XMM_XMMM128 = 729,
1064
+ EVOASM_X64_INST_PADDSW_MM_MMM64 = 730,
1065
+ EVOASM_X64_INST_PADDSW_XMM_XMMM128 = 731,
1066
+ EVOASM_X64_INST_VPADDSB_XMM_XMM_XMMM128 = 732,
1067
+ EVOASM_X64_INST_VPADDSW_XMM_XMM_XMMM128 = 733,
1068
+ EVOASM_X64_INST_VPADDSB_YMM_YMM_YMMM256 = 734,
1069
+ EVOASM_X64_INST_VPADDSW_YMM_YMM_YMMM256 = 735,
1070
+ EVOASM_X64_INST_PADDUSB_MM_MMM64 = 736,
1071
+ EVOASM_X64_INST_PADDUSB_XMM_XMMM128 = 737,
1072
+ EVOASM_X64_INST_PADDUSW_MM_MMM64 = 738,
1073
+ EVOASM_X64_INST_PADDUSW_XMM_XMMM128 = 739,
1074
+ EVOASM_X64_INST_VPADDUSB_XMM_XMM_XMMM128 = 740,
1075
+ EVOASM_X64_INST_VPADDUSW_XMM_XMM_XMMM128 = 741,
1076
+ EVOASM_X64_INST_VPADDUSB_YMM_YMM_YMMM256 = 742,
1077
+ EVOASM_X64_INST_VPADDUSW_YMM_YMM_YMMM256 = 743,
1078
+ EVOASM_X64_INST_PALIGNR_MM_MMM64_IMM8 = 744,
1079
+ EVOASM_X64_INST_PALIGNR_XMM_XMMM128_IMM8 = 745,
1080
+ EVOASM_X64_INST_VPALIGNR_XMM_XMM_XMMM128_IMM8 = 746,
1081
+ EVOASM_X64_INST_VPALIGNR_YMM_YMM_YMMM256_IMM8 = 747,
1082
+ EVOASM_X64_INST_PAND_MM_MMM64 = 748,
1083
+ EVOASM_X64_INST_PAND_XMM_XMMM128 = 749,
1084
+ EVOASM_X64_INST_VPAND_XMM_XMM_XMMM128 = 750,
1085
+ EVOASM_X64_INST_VPAND_YMM_YMM_YMMM256 = 751,
1086
+ EVOASM_X64_INST_PANDN_MM_MMM64 = 752,
1087
+ EVOASM_X64_INST_PANDN_XMM_XMMM128 = 753,
1088
+ EVOASM_X64_INST_VPANDN_XMM_XMM_XMMM128 = 754,
1089
+ EVOASM_X64_INST_VPANDN_YMM_YMM_YMMM256 = 755,
1090
+ EVOASM_X64_INST_PAUSE = 756,
1091
+ EVOASM_X64_INST_PAVGB_MM_MMM64 = 757,
1092
+ EVOASM_X64_INST_PAVGB_XMM_XMMM128 = 758,
1093
+ EVOASM_X64_INST_PAVGW_MM_MMM64 = 759,
1094
+ EVOASM_X64_INST_PAVGW_XMM_XMMM128 = 760,
1095
+ EVOASM_X64_INST_VPAVGB_XMM_XMM_XMMM128 = 761,
1096
+ EVOASM_X64_INST_VPAVGW_XMM_XMM_XMMM128 = 762,
1097
+ EVOASM_X64_INST_VPAVGB_YMM_YMM_YMMM256 = 763,
1098
+ EVOASM_X64_INST_VPAVGW_YMM_YMM_YMMM256 = 764,
1099
+ EVOASM_X64_INST_PBLENDVB_XMM_XMMM128_XMM0 = 765,
1100
+ EVOASM_X64_INST_VPBLENDVB_XMM_XMM_XMMM128_XMM = 766,
1101
+ EVOASM_X64_INST_VPBLENDVB_YMM_YMM_YMMM256_YMM = 767,
1102
+ EVOASM_X64_INST_PBLENDW_XMM_XMMM128_IMM8 = 768,
1103
+ EVOASM_X64_INST_VPBLENDW_XMM_XMM_XMMM128_IMM8 = 769,
1104
+ EVOASM_X64_INST_VPBLENDW_YMM_YMM_YMMM256_IMM8 = 770,
1105
+ EVOASM_X64_INST_PCLMULQDQ_XMM_XMMM128_IMM8 = 771,
1106
+ EVOASM_X64_INST_VPCLMULQDQ_XMM_XMM_XMMM128_IMM8 = 772,
1107
+ EVOASM_X64_INST_PCMPEQB_MM_MMM64 = 773,
1108
+ EVOASM_X64_INST_PCMPEQB_XMM_XMMM128 = 774,
1109
+ EVOASM_X64_INST_PCMPEQW_MM_MMM64 = 775,
1110
+ EVOASM_X64_INST_PCMPEQW_XMM_XMMM128 = 776,
1111
+ EVOASM_X64_INST_PCMPEQD_MM_MMM64 = 777,
1112
+ EVOASM_X64_INST_PCMPEQD_XMM_XMMM128 = 778,
1113
+ EVOASM_X64_INST_VPCMPEQB_XMM_XMM_XMMM128 = 779,
1114
+ EVOASM_X64_INST_VPCMPEQW_XMM_XMM_XMMM128 = 780,
1115
+ EVOASM_X64_INST_VPCMPEQD_XMM_XMM_XMMM128 = 781,
1116
+ EVOASM_X64_INST_VPCMPEQB_YMM_YMM_YMMM256 = 782,
1117
+ EVOASM_X64_INST_VPCMPEQW_YMM_YMM_YMMM256 = 783,
1118
+ EVOASM_X64_INST_VPCMPEQD_YMM_YMM_YMMM256 = 784,
1119
+ EVOASM_X64_INST_PCMPEQQ_XMM_XMMM128 = 785,
1120
+ EVOASM_X64_INST_VPCMPEQQ_XMM_XMM_XMMM128 = 786,
1121
+ EVOASM_X64_INST_VPCMPEQQ_YMM_YMM_YMMM256 = 787,
1122
+ EVOASM_X64_INST_PCMPESTRI_XMM_XMMM128_IMM8 = 788,
1123
+ EVOASM_X64_INST_VPCMPESTRI_XMM_XMMM128_IMM8 = 789,
1124
+ EVOASM_X64_INST_PCMPESTRM_XMM_XMMM128_IMM8 = 790,
1125
+ EVOASM_X64_INST_VPCMPESTRM_XMM_XMMM128_IMM8 = 791,
1126
+ EVOASM_X64_INST_PCMPGTB_MM_MMM64 = 792,
1127
+ EVOASM_X64_INST_PCMPGTB_XMM_XMMM128 = 793,
1128
+ EVOASM_X64_INST_PCMPGTW_MM_MMM64 = 794,
1129
+ EVOASM_X64_INST_PCMPGTW_XMM_XMMM128 = 795,
1130
+ EVOASM_X64_INST_PCMPGTD_MM_MMM64 = 796,
1131
+ EVOASM_X64_INST_PCMPGTD_XMM_XMMM128 = 797,
1132
+ EVOASM_X64_INST_VPCMPGTB_XMM_XMM_XMMM128 = 798,
1133
+ EVOASM_X64_INST_VPCMPGTW_XMM_XMM_XMMM128 = 799,
1134
+ EVOASM_X64_INST_VPCMPGTD_XMM_XMM_XMMM128 = 800,
1135
+ EVOASM_X64_INST_VPCMPGTB_YMM_YMM_YMMM256 = 801,
1136
+ EVOASM_X64_INST_VPCMPGTW_YMM_YMM_YMMM256 = 802,
1137
+ EVOASM_X64_INST_VPCMPGTD_YMM_YMM_YMMM256 = 803,
1138
+ EVOASM_X64_INST_PCMPGTQ_XMM_XMMM128 = 804,
1139
+ EVOASM_X64_INST_VPCMPGTQ_XMM_XMM_XMMM128 = 805,
1140
+ EVOASM_X64_INST_VPCMPGTQ_YMM_YMM_YMMM256 = 806,
1141
+ EVOASM_X64_INST_PCMPISTRI_XMM_XMMM128_IMM8 = 807,
1142
+ EVOASM_X64_INST_VPCMPISTRI_XMM_XMMM128_IMM8 = 808,
1143
+ EVOASM_X64_INST_PCMPISTRM_XMM_XMMM128_IMM8 = 809,
1144
+ EVOASM_X64_INST_VPCMPISTRM_XMM_XMMM128_IMM8 = 810,
1145
+ EVOASM_X64_INST_PDEP_R32_R32_RM32 = 811,
1146
+ EVOASM_X64_INST_PDEP_R64_R64_RM64 = 812,
1147
+ EVOASM_X64_INST_PEXT_R32_R32_RM32 = 813,
1148
+ EVOASM_X64_INST_PEXT_R64_R64_RM64 = 814,
1149
+ EVOASM_X64_INST_PEXTRB_R32M8_XMM_IMM8 = 815,
1150
+ EVOASM_X64_INST_PEXTRD_RM32_XMM_IMM8 = 816,
1151
+ EVOASM_X64_INST_PEXTRQ_RM64_XMM_IMM8 = 817,
1152
+ EVOASM_X64_INST_VPEXTRB_R32M8_XMM_IMM8 = 818,
1153
+ EVOASM_X64_INST_VPEXTRD_RM32_XMM_IMM8 = 819,
1154
+ EVOASM_X64_INST_VPEXTRQ_RM64_XMM_IMM8 = 820,
1155
+ EVOASM_X64_INST_PEXTRW_R32_MM_IMM8 = 821,
1156
+ EVOASM_X64_INST_PEXTRW_R32_XMM_IMM8 = 822,
1157
+ EVOASM_X64_INST_PEXTRW_R32M16_XMM_IMM8 = 823,
1158
+ EVOASM_X64_INST_VPEXTRW_R32_XMM_IMM8 = 824,
1159
+ EVOASM_X64_INST_VPEXTRW_R32M16_XMM_IMM8 = 825,
1160
+ EVOASM_X64_INST_PHADDW_MM_MMM64 = 826,
1161
+ EVOASM_X64_INST_PHADDW_XMM_XMMM128 = 827,
1162
+ EVOASM_X64_INST_PHADDD_MM_MMM64 = 828,
1163
+ EVOASM_X64_INST_PHADDD_XMM_XMMM128 = 829,
1164
+ EVOASM_X64_INST_VPHADDW_XMM_XMM_XMMM128 = 830,
1165
+ EVOASM_X64_INST_VPHADDD_XMM_XMM_XMMM128 = 831,
1166
+ EVOASM_X64_INST_VPHADDW_YMM_YMM_YMMM256 = 832,
1167
+ EVOASM_X64_INST_VPHADDD_YMM_YMM_YMMM256 = 833,
1168
+ EVOASM_X64_INST_PHADDSW_MM_MMM64 = 834,
1169
+ EVOASM_X64_INST_PHADDSW_XMM_XMMM128 = 835,
1170
+ EVOASM_X64_INST_VPHADDSW_XMM_XMM_XMMM128 = 836,
1171
+ EVOASM_X64_INST_VPHADDSW_YMM_YMM_YMMM256 = 837,
1172
+ EVOASM_X64_INST_PHMINPOSUW_XMM_XMMM128 = 838,
1173
+ EVOASM_X64_INST_VPHMINPOSUW_XMM_XMMM128 = 839,
1174
+ EVOASM_X64_INST_PHSUBW_MM_MMM64 = 840,
1175
+ EVOASM_X64_INST_PHSUBW_XMM_XMMM128 = 841,
1176
+ EVOASM_X64_INST_PHSUBD_MM_MMM64 = 842,
1177
+ EVOASM_X64_INST_PHSUBD_XMM_XMMM128 = 843,
1178
+ EVOASM_X64_INST_VPHSUBW_XMM_XMM_XMMM128 = 844,
1179
+ EVOASM_X64_INST_VPHSUBD_XMM_XMM_XMMM128 = 845,
1180
+ EVOASM_X64_INST_VPHSUBW_YMM_YMM_YMMM256 = 846,
1181
+ EVOASM_X64_INST_VPHSUBD_YMM_YMM_YMMM256 = 847,
1182
+ EVOASM_X64_INST_PHSUBSW_MM_MMM64 = 848,
1183
+ EVOASM_X64_INST_PHSUBSW_XMM_XMMM128 = 849,
1184
+ EVOASM_X64_INST_VPHSUBSW_XMM_XMM_XMMM128 = 850,
1185
+ EVOASM_X64_INST_VPHSUBSW_YMM_YMM_YMMM256 = 851,
1186
+ EVOASM_X64_INST_PINSRB_XMM_R32M8_IMM8 = 852,
1187
+ EVOASM_X64_INST_PINSRD_XMM_RM32_IMM8 = 853,
1188
+ EVOASM_X64_INST_PINSRQ_XMM_RM64_IMM8 = 854,
1189
+ EVOASM_X64_INST_VPINSRB_XMM_XMM_R32M8_IMM8 = 855,
1190
+ EVOASM_X64_INST_VPINSRD_XMM_XMM_RM32_IMM8 = 856,
1191
+ EVOASM_X64_INST_VPINSRQ_XMM_XMM_RM64_IMM8 = 857,
1192
+ EVOASM_X64_INST_PINSRW_MM_R32M16_IMM8 = 858,
1193
+ EVOASM_X64_INST_PINSRW_XMM_R32M16_IMM8 = 859,
1194
+ EVOASM_X64_INST_VPINSRW_XMM_XMM_R32M16_IMM8 = 860,
1195
+ EVOASM_X64_INST_PMADDUBSW_MM_MMM64 = 861,
1196
+ EVOASM_X64_INST_PMADDUBSW_XMM_XMMM128 = 862,
1197
+ EVOASM_X64_INST_VPMADDUBSW_XMM_XMM_XMMM128 = 863,
1198
+ EVOASM_X64_INST_VPMADDUBSW_YMM_YMM_YMMM256 = 864,
1199
+ EVOASM_X64_INST_PMADDWD_MM_MMM64 = 865,
1200
+ EVOASM_X64_INST_PMADDWD_XMM_XMMM128 = 866,
1201
+ EVOASM_X64_INST_VPMADDWD_XMM_XMM_XMMM128 = 867,
1202
+ EVOASM_X64_INST_VPMADDWD_YMM_YMM_YMMM256 = 868,
1203
+ EVOASM_X64_INST_PMAXSW_MM_MMM64 = 869,
1204
+ EVOASM_X64_INST_PMAXSB_XMM_XMMM128 = 870,
1205
+ EVOASM_X64_INST_PMAXSW_XMM_XMMM128 = 871,
1206
+ EVOASM_X64_INST_PMAXSD_XMM_XMMM128 = 872,
1207
+ EVOASM_X64_INST_VPMAXSB_XMM_XMM_XMMM128 = 873,
1208
+ EVOASM_X64_INST_VPMAXSW_XMM_XMM_XMMM128 = 874,
1209
+ EVOASM_X64_INST_VPMAXSD_XMM_XMM_XMMM128 = 875,
1210
+ EVOASM_X64_INST_VPMAXSB_YMM_YMM_YMMM256 = 876,
1211
+ EVOASM_X64_INST_VPMAXSW_YMM_YMM_YMMM256 = 877,
1212
+ EVOASM_X64_INST_VPMAXSD_YMM_YMM_YMMM256 = 878,
1213
+ EVOASM_X64_INST_PMAXUB_MM_MMM64 = 879,
1214
+ EVOASM_X64_INST_PMAXUB_XMM_XMMM128 = 880,
1215
+ EVOASM_X64_INST_PMAXUW_XMM_XMMM128 = 881,
1216
+ EVOASM_X64_INST_VPMAXUB_XMM_XMM_XMMM128 = 882,
1217
+ EVOASM_X64_INST_VPMAXUW_XMM_XMM_XMMM128 = 883,
1218
+ EVOASM_X64_INST_VPMAXUB_YMM_YMM_YMMM256 = 884,
1219
+ EVOASM_X64_INST_VPMAXUW_YMM_YMM_YMMM256 = 885,
1220
+ EVOASM_X64_INST_PMAXUD_XMM_XMMM128 = 886,
1221
+ EVOASM_X64_INST_VPMAXUD_XMM_XMM_XMMM128 = 887,
1222
+ EVOASM_X64_INST_VPMAXUD_YMM_YMM_YMMM256 = 888,
1223
+ EVOASM_X64_INST_PMINSW_MM_MMM64 = 889,
1224
+ EVOASM_X64_INST_PMINSB_XMM_XMMM128 = 890,
1225
+ EVOASM_X64_INST_PMINSW_XMM_XMMM128 = 891,
1226
+ EVOASM_X64_INST_VPMINSB_XMM_XMM_XMMM128 = 892,
1227
+ EVOASM_X64_INST_VPMINSW_XMM_XMM_XMMM128 = 893,
1228
+ EVOASM_X64_INST_VPMINSB_YMM_YMM_YMMM256 = 894,
1229
+ EVOASM_X64_INST_VPMINSW_YMM_YMM_YMMM256 = 895,
1230
+ EVOASM_X64_INST_PMINSD_XMM_XMMM128 = 896,
1231
+ EVOASM_X64_INST_VPMINSD_XMM_XMM_XMMM128 = 897,
1232
+ EVOASM_X64_INST_VPMINSD_YMM_YMM_YMMM256 = 898,
1233
+ EVOASM_X64_INST_PMINUB_MM_MMM64 = 899,
1234
+ EVOASM_X64_INST_PMINUB_XMM_XMMM128 = 900,
1235
+ EVOASM_X64_INST_PMINUW_XMM_XMMM128 = 901,
1236
+ EVOASM_X64_INST_VPMINUB_XMM_XMM_XMMM128 = 902,
1237
+ EVOASM_X64_INST_VPMINUW_XMM_XMM_XMMM128 = 903,
1238
+ EVOASM_X64_INST_VPMINUB_YMM_YMM_YMMM256 = 904,
1239
+ EVOASM_X64_INST_VPMINUW_YMM_YMM_YMMM256 = 905,
1240
+ EVOASM_X64_INST_PMINUD_XMM_XMMM128 = 906,
1241
+ EVOASM_X64_INST_VPMINUD_XMM_XMM_XMMM128 = 907,
1242
+ EVOASM_X64_INST_VPMINUD_YMM_YMM_YMMM256 = 908,
1243
+ EVOASM_X64_INST_PMOVMSKB_R32_MM = 909,
1244
+ EVOASM_X64_INST_PMOVMSKB_R32_XMM = 910,
1245
+ EVOASM_X64_INST_VPMOVMSKB_R32_XMM = 911,
1246
+ EVOASM_X64_INST_VPMOVMSKB_R32_YMM = 912,
1247
+ EVOASM_X64_INST_PMOVSXBW_XMM_XMMM64 = 913,
1248
+ EVOASM_X64_INST_PMOVSXBD_XMM_XMMM32 = 914,
1249
+ EVOASM_X64_INST_PMOVSXBQ_XMM_XMMM16 = 915,
1250
+ EVOASM_X64_INST_PMOVSXWD_XMM_XMMM64 = 916,
1251
+ EVOASM_X64_INST_PMOVSXWQ_XMM_XMMM32 = 917,
1252
+ EVOASM_X64_INST_PMOVSXDQ_XMM_XMMM64 = 918,
1253
+ EVOASM_X64_INST_VPMOVSXBW_XMM_XMMM64 = 919,
1254
+ EVOASM_X64_INST_VPMOVSXBD_XMM_XMMM32 = 920,
1255
+ EVOASM_X64_INST_VPMOVSXBQ_XMM_XMMM16 = 921,
1256
+ EVOASM_X64_INST_VPMOVSXWD_XMM_XMMM64 = 922,
1257
+ EVOASM_X64_INST_VPMOVSXWQ_XMM_XMMM32 = 923,
1258
+ EVOASM_X64_INST_VPMOVSXDQ_XMM_XMMM64 = 924,
1259
+ EVOASM_X64_INST_VPMOVSXBW_YMM_XMMM128 = 925,
1260
+ EVOASM_X64_INST_VPMOVSXBD_YMM_XMMM64 = 926,
1261
+ EVOASM_X64_INST_VPMOVSXBQ_YMM_XMMM32 = 927,
1262
+ EVOASM_X64_INST_VPMOVSXWD_YMM_XMMM128 = 928,
1263
+ EVOASM_X64_INST_VPMOVSXWQ_YMM_XMMM64 = 929,
1264
+ EVOASM_X64_INST_VPMOVSXDQ_YMM_XMMM128 = 930,
1265
+ EVOASM_X64_INST_PMOVZXBW_XMM_XMMM64 = 931,
1266
+ EVOASM_X64_INST_PMOVZXBD_XMM_XMMM32 = 932,
1267
+ EVOASM_X64_INST_PMOVZXBQ_XMM_XMMM16 = 933,
1268
+ EVOASM_X64_INST_PMOVZXWD_XMM_XMMM64 = 934,
1269
+ EVOASM_X64_INST_PMOVZXWQ_XMM_XMMM32 = 935,
1270
+ EVOASM_X64_INST_PMOVZXDQ_XMM_XMMM64 = 936,
1271
+ EVOASM_X64_INST_VPMOVZXBW_XMM_XMMM64 = 937,
1272
+ EVOASM_X64_INST_VPMOVZXBD_XMM_XMMM32 = 938,
1273
+ EVOASM_X64_INST_VPMOVZXBQ_XMM_XMMM16 = 939,
1274
+ EVOASM_X64_INST_VPMOVZXWD_XMM_XMMM64 = 940,
1275
+ EVOASM_X64_INST_VPMOVZXWQ_XMM_XMMM32 = 941,
1276
+ EVOASM_X64_INST_VPMOVZXDQ_XMM_XMMM64 = 942,
1277
+ EVOASM_X64_INST_VPMOVZXBW_YMM_XMMM128 = 943,
1278
+ EVOASM_X64_INST_VPMOVZXBD_YMM_XMMM64 = 944,
1279
+ EVOASM_X64_INST_VPMOVZXBQ_YMM_XMMM32 = 945,
1280
+ EVOASM_X64_INST_VPMOVZXWD_YMM_XMMM128 = 946,
1281
+ EVOASM_X64_INST_VPMOVZXWQ_YMM_XMMM64 = 947,
1282
+ EVOASM_X64_INST_VPMOVZXDQ_YMM_XMMM128 = 948,
1283
+ EVOASM_X64_INST_PMULDQ_XMM_XMMM128 = 949,
1284
+ EVOASM_X64_INST_VPMULDQ_XMM_XMM_XMMM128 = 950,
1285
+ EVOASM_X64_INST_VPMULDQ_YMM_YMM_YMMM256 = 951,
1286
+ EVOASM_X64_INST_PMULHRSW_MM_MMM64 = 952,
1287
+ EVOASM_X64_INST_PMULHRSW_XMM_XMMM128 = 953,
1288
+ EVOASM_X64_INST_VPMULHRSW_XMM_XMM_XMMM128 = 954,
1289
+ EVOASM_X64_INST_VPMULHRSW_YMM_YMM_YMMM256 = 955,
1290
+ EVOASM_X64_INST_PMULHUW_MM_MMM64 = 956,
1291
+ EVOASM_X64_INST_PMULHUW_XMM_XMMM128 = 957,
1292
+ EVOASM_X64_INST_VPMULHUW_XMM_XMM_XMMM128 = 958,
1293
+ EVOASM_X64_INST_VPMULHUW_YMM_YMM_YMMM256 = 959,
1294
+ EVOASM_X64_INST_PMULHW_MM_MMM64 = 960,
1295
+ EVOASM_X64_INST_PMULHW_XMM_XMMM128 = 961,
1296
+ EVOASM_X64_INST_VPMULHW_XMM_XMM_XMMM128 = 962,
1297
+ EVOASM_X64_INST_VPMULHW_YMM_YMM_YMMM256 = 963,
1298
+ EVOASM_X64_INST_PMULLD_XMM_XMMM128 = 964,
1299
+ EVOASM_X64_INST_VPMULLD_XMM_XMM_XMMM128 = 965,
1300
+ EVOASM_X64_INST_VPMULLD_YMM_YMM_YMMM256 = 966,
1301
+ EVOASM_X64_INST_PMULLW_MM_MMM64 = 967,
1302
+ EVOASM_X64_INST_PMULLW_XMM_XMMM128 = 968,
1303
+ EVOASM_X64_INST_VPMULLW_XMM_XMM_XMMM128 = 969,
1304
+ EVOASM_X64_INST_VPMULLW_YMM_YMM_YMMM256 = 970,
1305
+ EVOASM_X64_INST_PMULUDQ_MM_MMM64 = 971,
1306
+ EVOASM_X64_INST_PMULUDQ_XMM_XMMM128 = 972,
1307
+ EVOASM_X64_INST_VPMULUDQ_XMM_XMM_XMMM128 = 973,
1308
+ EVOASM_X64_INST_VPMULUDQ_YMM_YMM_YMMM256 = 974,
1309
+ EVOASM_X64_INST_POP_RM16 = 975,
1310
+ EVOASM_X64_INST_POP_RM64 = 976,
1311
+ EVOASM_X64_INST_POP_R16 = 977,
1312
+ EVOASM_X64_INST_POP_R64 = 978,
1313
+ EVOASM_X64_INST_POPCNT_R16_RM16 = 979,
1314
+ EVOASM_X64_INST_POPCNT_R32_RM32 = 980,
1315
+ EVOASM_X64_INST_POPCNT_R64_RM64 = 981,
1316
+ EVOASM_X64_INST_POPF = 982,
1317
+ EVOASM_X64_INST_POPFQ = 983,
1318
+ EVOASM_X64_INST_POR_MM_MMM64 = 984,
1319
+ EVOASM_X64_INST_POR_XMM_XMMM128 = 985,
1320
+ EVOASM_X64_INST_VPOR_XMM_XMM_XMMM128 = 986,
1321
+ EVOASM_X64_INST_VPOR_YMM_YMM_YMMM256 = 987,
1322
+ EVOASM_X64_INST_PREFETCHT0_M8 = 988,
1323
+ EVOASM_X64_INST_PREFETCHT1_M8 = 989,
1324
+ EVOASM_X64_INST_PREFETCHT2_M8 = 990,
1325
+ EVOASM_X64_INST_PREFETCHNTA_M8 = 991,
1326
+ EVOASM_X64_INST_PREFETCHW_M8 = 992,
1327
+ EVOASM_X64_INST_PREFETCHWT1_M8 = 993,
1328
+ EVOASM_X64_INST_PSADBW_MM_MMM64 = 994,
1329
+ EVOASM_X64_INST_PSADBW_XMM_XMMM128 = 995,
1330
+ EVOASM_X64_INST_VPSADBW_XMM_XMM_XMMM128 = 996,
1331
+ EVOASM_X64_INST_VPSADBW_YMM_YMM_YMMM256 = 997,
1332
+ EVOASM_X64_INST_PSHUFB_MM_MMM64 = 998,
1333
+ EVOASM_X64_INST_PSHUFB_XMM_XMMM128 = 999,
1334
+ EVOASM_X64_INST_VPSHUFB_XMM_XMM_XMMM128 = 1000,
1335
+ EVOASM_X64_INST_VPSHUFB_YMM_YMM_YMMM256 = 1001,
1336
+ EVOASM_X64_INST_PSHUFD_XMM_XMMM128_IMM8 = 1002,
1337
+ EVOASM_X64_INST_VPSHUFD_XMM_XMMM128_IMM8 = 1003,
1338
+ EVOASM_X64_INST_VPSHUFD_YMM_YMMM256_IMM8 = 1004,
1339
+ EVOASM_X64_INST_PSHUFHW_XMM_XMMM128_IMM8 = 1005,
1340
+ EVOASM_X64_INST_VPSHUFHW_XMM_XMMM128_IMM8 = 1006,
1341
+ EVOASM_X64_INST_VPSHUFHW_YMM_YMMM256_IMM8 = 1007,
1342
+ EVOASM_X64_INST_PSHUFLW_XMM_XMMM128_IMM8 = 1008,
1343
+ EVOASM_X64_INST_VPSHUFLW_XMM_XMMM128_IMM8 = 1009,
1344
+ EVOASM_X64_INST_VPSHUFLW_YMM_YMMM256_IMM8 = 1010,
1345
+ EVOASM_X64_INST_PSHUFW_MM_MMM64_IMM8 = 1011,
1346
+ EVOASM_X64_INST_PSIGNB_MM_MMM64 = 1012,
1347
+ EVOASM_X64_INST_PSIGNB_XMM_XMMM128 = 1013,
1348
+ EVOASM_X64_INST_PSIGNW_MM_MMM64 = 1014,
1349
+ EVOASM_X64_INST_PSIGNW_XMM_XMMM128 = 1015,
1350
+ EVOASM_X64_INST_PSIGND_MM_MMM64 = 1016,
1351
+ EVOASM_X64_INST_PSIGND_XMM_XMMM128 = 1017,
1352
+ EVOASM_X64_INST_VPSIGNB_XMM_XMM_XMMM128 = 1018,
1353
+ EVOASM_X64_INST_VPSIGNW_XMM_XMM_XMMM128 = 1019,
1354
+ EVOASM_X64_INST_VPSIGND_XMM_XMM_XMMM128 = 1020,
1355
+ EVOASM_X64_INST_VPSIGNB_YMM_YMM_YMMM256 = 1021,
1356
+ EVOASM_X64_INST_VPSIGNW_YMM_YMM_YMMM256 = 1022,
1357
+ EVOASM_X64_INST_VPSIGND_YMM_YMM_YMMM256 = 1023,
1358
+ EVOASM_X64_INST_PSLLDQ_XMM_IMM8 = 1024,
1359
+ EVOASM_X64_INST_VPSLLDQ_XMM_XMM_IMM8 = 1025,
1360
+ EVOASM_X64_INST_VPSLLDQ_YMM_YMM_IMM8 = 1026,
1361
+ EVOASM_X64_INST_PSLLW_MM_MMM64 = 1027,
1362
+ EVOASM_X64_INST_PSLLW_XMM_XMMM128 = 1028,
1363
+ EVOASM_X64_INST_PSLLW_MM_IMM8 = 1029,
1364
+ EVOASM_X64_INST_PSLLW_XMM_IMM8 = 1030,
1365
+ EVOASM_X64_INST_PSLLD_MM_MMM64 = 1031,
1366
+ EVOASM_X64_INST_PSLLD_XMM_XMMM128 = 1032,
1367
+ EVOASM_X64_INST_PSLLD_MM_IMM8 = 1033,
1368
+ EVOASM_X64_INST_PSLLD_XMM_IMM8 = 1034,
1369
+ EVOASM_X64_INST_PSLLQ_MM_MMM64 = 1035,
1370
+ EVOASM_X64_INST_PSLLQ_XMM_XMMM128 = 1036,
1371
+ EVOASM_X64_INST_PSLLQ_MM_IMM8 = 1037,
1372
+ EVOASM_X64_INST_PSLLQ_XMM_IMM8 = 1038,
1373
+ EVOASM_X64_INST_VPSLLW_XMM_XMM_XMMM128 = 1039,
1374
+ EVOASM_X64_INST_VPSLLW_XMM_XMM_IMM8 = 1040,
1375
+ EVOASM_X64_INST_VPSLLD_XMM_XMM_XMMM128 = 1041,
1376
+ EVOASM_X64_INST_VPSLLD_XMM_XMM_IMM8 = 1042,
1377
+ EVOASM_X64_INST_VPSLLQ_XMM_XMM_XMMM128 = 1043,
1378
+ EVOASM_X64_INST_VPSLLQ_XMM_XMM_IMM8 = 1044,
1379
+ EVOASM_X64_INST_VPSLLW_YMM_YMM_XMMM128 = 1045,
1380
+ EVOASM_X64_INST_VPSLLW_YMM_YMM_IMM8 = 1046,
1381
+ EVOASM_X64_INST_VPSLLD_YMM_YMM_XMMM128 = 1047,
1382
+ EVOASM_X64_INST_VPSLLD_YMM_YMM_IMM8 = 1048,
1383
+ EVOASM_X64_INST_VPSLLQ_YMM_YMM_XMMM128 = 1049,
1384
+ EVOASM_X64_INST_VPSLLQ_YMM_YMM_IMM8 = 1050,
1385
+ EVOASM_X64_INST_PSRAW_MM_MMM64 = 1051,
1386
+ EVOASM_X64_INST_PSRAW_XMM_XMMM128 = 1052,
1387
+ EVOASM_X64_INST_PSRAW_MM_IMM8 = 1053,
1388
+ EVOASM_X64_INST_PSRAW_XMM_IMM8 = 1054,
1389
+ EVOASM_X64_INST_PSRAD_MM_MMM64 = 1055,
1390
+ EVOASM_X64_INST_PSRAD_XMM_XMMM128 = 1056,
1391
+ EVOASM_X64_INST_PSRAD_MM_IMM8 = 1057,
1392
+ EVOASM_X64_INST_PSRAD_XMM_IMM8 = 1058,
1393
+ EVOASM_X64_INST_VPSRAW_XMM_XMM_XMMM128 = 1059,
1394
+ EVOASM_X64_INST_VPSRAW_XMM_XMM_IMM8 = 1060,
1395
+ EVOASM_X64_INST_VPSRAD_XMM_XMM_XMMM128 = 1061,
1396
+ EVOASM_X64_INST_VPSRAD_XMM_XMM_IMM8 = 1062,
1397
+ EVOASM_X64_INST_VPSRAW_YMM_YMM_XMMM128 = 1063,
1398
+ EVOASM_X64_INST_VPSRAW_YMM_YMM_IMM8 = 1064,
1399
+ EVOASM_X64_INST_VPSRAD_YMM_YMM_XMMM128 = 1065,
1400
+ EVOASM_X64_INST_VPSRAD_YMM_YMM_IMM8 = 1066,
1401
+ EVOASM_X64_INST_PSRLDQ_XMM_IMM8 = 1067,
1402
+ EVOASM_X64_INST_VPSRLDQ_XMM_XMM_IMM8 = 1068,
1403
+ EVOASM_X64_INST_VPSRLDQ_YMM_YMM_IMM8 = 1069,
1404
+ EVOASM_X64_INST_PSRLW_MM_MMM64 = 1070,
1405
+ EVOASM_X64_INST_PSRLW_XMM_XMMM128 = 1071,
1406
+ EVOASM_X64_INST_PSRLW_MM_IMM8 = 1072,
1407
+ EVOASM_X64_INST_PSRLW_XMM_IMM8 = 1073,
1408
+ EVOASM_X64_INST_PSRLD_MM_MMM64 = 1074,
1409
+ EVOASM_X64_INST_PSRLD_XMM_XMMM128 = 1075,
1410
+ EVOASM_X64_INST_PSRLD_MM_IMM8 = 1076,
1411
+ EVOASM_X64_INST_PSRLD_XMM_IMM8 = 1077,
1412
+ EVOASM_X64_INST_PSRLQ_MM_MMM64 = 1078,
1413
+ EVOASM_X64_INST_PSRLQ_XMM_XMMM128 = 1079,
1414
+ EVOASM_X64_INST_PSRLQ_MM_IMM8 = 1080,
1415
+ EVOASM_X64_INST_PSRLQ_XMM_IMM8 = 1081,
1416
+ EVOASM_X64_INST_VPSRLW_XMM_XMM_XMMM128 = 1082,
1417
+ EVOASM_X64_INST_VPSRLW_XMM_XMM_IMM8 = 1083,
1418
+ EVOASM_X64_INST_VPSRLD_XMM_XMM_XMMM128 = 1084,
1419
+ EVOASM_X64_INST_VPSRLD_XMM_XMM_IMM8 = 1085,
1420
+ EVOASM_X64_INST_VPSRLQ_XMM_XMM_XMMM128 = 1086,
1421
+ EVOASM_X64_INST_VPSRLQ_XMM_XMM_IMM8 = 1087,
1422
+ EVOASM_X64_INST_VPSRLW_YMM_YMM_XMMM128 = 1088,
1423
+ EVOASM_X64_INST_VPSRLW_YMM_YMM_IMM8 = 1089,
1424
+ EVOASM_X64_INST_VPSRLD_YMM_YMM_XMMM128 = 1090,
1425
+ EVOASM_X64_INST_VPSRLD_YMM_YMM_IMM8 = 1091,
1426
+ EVOASM_X64_INST_VPSRLQ_YMM_YMM_XMMM128 = 1092,
1427
+ EVOASM_X64_INST_VPSRLQ_YMM_YMM_IMM8 = 1093,
1428
+ EVOASM_X64_INST_PSUBB_MM_MMM64 = 1094,
1429
+ EVOASM_X64_INST_PSUBB_XMM_XMMM128 = 1095,
1430
+ EVOASM_X64_INST_PSUBW_MM_MMM64 = 1096,
1431
+ EVOASM_X64_INST_PSUBW_XMM_XMMM128 = 1097,
1432
+ EVOASM_X64_INST_PSUBD_MM_MMM64 = 1098,
1433
+ EVOASM_X64_INST_PSUBD_XMM_XMMM128 = 1099,
1434
+ EVOASM_X64_INST_VPSUBB_XMM_XMM_XMMM128 = 1100,
1435
+ EVOASM_X64_INST_VPSUBW_XMM_XMM_XMMM128 = 1101,
1436
+ EVOASM_X64_INST_VPSUBD_XMM_XMM_XMMM128 = 1102,
1437
+ EVOASM_X64_INST_VPSUBB_YMM_YMM_YMMM256 = 1103,
1438
+ EVOASM_X64_INST_VPSUBW_YMM_YMM_YMMM256 = 1104,
1439
+ EVOASM_X64_INST_VPSUBD_YMM_YMM_YMMM256 = 1105,
1440
+ EVOASM_X64_INST_PSUBQ_MM_MMM64 = 1106,
1441
+ EVOASM_X64_INST_PSUBQ_XMM_XMMM128 = 1107,
1442
+ EVOASM_X64_INST_VPSUBQ_XMM_XMM_XMMM128 = 1108,
1443
+ EVOASM_X64_INST_VPSUBQ_YMM_YMM_YMMM256 = 1109,
1444
+ EVOASM_X64_INST_PSUBSB_MM_MMM64 = 1110,
1445
+ EVOASM_X64_INST_PSUBSB_XMM_XMMM128 = 1111,
1446
+ EVOASM_X64_INST_PSUBSW_MM_MMM64 = 1112,
1447
+ EVOASM_X64_INST_PSUBSW_XMM_XMMM128 = 1113,
1448
+ EVOASM_X64_INST_VPSUBSB_XMM_XMM_XMMM128 = 1114,
1449
+ EVOASM_X64_INST_VPSUBSW_XMM_XMM_XMMM128 = 1115,
1450
+ EVOASM_X64_INST_VPSUBSB_YMM_YMM_YMMM256 = 1116,
1451
+ EVOASM_X64_INST_VPSUBSW_YMM_YMM_YMMM256 = 1117,
1452
+ EVOASM_X64_INST_PSUBUSB_MM_MMM64 = 1118,
1453
+ EVOASM_X64_INST_PSUBUSB_XMM_XMMM128 = 1119,
1454
+ EVOASM_X64_INST_PSUBUSW_MM_MMM64 = 1120,
1455
+ EVOASM_X64_INST_PSUBUSW_XMM_XMMM128 = 1121,
1456
+ EVOASM_X64_INST_VPSUBUSB_XMM_XMM_XMMM128 = 1122,
1457
+ EVOASM_X64_INST_VPSUBUSW_XMM_XMM_XMMM128 = 1123,
1458
+ EVOASM_X64_INST_VPSUBUSB_YMM_YMM_YMMM256 = 1124,
1459
+ EVOASM_X64_INST_VPSUBUSW_YMM_YMM_YMMM256 = 1125,
1460
+ EVOASM_X64_INST_PTEST_XMM_XMMM128 = 1126,
1461
+ EVOASM_X64_INST_VPTEST_XMM_XMMM128 = 1127,
1462
+ EVOASM_X64_INST_VPTEST_YMM_YMMM256 = 1128,
1463
+ EVOASM_X64_INST_PUNPCKHBW_MM_MMM64 = 1129,
1464
+ EVOASM_X64_INST_PUNPCKHBW_XMM_XMMM128 = 1130,
1465
+ EVOASM_X64_INST_PUNPCKHWD_MM_MMM64 = 1131,
1466
+ EVOASM_X64_INST_PUNPCKHWD_XMM_XMMM128 = 1132,
1467
+ EVOASM_X64_INST_PUNPCKHDQ_MM_MMM64 = 1133,
1468
+ EVOASM_X64_INST_PUNPCKHDQ_XMM_XMMM128 = 1134,
1469
+ EVOASM_X64_INST_PUNPCKHQDQ_XMM_XMMM128 = 1135,
1470
+ EVOASM_X64_INST_VPUNPCKHBW_XMM_XMM_XMMM128 = 1136,
1471
+ EVOASM_X64_INST_VPUNPCKHWD_XMM_XMM_XMMM128 = 1137,
1472
+ EVOASM_X64_INST_VPUNPCKHDQ_XMM_XMM_XMMM128 = 1138,
1473
+ EVOASM_X64_INST_VPUNPCKHQDQ_XMM_XMM_XMMM128 = 1139,
1474
+ EVOASM_X64_INST_VPUNPCKHBW_YMM_YMM_YMMM256 = 1140,
1475
+ EVOASM_X64_INST_VPUNPCKHWD_YMM_YMM_YMMM256 = 1141,
1476
+ EVOASM_X64_INST_VPUNPCKHDQ_YMM_YMM_YMMM256 = 1142,
1477
+ EVOASM_X64_INST_VPUNPCKHQDQ_YMM_YMM_YMMM256 = 1143,
1478
+ EVOASM_X64_INST_PUNPCKLBW_MM_MMM32 = 1144,
1479
+ EVOASM_X64_INST_PUNPCKLBW_XMM_XMMM128 = 1145,
1480
+ EVOASM_X64_INST_PUNPCKLWD_MM_MMM32 = 1146,
1481
+ EVOASM_X64_INST_PUNPCKLWD_XMM_XMMM128 = 1147,
1482
+ EVOASM_X64_INST_PUNPCKLDQ_MM_MMM32 = 1148,
1483
+ EVOASM_X64_INST_PUNPCKLDQ_XMM_XMMM128 = 1149,
1484
+ EVOASM_X64_INST_PUNPCKLQDQ_XMM_XMMM128 = 1150,
1485
+ EVOASM_X64_INST_VPUNPCKLBW_XMM_XMM_XMMM128 = 1151,
1486
+ EVOASM_X64_INST_VPUNPCKLWD_XMM_XMM_XMMM128 = 1152,
1487
+ EVOASM_X64_INST_VPUNPCKLDQ_XMM_XMM_XMMM128 = 1153,
1488
+ EVOASM_X64_INST_VPUNPCKLQDQ_XMM_XMM_XMMM128 = 1154,
1489
+ EVOASM_X64_INST_VPUNPCKLBW_YMM_YMM_YMMM256 = 1155,
1490
+ EVOASM_X64_INST_VPUNPCKLWD_YMM_YMM_YMMM256 = 1156,
1491
+ EVOASM_X64_INST_VPUNPCKLDQ_YMM_YMM_YMMM256 = 1157,
1492
+ EVOASM_X64_INST_VPUNPCKLQDQ_YMM_YMM_YMMM256 = 1158,
1493
+ EVOASM_X64_INST_PUSH_RM16 = 1159,
1494
+ EVOASM_X64_INST_PUSH_RM64 = 1160,
1495
+ EVOASM_X64_INST_PUSH_R16 = 1161,
1496
+ EVOASM_X64_INST_PUSH_R64 = 1162,
1497
+ EVOASM_X64_INST_PUSH_IMM8 = 1163,
1498
+ EVOASM_X64_INST_PUSH_IMM16 = 1164,
1499
+ EVOASM_X64_INST_PUSH_IMM32 = 1165,
1500
+ EVOASM_X64_INST_PUSHF = 1166,
1501
+ EVOASM_X64_INST_PUSHFQ = 1167,
1502
+ EVOASM_X64_INST_PXOR_MM_MMM64 = 1168,
1503
+ EVOASM_X64_INST_PXOR_XMM_XMMM128 = 1169,
1504
+ EVOASM_X64_INST_VPXOR_XMM_XMM_XMMM128 = 1170,
1505
+ EVOASM_X64_INST_VPXOR_YMM_YMM_YMMM256 = 1171,
1506
+ EVOASM_X64_INST_RCL_RM8_1 = 1172,
1507
+ EVOASM_X64_INST_RCL_RM8_CL = 1173,
1508
+ EVOASM_X64_INST_RCL_RM8_IMM8 = 1174,
1509
+ EVOASM_X64_INST_RCL_RM16_1 = 1175,
1510
+ EVOASM_X64_INST_RCL_RM16_CL = 1176,
1511
+ EVOASM_X64_INST_RCL_RM16_IMM8 = 1177,
1512
+ EVOASM_X64_INST_RCL_RM32_1 = 1178,
1513
+ EVOASM_X64_INST_RCL_RM64_1 = 1179,
1514
+ EVOASM_X64_INST_RCL_RM32_CL = 1180,
1515
+ EVOASM_X64_INST_RCL_RM64_CL = 1181,
1516
+ EVOASM_X64_INST_RCL_RM32_IMM8 = 1182,
1517
+ EVOASM_X64_INST_RCL_RM64_IMM8 = 1183,
1518
+ EVOASM_X64_INST_RCR_RM8_1 = 1184,
1519
+ EVOASM_X64_INST_RCR_RM8_CL = 1185,
1520
+ EVOASM_X64_INST_RCR_RM8_IMM8 = 1186,
1521
+ EVOASM_X64_INST_RCR_RM16_1 = 1187,
1522
+ EVOASM_X64_INST_RCR_RM16_CL = 1188,
1523
+ EVOASM_X64_INST_RCR_RM16_IMM8 = 1189,
1524
+ EVOASM_X64_INST_RCR_RM32_1 = 1190,
1525
+ EVOASM_X64_INST_RCR_RM64_1 = 1191,
1526
+ EVOASM_X64_INST_RCR_RM32_CL = 1192,
1527
+ EVOASM_X64_INST_RCR_RM64_CL = 1193,
1528
+ EVOASM_X64_INST_RCR_RM32_IMM8 = 1194,
1529
+ EVOASM_X64_INST_RCR_RM64_IMM8 = 1195,
1530
+ EVOASM_X64_INST_ROL_RM8_1 = 1196,
1531
+ EVOASM_X64_INST_ROL_RM8_CL = 1197,
1532
+ EVOASM_X64_INST_ROL_RM8_IMM8 = 1198,
1533
+ EVOASM_X64_INST_ROL_RM16_1 = 1199,
1534
+ EVOASM_X64_INST_ROL_RM16_CL = 1200,
1535
+ EVOASM_X64_INST_ROL_RM16_IMM8 = 1201,
1536
+ EVOASM_X64_INST_ROL_RM32_1 = 1202,
1537
+ EVOASM_X64_INST_ROL_RM64_1 = 1203,
1538
+ EVOASM_X64_INST_ROL_RM32_CL = 1204,
1539
+ EVOASM_X64_INST_ROL_RM64_CL = 1205,
1540
+ EVOASM_X64_INST_ROL_RM32_IMM8 = 1206,
1541
+ EVOASM_X64_INST_ROL_RM64_IMM8 = 1207,
1542
+ EVOASM_X64_INST_ROR_RM8_1 = 1208,
1543
+ EVOASM_X64_INST_ROR_RM8_CL = 1209,
1544
+ EVOASM_X64_INST_ROR_RM8_IMM8 = 1210,
1545
+ EVOASM_X64_INST_ROR_RM16_1 = 1211,
1546
+ EVOASM_X64_INST_ROR_RM16_CL = 1212,
1547
+ EVOASM_X64_INST_ROR_RM16_IMM8 = 1213,
1548
+ EVOASM_X64_INST_ROR_RM32_1 = 1214,
1549
+ EVOASM_X64_INST_ROR_RM64_1 = 1215,
1550
+ EVOASM_X64_INST_ROR_RM32_CL = 1216,
1551
+ EVOASM_X64_INST_ROR_RM64_CL = 1217,
1552
+ EVOASM_X64_INST_ROR_RM32_IMM8 = 1218,
1553
+ EVOASM_X64_INST_ROR_RM64_IMM8 = 1219,
1554
+ EVOASM_X64_INST_RCPPS_XMM_XMMM128 = 1220,
1555
+ EVOASM_X64_INST_VRCPPS_XMM_XMMM128 = 1221,
1556
+ EVOASM_X64_INST_VRCPPS_YMM_YMMM256 = 1222,
1557
+ EVOASM_X64_INST_RCPSS_XMM_XMMM32 = 1223,
1558
+ EVOASM_X64_INST_VRCPSS_XMM_XMM_XMMM32 = 1224,
1559
+ EVOASM_X64_INST_RDRAND_R16 = 1225,
1560
+ EVOASM_X64_INST_RDRAND_R32 = 1226,
1561
+ EVOASM_X64_INST_RDRAND_R64 = 1227,
1562
+ EVOASM_X64_INST_RDSEED_R16 = 1228,
1563
+ EVOASM_X64_INST_RDSEED_R32 = 1229,
1564
+ EVOASM_X64_INST_RDSEED_R64 = 1230,
1565
+ EVOASM_X64_INST_REP_MOVSB = 1231,
1566
+ EVOASM_X64_INST_REP_MOVSW = 1232,
1567
+ EVOASM_X64_INST_REP_MOVSD = 1233,
1568
+ EVOASM_X64_INST_REP_MOVSQ = 1234,
1569
+ EVOASM_X64_INST_REP_LODSB = 1235,
1570
+ EVOASM_X64_INST_REP_LODSW = 1236,
1571
+ EVOASM_X64_INST_REP_LODSD = 1237,
1572
+ EVOASM_X64_INST_REP_LODSQ = 1238,
1573
+ EVOASM_X64_INST_REP_STOSB = 1239,
1574
+ EVOASM_X64_INST_REP_STOSW = 1240,
1575
+ EVOASM_X64_INST_REP_STOSD = 1241,
1576
+ EVOASM_X64_INST_REP_STOSQ = 1242,
1577
+ EVOASM_X64_INST_REPE_CMPSB = 1243,
1578
+ EVOASM_X64_INST_REPE_CMPSW = 1244,
1579
+ EVOASM_X64_INST_REPE_CMPSD = 1245,
1580
+ EVOASM_X64_INST_REPE_CMPSQ = 1246,
1581
+ EVOASM_X64_INST_REPE_SCASB = 1247,
1582
+ EVOASM_X64_INST_REPE_SCASW = 1248,
1583
+ EVOASM_X64_INST_REPE_SCASD = 1249,
1584
+ EVOASM_X64_INST_REPE_SCASQ = 1250,
1585
+ EVOASM_X64_INST_REPNE_CMPSB = 1251,
1586
+ EVOASM_X64_INST_REPNE_CMPSW = 1252,
1587
+ EVOASM_X64_INST_REPNE_CMPSD = 1253,
1588
+ EVOASM_X64_INST_REPNE_CMPSQ = 1254,
1589
+ EVOASM_X64_INST_REPNE_SCASB = 1255,
1590
+ EVOASM_X64_INST_REPNE_SCASW = 1256,
1591
+ EVOASM_X64_INST_REPNE_SCASD = 1257,
1592
+ EVOASM_X64_INST_REPNE_SCASQ = 1258,
1593
+ EVOASM_X64_INST_RET = 1259,
1594
+ EVOASM_X64_INST_RET_IMM16 = 1260,
1595
+ EVOASM_X64_INST_RORX_R32_RM32_IMM8 = 1261,
1596
+ EVOASM_X64_INST_RORX_R64_RM64_IMM8 = 1262,
1597
+ EVOASM_X64_INST_ROUNDPD_XMM_XMMM128_IMM8 = 1263,
1598
+ EVOASM_X64_INST_VROUNDPD_XMM_XMMM128_IMM8 = 1264,
1599
+ EVOASM_X64_INST_VROUNDPD_YMM_YMMM256_IMM8 = 1265,
1600
+ EVOASM_X64_INST_ROUNDPS_XMM_XMMM128_IMM8 = 1266,
1601
+ EVOASM_X64_INST_VROUNDPS_XMM_XMMM128_IMM8 = 1267,
1602
+ EVOASM_X64_INST_VROUNDPS_YMM_YMMM256_IMM8 = 1268,
1603
+ EVOASM_X64_INST_ROUNDSD_XMM_XMMM64_IMM8 = 1269,
1604
+ EVOASM_X64_INST_VROUNDSD_XMM_XMM_XMMM64_IMM8 = 1270,
1605
+ EVOASM_X64_INST_ROUNDSS_XMM_XMMM32_IMM8 = 1271,
1606
+ EVOASM_X64_INST_VROUNDSS_XMM_XMM_XMMM32_IMM8 = 1272,
1607
+ EVOASM_X64_INST_RSQRTPS_XMM_XMMM128 = 1273,
1608
+ EVOASM_X64_INST_VRSQRTPS_XMM_XMMM128 = 1274,
1609
+ EVOASM_X64_INST_VRSQRTPS_YMM_YMMM256 = 1275,
1610
+ EVOASM_X64_INST_RSQRTSS_XMM_XMMM32 = 1276,
1611
+ EVOASM_X64_INST_VRSQRTSS_XMM_XMM_XMMM32 = 1277,
1612
+ EVOASM_X64_INST_SAHF = 1278,
1613
+ EVOASM_X64_INST_SAL_RM8_1 = 1279,
1614
+ EVOASM_X64_INST_SAL_RM8_CL = 1280,
1615
+ EVOASM_X64_INST_SAL_RM8_IMM8 = 1281,
1616
+ EVOASM_X64_INST_SAL0_RM16_1 = 1282,
1617
+ EVOASM_X64_INST_SAL0_RM16_CL = 1283,
1618
+ EVOASM_X64_INST_SAL_RM16_IMM8 = 1284,
1619
+ EVOASM_X64_INST_SAL0_RM32_1 = 1285,
1620
+ EVOASM_X64_INST_SAL0_RM64_1 = 1286,
1621
+ EVOASM_X64_INST_SAL0_RM32_CL = 1287,
1622
+ EVOASM_X64_INST_SAL0_RM64_CL = 1288,
1623
+ EVOASM_X64_INST_SAL_RM32_IMM8 = 1289,
1624
+ EVOASM_X64_INST_SAL_RM64_IMM8 = 1290,
1625
+ EVOASM_X64_INST_SAR_RM8_1 = 1291,
1626
+ EVOASM_X64_INST_SAR_RM8_CL = 1292,
1627
+ EVOASM_X64_INST_SAR_RM8_IMM8 = 1293,
1628
+ EVOASM_X64_INST_SAR_RM16_1 = 1294,
1629
+ EVOASM_X64_INST_SAR_RM16_CL = 1295,
1630
+ EVOASM_X64_INST_SAR_RM16_IMM8 = 1296,
1631
+ EVOASM_X64_INST_SAR_RM32_1 = 1297,
1632
+ EVOASM_X64_INST_SAR_RM64_1 = 1298,
1633
+ EVOASM_X64_INST_SAR_RM32_CL = 1299,
1634
+ EVOASM_X64_INST_SAR_RM64_CL = 1300,
1635
+ EVOASM_X64_INST_SAR_RM32_IMM8 = 1301,
1636
+ EVOASM_X64_INST_SAR_RM64_IMM8 = 1302,
1637
+ EVOASM_X64_INST_SAL1_RM16_1 = 1303,
1638
+ EVOASM_X64_INST_SAL1_RM16_CL = 1304,
1639
+ EVOASM_X64_INST_SAL1_RM32_1 = 1305,
1640
+ EVOASM_X64_INST_SAL1_RM64_1 = 1306,
1641
+ EVOASM_X64_INST_SAL1_RM32_CL = 1307,
1642
+ EVOASM_X64_INST_SAL1_RM64_CL = 1308,
1643
+ EVOASM_X64_INST_SHR_RM8_1 = 1309,
1644
+ EVOASM_X64_INST_SHR_RM8_CL = 1310,
1645
+ EVOASM_X64_INST_SHR_RM8_IMM8 = 1311,
1646
+ EVOASM_X64_INST_SHR_RM16_1 = 1312,
1647
+ EVOASM_X64_INST_SHR_RM16_CL = 1313,
1648
+ EVOASM_X64_INST_SHR_RM16_IMM8 = 1314,
1649
+ EVOASM_X64_INST_SHR_RM32_1 = 1315,
1650
+ EVOASM_X64_INST_SHR_RM64_1 = 1316,
1651
+ EVOASM_X64_INST_SHR_RM32_CL = 1317,
1652
+ EVOASM_X64_INST_SHR_RM64_CL = 1318,
1653
+ EVOASM_X64_INST_SHR_RM32_IMM8 = 1319,
1654
+ EVOASM_X64_INST_SHR_RM64_IMM8 = 1320,
1655
+ EVOASM_X64_INST_SARX_R32_RM32_R32 = 1321,
1656
+ EVOASM_X64_INST_SHLX_R32_RM32_R32 = 1322,
1657
+ EVOASM_X64_INST_SHRX_R32_RM32_R32 = 1323,
1658
+ EVOASM_X64_INST_SARX_R64_RM64_R64 = 1324,
1659
+ EVOASM_X64_INST_SHLX_R64_RM64_R64 = 1325,
1660
+ EVOASM_X64_INST_SHRX_R64_RM64_R64 = 1326,
1661
+ EVOASM_X64_INST_SBB_AL_IMM8 = 1327,
1662
+ EVOASM_X64_INST_SBB_AX_IMM16 = 1328,
1663
+ EVOASM_X64_INST_SBB_EAX_IMM32 = 1329,
1664
+ EVOASM_X64_INST_SBB_RAX_IMM32 = 1330,
1665
+ EVOASM_X64_INST_SBB_RM8_IMM8 = 1331,
1666
+ EVOASM_X64_INST_SBB_RM16_IMM16 = 1332,
1667
+ EVOASM_X64_INST_SBB_RM32_IMM32 = 1333,
1668
+ EVOASM_X64_INST_SBB_RM64_IMM32 = 1334,
1669
+ EVOASM_X64_INST_SBB_RM16_IMM8 = 1335,
1670
+ EVOASM_X64_INST_SBB_RM32_IMM8 = 1336,
1671
+ EVOASM_X64_INST_SBB_RM64_IMM8 = 1337,
1672
+ EVOASM_X64_INST_SBB_RM8_R8 = 1338,
1673
+ EVOASM_X64_INST_SBB_RM16_R16 = 1339,
1674
+ EVOASM_X64_INST_SBB_RM32_R32 = 1340,
1675
+ EVOASM_X64_INST_SBB_RM64_R64 = 1341,
1676
+ EVOASM_X64_INST_SBB_R8_RM8 = 1342,
1677
+ EVOASM_X64_INST_SBB_R16_RM16 = 1343,
1678
+ EVOASM_X64_INST_SBB_R32_RM32 = 1344,
1679
+ EVOASM_X64_INST_SBB_R64_RM64 = 1345,
1680
+ EVOASM_X64_INST_SCASB = 1346,
1681
+ EVOASM_X64_INST_SCASW = 1347,
1682
+ EVOASM_X64_INST_SCASD = 1348,
1683
+ EVOASM_X64_INST_SCASQ = 1349,
1684
+ EVOASM_X64_INST_SETA_RM8 = 1350,
1685
+ EVOASM_X64_INST_SETAE_RM8 = 1351,
1686
+ EVOASM_X64_INST_SETB_RM8 = 1352,
1687
+ EVOASM_X64_INST_SETBE_RM8 = 1353,
1688
+ EVOASM_X64_INST_SETE_RM8 = 1354,
1689
+ EVOASM_X64_INST_SETG_RM8 = 1355,
1690
+ EVOASM_X64_INST_SETGE_RM8 = 1356,
1691
+ EVOASM_X64_INST_SETNGE_RM8 = 1357,
1692
+ EVOASM_X64_INST_SETLE_RM8 = 1358,
1693
+ EVOASM_X64_INST_SETNE_RM8 = 1359,
1694
+ EVOASM_X64_INST_SETNO_RM8 = 1360,
1695
+ EVOASM_X64_INST_SETPO_RM8 = 1361,
1696
+ EVOASM_X64_INST_SETNS_RM8 = 1362,
1697
+ EVOASM_X64_INST_SETO_RM8 = 1363,
1698
+ EVOASM_X64_INST_SETP_RM8 = 1364,
1699
+ EVOASM_X64_INST_SETS_RM8 = 1365,
1700
+ EVOASM_X64_INST_SFENCE = 1366,
1701
+ EVOASM_X64_INST_SHA1RNDS4_XMM_XMMM128_IMM8 = 1367,
1702
+ EVOASM_X64_INST_SHA1NEXTE_XMM_XMMM128 = 1368,
1703
+ EVOASM_X64_INST_SHA1MSG1_XMM_XMMM128 = 1369,
1704
+ EVOASM_X64_INST_SHA1MSG2_XMM_XMMM128 = 1370,
1705
+ EVOASM_X64_INST_SHA256RNDS2_XMM_XMMM128_XMM0 = 1371,
1706
+ EVOASM_X64_INST_SHA256MSG1_XMM_XMMM128 = 1372,
1707
+ EVOASM_X64_INST_SHA256MSG2_XMM_XMMM128 = 1373,
1708
+ EVOASM_X64_INST_SHLD_RM16_R16_IMM8 = 1374,
1709
+ EVOASM_X64_INST_SHLD_RM16_R16_CL = 1375,
1710
+ EVOASM_X64_INST_SHLD_RM32_R32_IMM8 = 1376,
1711
+ EVOASM_X64_INST_SHLD_RM64_R64_IMM8 = 1377,
1712
+ EVOASM_X64_INST_SHLD_RM32_R32_CL = 1378,
1713
+ EVOASM_X64_INST_SHLD_RM64_R64_CL = 1379,
1714
+ EVOASM_X64_INST_SHRD_RM16_R16_IMM8 = 1380,
1715
+ EVOASM_X64_INST_SHRD_RM16_R16_CL = 1381,
1716
+ EVOASM_X64_INST_SHRD_RM32_R32_IMM8 = 1382,
1717
+ EVOASM_X64_INST_SHRD_RM64_R64_IMM8 = 1383,
1718
+ EVOASM_X64_INST_SHRD_RM32_R32_CL = 1384,
1719
+ EVOASM_X64_INST_SHRD_RM64_R64_CL = 1385,
1720
+ EVOASM_X64_INST_SHUFPD_XMM_XMMM128_IMM8 = 1386,
1721
+ EVOASM_X64_INST_VSHUFPD_XMM_XMM_XMMM128_IMM8 = 1387,
1722
+ EVOASM_X64_INST_VSHUFPD_YMM_YMM_YMMM256_IMM8 = 1388,
1723
+ EVOASM_X64_INST_SHUFPS_XMM_XMMM128_IMM8 = 1389,
1724
+ EVOASM_X64_INST_VSHUFPS_XMM_XMM_XMMM128_IMM8 = 1390,
1725
+ EVOASM_X64_INST_VSHUFPS_YMM_YMM_YMMM256_IMM8 = 1391,
1726
+ EVOASM_X64_INST_SQRTPD_XMM_XMMM128 = 1392,
1727
+ EVOASM_X64_INST_VSQRTPD_XMM_XMMM128 = 1393,
1728
+ EVOASM_X64_INST_VSQRTPD_YMM_YMMM256 = 1394,
1729
+ EVOASM_X64_INST_SQRTPS_XMM_XMMM128 = 1395,
1730
+ EVOASM_X64_INST_VSQRTPS_XMM_XMMM128 = 1396,
1731
+ EVOASM_X64_INST_VSQRTPS_YMM_YMMM256 = 1397,
1732
+ EVOASM_X64_INST_SQRTSD_XMM_XMMM64 = 1398,
1733
+ EVOASM_X64_INST_VSQRTSD_XMM_XMM_XMMM64 = 1399,
1734
+ EVOASM_X64_INST_SQRTSS_XMM_XMMM32 = 1400,
1735
+ EVOASM_X64_INST_VSQRTSS_XMM_XMM_XMMM32 = 1401,
1736
+ EVOASM_X64_INST_STC = 1402,
1737
+ EVOASM_X64_INST_STD = 1403,
1738
+ EVOASM_X64_INST_STMXCSR_M32 = 1404,
1739
+ EVOASM_X64_INST_VSTMXCSR_M32 = 1405,
1740
+ EVOASM_X64_INST_STOSB = 1406,
1741
+ EVOASM_X64_INST_STOSW = 1407,
1742
+ EVOASM_X64_INST_STOSD = 1408,
1743
+ EVOASM_X64_INST_STOSQ = 1409,
1744
+ EVOASM_X64_INST_SUB_AL_IMM8 = 1410,
1745
+ EVOASM_X64_INST_SUB_AX_IMM16 = 1411,
1746
+ EVOASM_X64_INST_SUB_EAX_IMM32 = 1412,
1747
+ EVOASM_X64_INST_SUB_RAX_IMM32 = 1413,
1748
+ EVOASM_X64_INST_SUB_RM8_IMM8 = 1414,
1749
+ EVOASM_X64_INST_SUB_RM16_IMM16 = 1415,
1750
+ EVOASM_X64_INST_SUB_RM32_IMM32 = 1416,
1751
+ EVOASM_X64_INST_SUB_RM64_IMM32 = 1417,
1752
+ EVOASM_X64_INST_SUB_RM16_IMM8 = 1418,
1753
+ EVOASM_X64_INST_SUB_RM32_IMM8 = 1419,
1754
+ EVOASM_X64_INST_SUB_RM64_IMM8 = 1420,
1755
+ EVOASM_X64_INST_SUB_RM8_R8 = 1421,
1756
+ EVOASM_X64_INST_SUB_RM16_R16 = 1422,
1757
+ EVOASM_X64_INST_SUB_RM32_R32 = 1423,
1758
+ EVOASM_X64_INST_SUB_RM64_R64 = 1424,
1759
+ EVOASM_X64_INST_SUB_R8_RM8 = 1425,
1760
+ EVOASM_X64_INST_SUB_R16_RM16 = 1426,
1761
+ EVOASM_X64_INST_SUB_R32_RM32 = 1427,
1762
+ EVOASM_X64_INST_SUB_R64_RM64 = 1428,
1763
+ EVOASM_X64_INST_SUBPD_XMM_XMMM128 = 1429,
1764
+ EVOASM_X64_INST_VSUBPD_XMM_XMM_XMMM128 = 1430,
1765
+ EVOASM_X64_INST_VSUBPD_YMM_YMM_YMMM256 = 1431,
1766
+ EVOASM_X64_INST_SUBPS_XMM_XMMM128 = 1432,
1767
+ EVOASM_X64_INST_VSUBPS_XMM_XMM_XMMM128 = 1433,
1768
+ EVOASM_X64_INST_VSUBPS_YMM_YMM_YMMM256 = 1434,
1769
+ EVOASM_X64_INST_SUBSD_XMM_XMMM64 = 1435,
1770
+ EVOASM_X64_INST_VSUBSD_XMM_XMM_XMMM64 = 1436,
1771
+ EVOASM_X64_INST_SUBSS_XMM_XMMM32 = 1437,
1772
+ EVOASM_X64_INST_VSUBSS_XMM_XMM_XMMM32 = 1438,
1773
+ EVOASM_X64_INST_TEST_AL_IMM8 = 1439,
1774
+ EVOASM_X64_INST_TEST_AX_IMM16 = 1440,
1775
+ EVOASM_X64_INST_TEST_EAX_IMM32 = 1441,
1776
+ EVOASM_X64_INST_TEST_RAX_IMM32 = 1442,
1777
+ EVOASM_X64_INST_TEST_RM8_IMM8 = 1443,
1778
+ EVOASM_X64_INST_TEST_RM16_IMM16 = 1444,
1779
+ EVOASM_X64_INST_TEST_RM32_IMM32 = 1445,
1780
+ EVOASM_X64_INST_TEST_RM64_IMM32 = 1446,
1781
+ EVOASM_X64_INST_TEST_RM8_R8 = 1447,
1782
+ EVOASM_X64_INST_TEST_RM16_R16 = 1448,
1783
+ EVOASM_X64_INST_TEST_RM32_R32 = 1449,
1784
+ EVOASM_X64_INST_TEST_RM64_R64 = 1450,
1785
+ EVOASM_X64_INST_TZCNT_R16_RM16 = 1451,
1786
+ EVOASM_X64_INST_TZCNT_R32_RM32 = 1452,
1787
+ EVOASM_X64_INST_TZCNT_R64_RM64 = 1453,
1788
+ EVOASM_X64_INST_UCOMISD_XMM_XMMM64 = 1454,
1789
+ EVOASM_X64_INST_VUCOMISD_XMM_XMMM64 = 1455,
1790
+ EVOASM_X64_INST_UCOMISS_XMM_XMMM32 = 1456,
1791
+ EVOASM_X64_INST_VUCOMISS_XMM_XMMM32 = 1457,
1792
+ EVOASM_X64_INST_UD2 = 1458,
1793
+ EVOASM_X64_INST_UNPCKHPD_XMM_XMMM128 = 1459,
1794
+ EVOASM_X64_INST_VUNPCKHPD_XMM_XMM_XMMM128 = 1460,
1795
+ EVOASM_X64_INST_VUNPCKHPD_YMM_YMM_YMMM256 = 1461,
1796
+ EVOASM_X64_INST_UNPCKHPS_XMM_XMMM128 = 1462,
1797
+ EVOASM_X64_INST_VUNPCKHPS_XMM_XMM_XMMM128 = 1463,
1798
+ EVOASM_X64_INST_VUNPCKHPS_YMM_YMM_YMMM256 = 1464,
1799
+ EVOASM_X64_INST_UNPCKLPD_XMM_XMMM128 = 1465,
1800
+ EVOASM_X64_INST_VUNPCKLPD_XMM_XMM_XMMM128 = 1466,
1801
+ EVOASM_X64_INST_VUNPCKLPD_YMM_YMM_YMMM256 = 1467,
1802
+ EVOASM_X64_INST_UNPCKLPS_XMM_XMMM128 = 1468,
1803
+ EVOASM_X64_INST_VUNPCKLPS_XMM_XMM_XMMM128 = 1469,
1804
+ EVOASM_X64_INST_VUNPCKLPS_YMM_YMM_YMMM256 = 1470,
1805
+ EVOASM_X64_INST_VBROADCASTSS_XMM_M32 = 1471,
1806
+ EVOASM_X64_INST_VBROADCASTSS_YMM_M32 = 1472,
1807
+ EVOASM_X64_INST_VBROADCASTSD_YMM_M64 = 1473,
1808
+ EVOASM_X64_INST_VBROADCASTF128_YMM_M128 = 1474,
1809
+ EVOASM_X64_INST_VCVTPH2PS_XMM_XMMM64 = 1475,
1810
+ EVOASM_X64_INST_VCVTPH2PS_YMM_XMMM128 = 1476,
1811
+ EVOASM_X64_INST_VCVTPS2PH_XMMM64_XMM_IMM8 = 1477,
1812
+ EVOASM_X64_INST_VCVTPS2PH_XMMM128_YMM_IMM8 = 1478,
1813
+ EVOASM_X64_INST_VEXTRACTF128_XMMM128_YMM_IMM8 = 1479,
1814
+ EVOASM_X64_INST_VEXTRACTI128_XMMM128_YMM_IMM8 = 1480,
1815
+ EVOASM_X64_INST_VFMADD132PD_XMM_XMM_XMMM128 = 1481,
1816
+ EVOASM_X64_INST_VFMADD213PD_XMM_XMM_XMMM128 = 1482,
1817
+ EVOASM_X64_INST_VFMADD231PD_XMM_XMM_XMMM128 = 1483,
1818
+ EVOASM_X64_INST_VFMADD132PD_YMM_YMM_YMMM256 = 1484,
1819
+ EVOASM_X64_INST_VFMADD213PD_YMM_YMM_YMMM256 = 1485,
1820
+ EVOASM_X64_INST_VFMADD231PD_YMM_YMM_YMMM256 = 1486,
1821
+ EVOASM_X64_INST_VFMADD132PS_XMM_XMM_XMMM128 = 1487,
1822
+ EVOASM_X64_INST_VFMADD213PS_XMM_XMM_XMMM128 = 1488,
1823
+ EVOASM_X64_INST_VFMADD231PS_XMM_XMM_XMMM128 = 1489,
1824
+ EVOASM_X64_INST_VFMADD132PS_YMM_YMM_YMMM256 = 1490,
1825
+ EVOASM_X64_INST_VFMADD213PS_YMM_YMM_YMMM256 = 1491,
1826
+ EVOASM_X64_INST_VFMADD231PS_YMM_YMM_YMMM256 = 1492,
1827
+ EVOASM_X64_INST_VFMADD132SD_XMM_XMM_XMMM64 = 1493,
1828
+ EVOASM_X64_INST_VFMADD213SD_XMM_XMM_XMMM64 = 1494,
1829
+ EVOASM_X64_INST_VFMADD231SD_XMM_XMM_XMMM64 = 1495,
1830
+ EVOASM_X64_INST_VFMADD132SS_XMM_XMM_XMMM32 = 1496,
1831
+ EVOASM_X64_INST_VFMADD213SS_XMM_XMM_XMMM32 = 1497,
1832
+ EVOASM_X64_INST_VFMADD231SS_XMM_XMM_XMMM32 = 1498,
1833
+ EVOASM_X64_INST_VFMADDSUB132PD_XMM_XMM_XMMM128 = 1499,
1834
+ EVOASM_X64_INST_VFMADDSUB213PD_XMM_XMM_XMMM128 = 1500,
1835
+ EVOASM_X64_INST_VFMADDSUB231PD_XMM_XMM_XMMM128 = 1501,
1836
+ EVOASM_X64_INST_VFMADDSUB132PD_YMM_YMM_YMMM256 = 1502,
1837
+ EVOASM_X64_INST_VFMADDSUB213PD_YMM_YMM_YMMM256 = 1503,
1838
+ EVOASM_X64_INST_VFMADDSUB231PD_YMM_YMM_YMMM256 = 1504,
1839
+ EVOASM_X64_INST_VFMADDSUB132PS_XMM_XMM_XMMM128 = 1505,
1840
+ EVOASM_X64_INST_VFMADDSUB213PS_XMM_XMM_XMMM128 = 1506,
1841
+ EVOASM_X64_INST_VFMADDSUB231PS_XMM_XMM_XMMM128 = 1507,
1842
+ EVOASM_X64_INST_VFMADDSUB132PS_YMM_YMM_YMMM256 = 1508,
1843
+ EVOASM_X64_INST_VFMADDSUB213PS_YMM_YMM_YMMM256 = 1509,
1844
+ EVOASM_X64_INST_VFMADDSUB231PS_YMM_YMM_YMMM256 = 1510,
1845
+ EVOASM_X64_INST_VFMSUBADD132PD_XMM_XMM_XMMM128 = 1511,
1846
+ EVOASM_X64_INST_VFMSUBADD213PD_XMM_XMM_XMMM128 = 1512,
1847
+ EVOASM_X64_INST_VFMSUBADD231PD_XMM_XMM_XMMM128 = 1513,
1848
+ EVOASM_X64_INST_VFMSUBADD132PD_YMM_YMM_YMMM256 = 1514,
1849
+ EVOASM_X64_INST_VFMSUBADD213PD_YMM_YMM_YMMM256 = 1515,
1850
+ EVOASM_X64_INST_VFMSUBADD231PD_YMM_YMM_YMMM256 = 1516,
1851
+ EVOASM_X64_INST_VFMSUBADD132PS_XMM_XMM_XMMM128 = 1517,
1852
+ EVOASM_X64_INST_VFMSUBADD213PS_XMM_XMM_XMMM128 = 1518,
1853
+ EVOASM_X64_INST_VFMSUBADD231PS_XMM_XMM_XMMM128 = 1519,
1854
+ EVOASM_X64_INST_VFMSUBADD132PS_YMM_YMM_YMMM256 = 1520,
1855
+ EVOASM_X64_INST_VFMSUBADD213PS_YMM_YMM_YMMM256 = 1521,
1856
+ EVOASM_X64_INST_VFMSUBADD231PS_YMM_YMM_YMMM256 = 1522,
1857
+ EVOASM_X64_INST_VFMSUB132PD_XMM_XMM_XMMM128 = 1523,
1858
+ EVOASM_X64_INST_VFMSUB213PD_XMM_XMM_XMMM128 = 1524,
1859
+ EVOASM_X64_INST_VFMSUB231PD_XMM_XMM_XMMM128 = 1525,
1860
+ EVOASM_X64_INST_VFMSUB132PD_YMM_YMM_YMMM256 = 1526,
1861
+ EVOASM_X64_INST_VFMSUB213PD_YMM_YMM_YMMM256 = 1527,
1862
+ EVOASM_X64_INST_VFMSUB231PD_YMM_YMM_YMMM256 = 1528,
1863
+ EVOASM_X64_INST_VFMSUB132PS_XMM_XMM_XMMM128 = 1529,
1864
+ EVOASM_X64_INST_VFMSUB213PS_XMM_XMM_XMMM128 = 1530,
1865
+ EVOASM_X64_INST_VFMSUB231PS_XMM_XMM_XMMM128 = 1531,
1866
+ EVOASM_X64_INST_VFMSUB132PS_YMM_YMM_YMMM256 = 1532,
1867
+ EVOASM_X64_INST_VFMSUB213PS_YMM_YMM_YMMM256 = 1533,
1868
+ EVOASM_X64_INST_VFMSUB231PS_YMM_YMM_YMMM256 = 1534,
1869
+ EVOASM_X64_INST_VFMSUB132SD_XMM_XMM_XMMM64 = 1535,
1870
+ EVOASM_X64_INST_VFMSUB213SD_XMM_XMM_XMMM64 = 1536,
1871
+ EVOASM_X64_INST_VFMSUB231SD_XMM_XMM_XMMM64 = 1537,
1872
+ EVOASM_X64_INST_VFMSUB132SS_XMM_XMM_XMMM32 = 1538,
1873
+ EVOASM_X64_INST_VFMSUB213SS_XMM_XMM_XMMM32 = 1539,
1874
+ EVOASM_X64_INST_VFMSUB231SS_XMM_XMM_XMMM32 = 1540,
1875
+ EVOASM_X64_INST_VFNMADD132PD_XMM_XMM_XMMM128 = 1541,
1876
+ EVOASM_X64_INST_VFNMADD213PD_XMM_XMM_XMMM128 = 1542,
1877
+ EVOASM_X64_INST_VFNMADD231PD_XMM_XMM_XMMM128 = 1543,
1878
+ EVOASM_X64_INST_VFNMADD132PD_YMM_YMM_YMMM256 = 1544,
1879
+ EVOASM_X64_INST_VFNMADD213PD_YMM_YMM_YMMM256 = 1545,
1880
+ EVOASM_X64_INST_VFNMADD231PD_YMM_YMM_YMMM256 = 1546,
1881
+ EVOASM_X64_INST_VFNMADD132PS_XMM_XMM_XMMM128 = 1547,
1882
+ EVOASM_X64_INST_VFNMADD213PS_XMM_XMM_XMMM128 = 1548,
1883
+ EVOASM_X64_INST_VFNMADD231PS_XMM_XMM_XMMM128 = 1549,
1884
+ EVOASM_X64_INST_VFNMADD132PS_YMM_YMM_YMMM256 = 1550,
1885
+ EVOASM_X64_INST_VFNMADD213PS_YMM_YMM_YMMM256 = 1551,
1886
+ EVOASM_X64_INST_VFNMADD231PS_YMM_YMM_YMMM256 = 1552,
1887
+ EVOASM_X64_INST_VFNMADD132SD_XMM_XMM_XMMM64 = 1553,
1888
+ EVOASM_X64_INST_VFNMADD213SD_XMM_XMM_XMMM64 = 1554,
1889
+ EVOASM_X64_INST_VFNMADD231SD_XMM_XMM_XMMM64 = 1555,
1890
+ EVOASM_X64_INST_VFNMADD132SS_XMM_XMM_XMMM32 = 1556,
1891
+ EVOASM_X64_INST_VFNMADD213SS_XMM_XMM_XMMM32 = 1557,
1892
+ EVOASM_X64_INST_VFNMADD231SS_XMM_XMM_XMMM32 = 1558,
1893
+ EVOASM_X64_INST_VFNMSUB132PD_XMM_XMM_XMMM128 = 1559,
1894
+ EVOASM_X64_INST_VFNMSUB213PD_XMM_XMM_XMMM128 = 1560,
1895
+ EVOASM_X64_INST_VFNMSUB231PD_XMM_XMM_XMMM128 = 1561,
1896
+ EVOASM_X64_INST_VFNMSUB132PD_YMM_YMM_YMMM256 = 1562,
1897
+ EVOASM_X64_INST_VFNMSUB213PD_YMM_YMM_YMMM256 = 1563,
1898
+ EVOASM_X64_INST_VFNMSUB231PD_YMM_YMM_YMMM256 = 1564,
1899
+ EVOASM_X64_INST_VFNMSUB132PS_XMM_XMM_XMMM128 = 1565,
1900
+ EVOASM_X64_INST_VFNMSUB213PS_XMM_XMM_XMMM128 = 1566,
1901
+ EVOASM_X64_INST_VFNMSUB231PS_XMM_XMM_XMMM128 = 1567,
1902
+ EVOASM_X64_INST_VFNMSUB132PS_YMM_YMM_YMMM256 = 1568,
1903
+ EVOASM_X64_INST_VFNMSUB213PS_YMM_YMM_YMMM256 = 1569,
1904
+ EVOASM_X64_INST_VFNMSUB231PS_YMM_YMM_YMMM256 = 1570,
1905
+ EVOASM_X64_INST_VFNMSUB132SD_XMM_XMM_XMMM64 = 1571,
1906
+ EVOASM_X64_INST_VFNMSUB213SD_XMM_XMM_XMMM64 = 1572,
1907
+ EVOASM_X64_INST_VFNMSUB231SD_XMM_XMM_XMMM64 = 1573,
1908
+ EVOASM_X64_INST_VFNMSUB132SS_XMM_XMM_XMMM32 = 1574,
1909
+ EVOASM_X64_INST_VFNMSUB213SS_XMM_XMM_XMMM32 = 1575,
1910
+ EVOASM_X64_INST_VFNMSUB231SS_XMM_XMM_XMMM32 = 1576,
1911
+ EVOASM_X64_INST_VGATHERDPD_XMM_VM32X64_XMM = 1577,
1912
+ EVOASM_X64_INST_VGATHERQPD_XMM_VM64X64_XMM = 1578,
1913
+ EVOASM_X64_INST_VGATHERDPD_YMM_VM32X64_YMM = 1579,
1914
+ EVOASM_X64_INST_VGATHERQPD_YMM_VM64Y64_YMM = 1580,
1915
+ EVOASM_X64_INST_VGATHERDPS_XMM_VM32X32_XMM = 1581,
1916
+ EVOASM_X64_INST_VGATHERQPS_XMM_VM64X32_XMM = 1582,
1917
+ EVOASM_X64_INST_VGATHERDPS_YMM_VM32Y32_YMM = 1583,
1918
+ EVOASM_X64_INST_VGATHERQPS_XMM_VM64Y32_XMM = 1584,
1919
+ EVOASM_X64_INST_VPGATHERDD_XMM_VM32X32_XMM = 1585,
1920
+ EVOASM_X64_INST_VPGATHERQD_XMM_VM64X32_XMM = 1586,
1921
+ EVOASM_X64_INST_VPGATHERDD_YMM_VM32Y32_YMM = 1587,
1922
+ EVOASM_X64_INST_VPGATHERQD_XMM_VM64Y32_XMM = 1588,
1923
+ EVOASM_X64_INST_VPGATHERDQ_XMM_VM32X64_XMM = 1589,
1924
+ EVOASM_X64_INST_VPGATHERQQ_XMM_VM64X64_XMM = 1590,
1925
+ EVOASM_X64_INST_VPGATHERDQ_YMM_VM32X64_YMM = 1591,
1926
+ EVOASM_X64_INST_VPGATHERQQ_YMM_VM64Y64_YMM = 1592,
1927
+ EVOASM_X64_INST_VINSERTF128_YMM_YMM_XMMM128_IMM8 = 1593,
1928
+ EVOASM_X64_INST_VINSERTI128_YMM_YMM_XMMM128_IMM8 = 1594,
1929
+ EVOASM_X64_INST_VMASKMOVPS_XMM_XMM_M128 = 1595,
1930
+ EVOASM_X64_INST_VMASKMOVPS_YMM_YMM_M256 = 1596,
1931
+ EVOASM_X64_INST_VMASKMOVPD_XMM_XMM_M128 = 1597,
1932
+ EVOASM_X64_INST_VMASKMOVPD_YMM_YMM_M256 = 1598,
1933
+ EVOASM_X64_INST_VMASKMOVPS_M128_XMM_XMM = 1599,
1934
+ EVOASM_X64_INST_VMASKMOVPS_M256_YMM_YMM = 1600,
1935
+ EVOASM_X64_INST_VMASKMOVPD_M128_XMM_XMM = 1601,
1936
+ EVOASM_X64_INST_VMASKMOVPD_M256_YMM_YMM = 1602,
1937
+ EVOASM_X64_INST_VPBLENDD_XMM_XMM_XMMM128_IMM8 = 1603,
1938
+ EVOASM_X64_INST_VPBLENDD_YMM_YMM_YMMM256_IMM8 = 1604,
1939
+ EVOASM_X64_INST_VPBROADCASTQ_XMM_XMMM64 = 1605,
1940
+ EVOASM_X64_INST_VPBROADCASTQ_YMM_XMMM64 = 1606,
1941
+ EVOASM_X64_INST_VBROADCASTI128_YMM_M128 = 1607,
1942
+ EVOASM_X64_INST_VPERM2F128_YMM_YMM_YMMM256_IMM8 = 1608,
1943
+ EVOASM_X64_INST_VPERM2I128_YMM_YMM_YMMM256_IMM8 = 1609,
1944
+ EVOASM_X64_INST_VPERMD_YMM_YMM_YMMM256 = 1610,
1945
+ EVOASM_X64_INST_VPERMILPD_XMM_XMM_XMMM128 = 1611,
1946
+ EVOASM_X64_INST_VPERMILPD_YMM_YMM_YMMM256 = 1612,
1947
+ EVOASM_X64_INST_VPERMILPD_XMM_XMMM128_IMM8 = 1613,
1948
+ EVOASM_X64_INST_VPERMILPD_YMM_YMMM256_IMM8 = 1614,
1949
+ EVOASM_X64_INST_VPERMILPS_XMM_XMM_XMMM128 = 1615,
1950
+ EVOASM_X64_INST_VPERMILPS_XMM_XMMM128_IMM8 = 1616,
1951
+ EVOASM_X64_INST_VPERMILPS_YMM_YMM_YMMM256 = 1617,
1952
+ EVOASM_X64_INST_VPERMILPS_YMM_YMMM256_IMM8 = 1618,
1953
+ EVOASM_X64_INST_VPERMPD_YMM_YMMM256_IMM8 = 1619,
1954
+ EVOASM_X64_INST_VPERMPS_YMM_YMM_YMMM256 = 1620,
1955
+ EVOASM_X64_INST_VPERMQ_YMM_YMMM256_IMM8 = 1621,
1956
+ EVOASM_X64_INST_VPMASKMOVD_XMM_XMM_M128 = 1622,
1957
+ EVOASM_X64_INST_VPMASKMOVD_YMM_YMM_M256 = 1623,
1958
+ EVOASM_X64_INST_VPMASKMOVQ_XMM_XMM_M128 = 1624,
1959
+ EVOASM_X64_INST_VPMASKMOVQ_YMM_YMM_M256 = 1625,
1960
+ EVOASM_X64_INST_VPMASKMOVD_M128_XMM_XMM = 1626,
1961
+ EVOASM_X64_INST_VPMASKMOVD_M256_YMM_YMM = 1627,
1962
+ EVOASM_X64_INST_VPMASKMOVQ_M128_XMM_XMM = 1628,
1963
+ EVOASM_X64_INST_VPMASKMOVQ_M256_YMM_YMM = 1629,
1964
+ EVOASM_X64_INST_VPSLLVD_XMM_XMM_XMMM128 = 1630,
1965
+ EVOASM_X64_INST_VPSLLVQ_XMM_XMM_XMMM128 = 1631,
1966
+ EVOASM_X64_INST_VPSLLVD_YMM_YMM_YMMM256 = 1632,
1967
+ EVOASM_X64_INST_VPSLLVQ_YMM_YMM_YMMM256 = 1633,
1968
+ EVOASM_X64_INST_VPSRAVD_XMM_XMM_XMMM128 = 1634,
1969
+ EVOASM_X64_INST_VPSRAVD_YMM_YMM_YMMM256 = 1635,
1970
+ EVOASM_X64_INST_VPSRLVD_XMM_XMM_XMMM128 = 1636,
1971
+ EVOASM_X64_INST_VPSRLVQ_XMM_XMM_XMMM128 = 1637,
1972
+ EVOASM_X64_INST_VPSRLVD_YMM_YMM_YMMM256 = 1638,
1973
+ EVOASM_X64_INST_VPSRLVQ_YMM_YMM_YMMM256 = 1639,
1974
+ EVOASM_X64_INST_VTESTPS_XMM_XMMM128 = 1640,
1975
+ EVOASM_X64_INST_VTESTPS_YMM_YMMM256 = 1641,
1976
+ EVOASM_X64_INST_VTESTPD_XMM_XMMM128 = 1642,
1977
+ EVOASM_X64_INST_VTESTPD_YMM_YMMM256 = 1643,
1978
+ EVOASM_X64_INST_VZEROALL = 1644,
1979
+ EVOASM_X64_INST_VZEROUPPER = 1645,
1980
+ EVOASM_X64_INST_XABORT_IMM8 = 1646,
1981
+ EVOASM_X64_INST_XADD_RM8_R8 = 1647,
1982
+ EVOASM_X64_INST_XADD_RM16_R16 = 1648,
1983
+ EVOASM_X64_INST_XADD_RM32_R32 = 1649,
1984
+ EVOASM_X64_INST_XADD_RM64_R64 = 1650,
1985
+ EVOASM_X64_INST_XBEGIN_REL16 = 1651,
1986
+ EVOASM_X64_INST_XBEGIN_REL32 = 1652,
1987
+ EVOASM_X64_INST_XCHG_AX_R16 = 1653,
1988
+ EVOASM_X64_INST_XCHG_EAX_R32 = 1654,
1989
+ EVOASM_X64_INST_XCHG_RAX_R64 = 1655,
1990
+ EVOASM_X64_INST_XCHG_RM8_R8 = 1656,
1991
+ EVOASM_X64_INST_XCHG_RM16_R16 = 1657,
1992
+ EVOASM_X64_INST_XCHG_RM32_R32 = 1658,
1993
+ EVOASM_X64_INST_XCHG_RM64_R64 = 1659,
1994
+ EVOASM_X64_INST_XEND = 1660,
1995
+ EVOASM_X64_INST_XLATB = 1661,
1996
+ EVOASM_X64_INST_XOR_AL_IMM8 = 1662,
1997
+ EVOASM_X64_INST_XOR_AX_IMM16 = 1663,
1998
+ EVOASM_X64_INST_XOR_EAX_IMM32 = 1664,
1999
+ EVOASM_X64_INST_XOR_RAX_IMM32 = 1665,
2000
+ EVOASM_X64_INST_XOR_RM8_IMM8 = 1666,
2001
+ EVOASM_X64_INST_XOR_RM16_IMM16 = 1667,
2002
+ EVOASM_X64_INST_XOR_RM32_IMM32 = 1668,
2003
+ EVOASM_X64_INST_XOR_RM64_IMM32 = 1669,
2004
+ EVOASM_X64_INST_XOR_RM16_IMM8 = 1670,
2005
+ EVOASM_X64_INST_XOR_RM32_IMM8 = 1671,
2006
+ EVOASM_X64_INST_XOR_RM64_IMM8 = 1672,
2007
+ EVOASM_X64_INST_XOR_RM8_R8 = 1673,
2008
+ EVOASM_X64_INST_XOR_RM16_R16 = 1674,
2009
+ EVOASM_X64_INST_XOR_RM32_R32 = 1675,
2010
+ EVOASM_X64_INST_XOR_RM64_R64 = 1676,
2011
+ EVOASM_X64_INST_XOR_R8_RM8 = 1677,
2012
+ EVOASM_X64_INST_XOR_R16_RM16 = 1678,
2013
+ EVOASM_X64_INST_XOR_R32_RM32 = 1679,
2014
+ EVOASM_X64_INST_XOR_R64_RM64 = 1680,
2015
+ EVOASM_X64_INST_XORPD_XMM_XMMM128 = 1681,
2016
+ EVOASM_X64_INST_VXORPD_XMM_XMM_XMMM128 = 1682,
2017
+ EVOASM_X64_INST_VXORPD_YMM_YMM_YMMM256 = 1683,
2018
+ EVOASM_X64_INST_XORPS_XMM_XMMM128 = 1684,
2019
+ EVOASM_X64_INST_VXORPS_XMM_XMM_XMMM128 = 1685,
2020
+ EVOASM_X64_INST_VXORPS_YMM_YMM_YMMM256 = 1686,
2021
+ EVOASM_X64_INST_XTEST = 1687,
2022
+ EVOASM_X64_INST_NONE
2023
+ } evoasm_x64_inst_id_t;
2024
+ #define EVOASM_X64_INST_BITSIZE 11
2025
+ #define EVOASM_X64_INST_BITSIZE 11
2026
+ #define EVOASM_X64_INST_BITSIZE_OPT 11
2027
+ #define EVOASM_X64_INST_BITMASK 0x7ff
2028
+ #define EVOASM_X64_INST_BITMASK_OPT 0x7ff
2029
+
2030
+
2031
+ #define EVOASM_X64_PARAM_IDX_BITSIZE 5
2032
+
2033
+ typedef enum evoasm_x64_rflags_flag_t {
2034
+ EVOASM_X64_RFLAGS_FLAG_OF = 0,
2035
+ EVOASM_X64_RFLAGS_FLAG_SF = 1,
2036
+ EVOASM_X64_RFLAGS_FLAG_ZF = 2,
2037
+ EVOASM_X64_RFLAGS_FLAG_PF = 3,
2038
+ EVOASM_X64_RFLAGS_FLAG_CF = 4,
2039
+ EVOASM_X64_RFLAGS_FLAG_NONE
2040
+ } evoasm_x64_rflags_flag_t;
2041
+ #define EVOASM_X64_RFLAGS_FLAG_BITSIZE 3
2042
+ #define EVOASM_X64_RFLAGS_FLAG_BITSIZE 3
2043
+ #define EVOASM_X64_RFLAGS_FLAG_BITSIZE_OPT 3
2044
+ #define EVOASM_X64_RFLAGS_FLAG_BITMASK 0x7
2045
+ #define EVOASM_X64_RFLAGS_FLAG_BITMASK_OPT 0x7
2046
+
2047
+ typedef enum evoasm_x64_mxcsr_flag_t {
2048
+ EVOASM_X64_MXCSR_FLAG_FZ = 0,
2049
+ EVOASM_X64_MXCSR_FLAG_RC = 1,
2050
+ EVOASM_X64_MXCSR_FLAG_DAZ = 2,
2051
+ EVOASM_X64_MXCSR_FLAG_NONE
2052
+ } evoasm_x64_mxcsr_flag_t;
2053
+ #define EVOASM_X64_MXCSR_FLAG_BITSIZE 2
2054
+ #define EVOASM_X64_MXCSR_FLAG_BITSIZE 2
2055
+ #define EVOASM_X64_MXCSR_FLAG_BITSIZE_OPT 2
2056
+ #define EVOASM_X64_MXCSR_FLAG_BITMASK 0x3
2057
+ #define EVOASM_X64_MXCSR_FLAG_BITMASK_OPT 0x3
2058
+
2059
+ typedef enum evoasm_x64_param_type_t {
2060
+ EVOASM_X64_PARAM_TYPE_BOOL = 0,
2061
+ EVOASM_X64_PARAM_TYPE_UINT1 = 1,
2062
+ EVOASM_X64_PARAM_TYPE_INT3 = 2,
2063
+ EVOASM_X64_PARAM_TYPE_INT4 = 3,
2064
+ EVOASM_X64_PARAM_TYPE_INT8 = 4,
2065
+ EVOASM_X64_PARAM_TYPE_INT32 = 5,
2066
+ EVOASM_X64_PARAM_TYPE_INT64 = 6,
2067
+ EVOASM_X64_PARAM_TYPE_REG = 7,
2068
+ EVOASM_X64_PARAM_TYPE_ADDR_SIZE = 8,
2069
+ EVOASM_X64_PARAM_TYPE_SCALE = 9,
2070
+ EVOASM_X64_PARAM_TYPE_NONE
2071
+ } evoasm_x64_param_type_t;
2072
+ #define EVOASM_X64_PARAM_TYPE_BITSIZE 4
2073
+ #define EVOASM_X64_PARAM_TYPE_BITSIZE 4
2074
+ #define EVOASM_X64_PARAM_TYPE_BITSIZE_OPT 4
2075
+ #define EVOASM_X64_PARAM_TYPE_BITMASK 0xf
2076
+ #define EVOASM_X64_PARAM_TYPE_BITMASK_OPT 0xf
2077
+