summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/elfutils
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-devtools/elfutils')
-rw-r--r--meta/recipes-devtools/elfutils/elfutils-0.155/arm_backend.diff450
-rw-r--r--meta/recipes-devtools/elfutils/elfutils-0.155/dso-link-change.patch32
-rw-r--r--meta/recipes-devtools/elfutils/elfutils-0.155/elf_additions.diff61
-rw-r--r--meta/recipes-devtools/elfutils/elfutils-0.155/elfutils-ar-c-fix-num-passed-to-memset.patch23
-rw-r--r--meta/recipes-devtools/elfutils/elfutils-0.155/hppa_backend.diff801
-rw-r--r--meta/recipes-devtools/elfutils/elfutils-0.155/i386_dis.h1657
-rw-r--r--meta/recipes-devtools/elfutils/elfutils-0.155/m68k_backend.diff309
-rw-r--r--meta/recipes-devtools/elfutils/elfutils-0.155/mempcpy.patch24
-rw-r--r--meta/recipes-devtools/elfutils/elfutils-0.155/mips_backend.diff714
-rw-r--r--meta/recipes-devtools/elfutils/elfutils-0.155/nm-Fix-size-passed-to-snprintf-for-invalid-sh_name-case.patch27
-rw-r--r--meta/recipes-devtools/elfutils/elfutils-0.155/redhat-portability.diff1547
-rw-r--r--meta/recipes-devtools/elfutils/elfutils-0.155/redhat-robustify.diff1824
-rw-r--r--meta/recipes-devtools/elfutils/elfutils-0.155/uclibc-support.patch91
-rw-r--r--meta/recipes-devtools/elfutils/elfutils-0.155/x86_64_dis.h1632
-rw-r--r--meta/recipes-devtools/elfutils/elfutils/add-ptest.patch23
-rw-r--r--meta/recipes-devtools/elfutils/elfutils/arm_backend.diff449
-rw-r--r--meta/recipes-devtools/elfutils/elfutils/avoid_parallel_tests.patch19
-rw-r--r--meta/recipes-devtools/elfutils/elfutils/dso-link-change.patch32
-rw-r--r--meta/recipes-devtools/elfutils/elfutils/elf_additions.diff71
-rw-r--r--meta/recipes-devtools/elfutils/elfutils/elfutils-ar-c-fix-num-passed-to-memset.patch23
-rw-r--r--meta/recipes-devtools/elfutils/elfutils/elfutils-fsize.patch39
-rw-r--r--meta/recipes-devtools/elfutils/elfutils/fix-build-gcc-4.8.patch57
-rw-r--r--meta/recipes-devtools/elfutils/elfutils/fix_for_gcc-4.7.patch73
-rw-r--r--meta/recipes-devtools/elfutils/elfutils/hppa_backend.diff801
-rw-r--r--meta/recipes-devtools/elfutils/elfutils/i386_dis.h1657
-rw-r--r--meta/recipes-devtools/elfutils/elfutils/m68k_backend.diff309
-rw-r--r--meta/recipes-devtools/elfutils/elfutils/mempcpy.patch24
-rw-r--r--meta/recipes-devtools/elfutils/elfutils/mips_backend.diff713
-rw-r--r--meta/recipes-devtools/elfutils/elfutils/nm-Fix-size-passed-to-snprintf-for-invalid-sh_name-case.patch27
-rw-r--r--meta/recipes-devtools/elfutils/elfutils/redhat-portability.diff1124
-rw-r--r--meta/recipes-devtools/elfutils/elfutils/redhat-robustify.diff1709
-rw-r--r--meta/recipes-devtools/elfutils/elfutils/remove-unused.patch154
-rw-r--r--meta/recipes-devtools/elfutils/elfutils/run-ptest3
-rw-r--r--meta/recipes-devtools/elfutils/elfutils/testsuite-ignore-elflint.diff21
-rw-r--r--meta/recipes-devtools/elfutils/elfutils/uclibc-support.patch91
-rw-r--r--meta/recipes-devtools/elfutils/elfutils/x86_64_dis.h1632
-rw-r--r--meta/recipes-devtools/elfutils/elfutils_0.148.bb103
-rw-r--r--meta/recipes-devtools/elfutils/elfutils_0.155.bb88
38 files changed, 18434 insertions, 0 deletions
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.155/arm_backend.diff b/meta/recipes-devtools/elfutils/elfutils-0.155/arm_backend.diff
new file mode 100644
index 0000000000..46d42fa76b
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils-0.155/arm_backend.diff
@@ -0,0 +1,450 @@
1Upstream-Status: Backport
2
3Index: elfutils-0.155/backends/arm_init.c
4===================================================================
5--- elfutils-0.155.orig/backends/arm_init.c
6+++ elfutils-0.155/backends/arm_init.c
7@@ -35,21 +35,32 @@
8 #define RELOC_PREFIX R_ARM_
9 #include "libebl_CPU.h"
10
11+#include "libebl_arm.h"
12+
13 /* This defines the common reloc hooks based on arm_reloc.def. */
14 #include "common-reloc.c"
15
16
17 const char *
18 arm_init (elf, machine, eh, ehlen)
19- Elf *elf __attribute__ ((unused));
20+ Elf *elf;
21 GElf_Half machine __attribute__ ((unused));
22 Ebl *eh;
23 size_t ehlen;
24 {
25+ int soft_float = 0;
26+
27 /* Check whether the Elf_BH object has a sufficent size. */
28 if (ehlen < sizeof (Ebl))
29 return NULL;
30
31+ if (elf) {
32+ GElf_Ehdr ehdr_mem;
33+ GElf_Ehdr *ehdr = gelf_getehdr (elf, &ehdr_mem);
34+ if (ehdr && (ehdr->e_flags & EF_ARM_SOFT_FLOAT))
35+ soft_float = 1;
36+ }
37+
38 /* We handle it. */
39 eh->name = "ARM";
40 arm_init_reloc (eh);
41@@ -61,7 +72,10 @@ arm_init (elf, machine, eh, ehlen)
42 HOOK (eh, core_note);
43 HOOK (eh, auxv_info);
44 HOOK (eh, check_object_attribute);
45- HOOK (eh, return_value_location);
46+ if (soft_float)
47+ eh->return_value_location = arm_return_value_location_soft;
48+ else
49+ eh->return_value_location = arm_return_value_location_hard;
50
51 return MODVERSION;
52 }
53Index: elfutils-0.155/backends/arm_regs.c
54===================================================================
55--- elfutils-0.155.orig/backends/arm_regs.c
56+++ elfutils-0.155/backends/arm_regs.c
57@@ -31,6 +31,7 @@
58 #endif
59
60 #include <string.h>
61+#include <stdio.h>
62 #include <dwarf.h>
63
64 #define BACKEND arm_
65@@ -61,7 +62,15 @@ arm_register_info (Ebl *ebl __attribute_
66 namelen = 2;
67 break;
68
69- case 10 ... 12:
70+ case 10 ... 11:
71+ name[0] = 'r';
72+ name[1] = '1';
73+ name[2] = regno % 10 + '0';
74+ namelen = 3;
75+ break;
76+
77+ case 12:
78+ *type = DW_ATE_unsigned;
79 name[0] = 'r';
80 name[1] = '1';
81 name[2] = regno % 10 + '0';
82@@ -76,6 +85,9 @@ arm_register_info (Ebl *ebl __attribute_
83 break;
84
85 case 16 + 0 ... 16 + 7:
86+ /* AADWARF says that there are no registers in that range,
87+ * but gcc maps FPA registers here
88+ */
89 regno += 96 - 16;
90 /* Fall through. */
91 case 96 + 0 ... 96 + 7:
92@@ -87,11 +99,139 @@ arm_register_info (Ebl *ebl __attribute_
93 namelen = 2;
94 break;
95
96+ case 64 + 0 ... 64 + 9:
97+ *setname = "VFP";
98+ *bits = 32;
99+ *type = DW_ATE_float;
100+ name[0] = 's';
101+ name[1] = regno - 64 + '0';
102+ namelen = 2;
103+ break;
104+
105+ case 64 + 10 ... 64 + 31:
106+ *setname = "VFP";
107+ *bits = 32;
108+ *type = DW_ATE_float;
109+ name[0] = 's';
110+ name[1] = (regno - 64) / 10 + '0';
111+ name[2] = (regno - 64) % 10 + '0';
112+ namelen = 3;
113+ break;
114+
115+ case 104 + 0 ... 104 + 7:
116+ /* XXX TODO:
117+ * This can be either intel wireless MMX general purpose/control
118+ * registers or xscale accumulator, which have different usage.
119+ * We only have the intel wireless MMX here now.
120+ * The name needs to be changed for the xscale accumulator too. */
121+ *setname = "MMX";
122+ *type = DW_ATE_unsigned;
123+ *bits = 32;
124+ memcpy(name, "wcgr", 4);
125+ name[4] = regno - 104 + '0';
126+ namelen = 5;
127+ break;
128+
129+ case 112 + 0 ... 112 + 9:
130+ *setname = "MMX";
131+ *type = DW_ATE_unsigned;
132+ *bits = 64;
133+ name[0] = 'w';
134+ name[1] = 'r';
135+ name[2] = regno - 112 + '0';
136+ namelen = 3;
137+ break;
138+
139+ case 112 + 10 ... 112 + 15:
140+ *setname = "MMX";
141+ *type = DW_ATE_unsigned;
142+ *bits = 64;
143+ name[0] = 'w';
144+ name[1] = 'r';
145+ name[2] = '1';
146+ name[3] = regno - 112 - 10 + '0';
147+ namelen = 4;
148+ break;
149+
150 case 128:
151+ *setname = "special";
152 *type = DW_ATE_unsigned;
153 return stpcpy (name, "spsr") + 1 - name;
154
155+ case 129:
156+ *setname = "special";
157+ *type = DW_ATE_unsigned;
158+ return stpcpy(name, "spsr_fiq") + 1 - name;
159+
160+ case 130:
161+ *setname = "special";
162+ *type = DW_ATE_unsigned;
163+ return stpcpy(name, "spsr_irq") + 1 - name;
164+
165+ case 131:
166+ *setname = "special";
167+ *type = DW_ATE_unsigned;
168+ return stpcpy(name, "spsr_abt") + 1 - name;
169+
170+ case 132:
171+ *setname = "special";
172+ *type = DW_ATE_unsigned;
173+ return stpcpy(name, "spsr_und") + 1 - name;
174+
175+ case 133:
176+ *setname = "special";
177+ *type = DW_ATE_unsigned;
178+ return stpcpy(name, "spsr_svc") + 1 - name;
179+
180+ case 144 ... 150:
181+ *setname = "integer";
182+ *type = DW_ATE_signed;
183+ *bits = 32;
184+ return sprintf(name, "r%d_usr", regno - 144 + 8) + 1;
185+
186+ case 151 ... 157:
187+ *setname = "integer";
188+ *type = DW_ATE_signed;
189+ *bits = 32;
190+ return sprintf(name, "r%d_fiq", regno - 151 + 8) + 1;
191+
192+ case 158 ... 159:
193+ *setname = "integer";
194+ *type = DW_ATE_signed;
195+ *bits = 32;
196+ return sprintf(name, "r%d_irq", regno - 158 + 13) + 1;
197+
198+ case 160 ... 161:
199+ *setname = "integer";
200+ *type = DW_ATE_signed;
201+ *bits = 32;
202+ return sprintf(name, "r%d_abt", regno - 160 + 13) + 1;
203+
204+ case 162 ... 163:
205+ *setname = "integer";
206+ *type = DW_ATE_signed;
207+ *bits = 32;
208+ return sprintf(name, "r%d_und", regno - 162 + 13) + 1;
209+
210+ case 164 ... 165:
211+ *setname = "integer";
212+ *type = DW_ATE_signed;
213+ *bits = 32;
214+ return sprintf(name, "r%d_svc", regno - 164 + 13) + 1;
215+
216+ case 192 ... 199:
217+ *setname = "MMX";
218+ *bits = 32;
219+ *type = DW_ATE_unsigned;
220+ name[0] = 'w';
221+ name[1] = 'c';
222+ name[2] = regno - 192 + '0';
223+ namelen = 3;
224+ break;
225+
226 case 256 + 0 ... 256 + 9:
227+ /* XXX TODO: Neon also uses those registers and can contain
228+ * both float and integers */
229 *setname = "VFP";
230 *type = DW_ATE_float;
231 *bits = 64;
232Index: elfutils-0.155/backends/arm_retval.c
233===================================================================
234--- elfutils-0.155.orig/backends/arm_retval.c
235+++ elfutils-0.155/backends/arm_retval.c
236@@ -48,6 +48,13 @@ static const Dwarf_Op loc_intreg[] =
237 #define nloc_intreg 1
238 #define nloc_intregs(n) (2 * (n))
239
240+/* f1 */ /* XXX TODO: f0 can also have number 96 if program was compiled with -mabi=aapcs */
241+static const Dwarf_Op loc_fpreg[] =
242+ {
243+ { .atom = DW_OP_reg16 },
244+ };
245+#define nloc_fpreg 1
246+
247 /* The return value is a structure and is actually stored in stack space
248 passed in a hidden argument by the caller. But, the compiler
249 helpfully returns the address of that space in r0. */
250@@ -58,8 +65,9 @@ static const Dwarf_Op loc_aggregate[] =
251 #define nloc_aggregate 1
252
253
254-int
255-arm_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
256+static int
257+arm_return_value_location_ (Dwarf_Die *functypedie, const Dwarf_Op **locp,
258+ int soft_float)
259 {
260 /* Start with the function's type, and get the DW_AT_type attribute,
261 which is the type of the return value. */
262@@ -112,14 +120,31 @@ arm_return_value_location (Dwarf_Die *fu
263 else
264 return -1;
265 }
266+ if (tag == DW_TAG_base_type)
267+ {
268+ Dwarf_Word encoding;
269+ if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_encoding,
270+ &attr_mem), &encoding) != 0)
271+ return -1;
272+
273+ if ((encoding == DW_ATE_float) && !soft_float)
274+ {
275+ *locp = loc_fpreg;
276+ if (size <= 8)
277+ return nloc_fpreg;
278+ goto aggregate;
279+ }
280+ }
281 if (size <= 16)
282 {
283 intreg:
284 *locp = loc_intreg;
285 return size <= 4 ? nloc_intreg : nloc_intregs ((size + 3) / 4);
286 }
287+ /* fall through. */
288
289 aggregate:
290+ /* XXX TODO sometimes aggregates are returned in r0 (-mabi=aapcs) */
291 *locp = loc_aggregate;
292 return nloc_aggregate;
293
294@@ -138,3 +163,18 @@ arm_return_value_location (Dwarf_Die *fu
295 DWARF and might be valid. */
296 return -2;
297 }
298+
299+/* return location for -mabi=apcs-gnu -msoft-float */
300+int
301+arm_return_value_location_soft (Dwarf_Die *functypedie, const Dwarf_Op **locp)
302+{
303+ return arm_return_value_location_ (functypedie, locp, 1);
304+}
305+
306+/* return location for -mabi=apcs-gnu -mhard-float (current default) */
307+int
308+arm_return_value_location_hard (Dwarf_Die *functypedie, const Dwarf_Op **locp)
309+{
310+ return arm_return_value_location_ (functypedie, locp, 0);
311+}
312+
313Index: elfutils-0.155/libelf/elf.h
314===================================================================
315--- elfutils-0.155.orig/libelf/elf.h
316+++ elfutils-0.155/libelf/elf.h
317@@ -2281,6 +2281,9 @@ typedef Elf32_Addr Elf32_Conflict;
318 #define EF_ARM_EABI_VER4 0x04000000
319 #define EF_ARM_EABI_VER5 0x05000000
320
321+/* EI_OSABI values */
322+#define ELFOSABI_ARM_AEABI 64 /* Contains symbol versioning. */
323+
324 /* Additional symbol types for Thumb. */
325 #define STT_ARM_TFUNC STT_LOPROC /* A Thumb function. */
326 #define STT_ARM_16BIT STT_HIPROC /* A Thumb label. */
327@@ -2298,12 +2301,19 @@ typedef Elf32_Addr Elf32_Conflict;
328
329 /* Processor specific values for the Phdr p_type field. */
330 #define PT_ARM_EXIDX (PT_LOPROC + 1) /* ARM unwind segment. */
331+#define PT_ARM_UNWIND PT_ARM_EXIDX
332
333 /* Processor specific values for the Shdr sh_type field. */
334 #define SHT_ARM_EXIDX (SHT_LOPROC + 1) /* ARM unwind section. */
335 #define SHT_ARM_PREEMPTMAP (SHT_LOPROC + 2) /* Preemption details. */
336 #define SHT_ARM_ATTRIBUTES (SHT_LOPROC + 3) /* ARM attributes section. */
337
338+/* Processor specific values for the Dyn d_tag field. */
339+#define DT_ARM_RESERVED1 (DT_LOPROC + 0)
340+#define DT_ARM_SYMTABSZ (DT_LOPROC + 1)
341+#define DT_ARM_PREEMTMAB (DT_LOPROC + 2)
342+#define DT_ARM_RESERVED2 (DT_LOPROC + 3)
343+#define DT_ARM_NUM 4
344
345 /* ARM relocs. */
346
347@@ -2336,12 +2346,75 @@ typedef Elf32_Addr Elf32_Conflict;
348 #define R_ARM_GOTPC 25 /* 32 bit PC relative offset to GOT */
349 #define R_ARM_GOT32 26 /* 32 bit GOT entry */
350 #define R_ARM_PLT32 27 /* 32 bit PLT address */
351+#define R_ARM_CALL 28
352+#define R_ARM_JUMP24 29
353+#define R_ARM_THM_JUMP24 30
354+#define R_ARM_BASE_ABS 31
355 #define R_ARM_ALU_PCREL_7_0 32
356 #define R_ARM_ALU_PCREL_15_8 33
357 #define R_ARM_ALU_PCREL_23_15 34
358 #define R_ARM_LDR_SBREL_11_0 35
359 #define R_ARM_ALU_SBREL_19_12 36
360 #define R_ARM_ALU_SBREL_27_20 37
361+#define R_ARM_TARGET1 38
362+#define R_ARM_SBREL31 39
363+#define R_ARM_V4BX 40
364+#define R_ARM_TARGET2 41
365+#define R_ARM_PREL31 42
366+#define R_ARM_MOVW_ABS_NC 43
367+#define R_ARM_MOVT_ABS 44
368+#define R_ARM_MOVW_PREL_NC 45
369+#define R_ARM_MOVT_PREL 46
370+#define R_ARM_THM_MOVW_ABS_NC 47
371+#define R_ARM_THM_MOVT_ABS 48
372+#define R_ARM_THM_MOVW_PREL_NC 49
373+#define R_ARM_THM_MOVT_PREL 50
374+#define R_ARM_THM_JUMP19 51
375+#define R_ARM_THM_JUMP6 52
376+#define R_ARM_THM_ALU_PREL_11_0 53
377+#define R_ARM_THM_PC12 54
378+#define R_ARM_ABS32_NO 55
379+#define R_ARM_REL32_NO 56
380+#define R_ARM_ALU_PC_G0_NC 57
381+#define R_ARM_ALU_PC_G0 58
382+#define R_ARM_ALU_PC_G1_NC 59
383+#define R_ARM_ALU_PC_G1 60
384+#define R_ARM_ALU_PC_G2 61
385+#define R_ARM_LDR_PC_G1 62
386+#define R_ARM_LDR_PC_G2 63
387+#define R_ARM_LDRS_PC_G0 64
388+#define R_ARM_LDRS_PC_G1 65
389+#define R_ARM_LDRS_PC_G2 66
390+#define R_ARM_LDC_PC_G0 67
391+#define R_ARM_LDC_PC_G1 68
392+#define R_ARM_LDC_PC_G2 69
393+#define R_ARM_ALU_SB_G0_NC 70
394+#define R_ARM_ALU_SB_G0 71
395+#define R_ARM_ALU_SB_G1_NC 72
396+#define R_ARM_ALU_SB_G1 73
397+#define R_ARM_ALU_SB_G2 74
398+#define R_ARM_LDR_SB_G0 75
399+#define R_ARM_LDR_SB_G1 76
400+#define R_ARM_LDR_SB_G2 77
401+#define R_ARM_LDRS_SB_G0 78
402+#define R_ARM_LDRS_SB_G1 79
403+#define R_ARM_LDRS_SB_G2 80
404+#define R_ARM_LDC_G0 81
405+#define R_ARM_LDC_G1 82
406+#define R_ARM_LDC_G2 83
407+#define R_ARM_MOVW_BREL_NC 84
408+#define R_ARM_MOVT_BREL 85
409+#define R_ARM_MOVW_BREL 86
410+#define R_ARM_THM_MOVW_BREL_NC 87
411+#define R_ARM_THM_MOVT_BREL 88
412+#define R_ARM_THM_MOVW_BREL 89
413+/* 90-93 unallocated */
414+#define R_ARM_PLT32_ABS 94
415+#define R_ARM_GOT_ABS 95
416+#define R_ARM_GOT_PREL 96
417+#define R_ARM_GOT_BREL12 97
418+#define R_ARM_GOTOFF12 98
419+#define R_ARM_GOTRELAX 99
420 #define R_ARM_TLS_GOTDESC 90
421 #define R_ARM_TLS_CALL 91
422 #define R_ARM_TLS_DESCSEQ 92
423@@ -2360,6 +2433,13 @@ typedef Elf32_Addr Elf32_Conflict;
424 static TLS block offset */
425 #define R_ARM_TLS_LE32 108 /* 32 bit offset relative to static
426 TLS block */
427+#define R_ARM_TLS_LDO12 109
428+#define R_ARM_TLS_LE12 110
429+#define R_ARM_TLS_IE12GP 111
430+/* 112 - 127 private range */
431+#define R_ARM_ME_TOO 128|/* obsolete */
432+
433+
434 #define R_ARM_THM_TLS_DESCSEQ 129
435 #define R_ARM_IRELATIVE 160
436 #define R_ARM_RXPC25 249
437Index: elfutils-0.155/backends/libebl_arm.h
438===================================================================
439--- /dev/null
440+++ elfutils-0.155/backends/libebl_arm.h
441@@ -0,0 +1,9 @@
442+#ifndef _LIBEBL_ARM_H
443+#define _LIBEBL_ARM_H 1
444+
445+#include <libdw.h>
446+
447+extern int arm_return_value_location_soft(Dwarf_Die *, const Dwarf_Op **locp);
448+extern int arm_return_value_location_hard(Dwarf_Die *, const Dwarf_Op **locp);
449+
450+#endif
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.155/dso-link-change.patch b/meta/recipes-devtools/elfutils/elfutils-0.155/dso-link-change.patch
new file mode 100644
index 0000000000..f375a8ad64
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils-0.155/dso-link-change.patch
@@ -0,0 +1,32 @@
1Upstream-Status: Pending
2
3# This patch makes the link to the dependencies of libdw explicit, as recent
4# ld no longer implicitly links them. See
5# http://lists.fedoraproject.org/pipermail/devel/2010-March/133601.html as
6# a similar example of the error message you can encounter without this patch,
7# and https://fedoraproject.org/wiki/UnderstandingDSOLinkChange and
8# https://fedoraproject.org/wiki/Features/ChangeInImplicitDSOLinking for more
9# details.
10
11--- elfutils-0.155.orig/src/Makefile.am
12+++ elfutils-0.155/src/Makefile.am
13@@ -86,7 +86,7 @@ libdw = ../libdw/libdw.a $(zip_LIBS) $(l
14 libelf = ../libelf/libelf.a
15 else
16 libasm = ../libasm/libasm.so
17-libdw = ../libdw/libdw.so
18+libdw = ../libdw/libdw.so $(zip_LIBS) $(libelf) $(libebl) -ldl
19 libelf = ../libelf/libelf.so
20 endif
21 libebl = ../libebl/libebl.a
22--- elfutils-0.155.orig/tests/Makefile.am
23+++ elfutils-0.155/tests/Makefile.am
24@@ -172,7 +172,7 @@ libdw = ../libdw/libdw.a $(zip_LIBS) $(l
25 libelf = ../libelf/libelf.a
26 libasm = ../libasm/libasm.a
27 else
28-libdw = ../libdw/libdw.so
29+libdw = ../libdw/libdw.so $(zip_LIBS) $(libelf) $(libebl) -ldl
30 libelf = ../libelf/libelf.so
31 libasm = ../libasm/libasm.so
32 endif
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.155/elf_additions.diff b/meta/recipes-devtools/elfutils/elfutils-0.155/elf_additions.diff
new file mode 100644
index 0000000000..7c7f8a1bc0
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils-0.155/elf_additions.diff
@@ -0,0 +1,61 @@
1Upstream-Status: Backport
2
3Index: elfutils-0.155/libelf/elf.h
4===================================================================
5--- elfutils-0.155.orig/libelf/elf.h
6+++ elfutils-0.155/libelf/elf.h
7@@ -149,8 +149,13 @@ typedef struct
8 #define ELFOSABI_TRU64 10 /* Compaq TRU64 UNIX. */
9 #define ELFOSABI_MODESTO 11 /* Novell Modesto. */
10 #define ELFOSABI_OPENBSD 12 /* OpenBSD. */
11+#define ELFOSABI_OPENVMS 13 /* OpenVMS */
12+#define ELFOSABI_NSK 14 /* Hewlett-Packard Non-Stop Kernel */
13+#define ELFOSABI_AROS 15 /* Amiga Research OS */
14+/* 64-255 Architecture-specific value range */
15 #define ELFOSABI_ARM_AEABI 64 /* ARM EABI */
16 #define ELFOSABI_ARM 97 /* ARM */
17+/* This is deprecated? It's not in the latest version anymore. */
18 #define ELFOSABI_STANDALONE 255 /* Standalone (embedded) application */
19
20 #define EI_ABIVERSION 8 /* ABI version */
21@@ -205,7 +210,7 @@ typedef struct
22 #define EM_H8_300H 47 /* Hitachi H8/300H */
23 #define EM_H8S 48 /* Hitachi H8S */
24 #define EM_H8_500 49 /* Hitachi H8/500 */
25-#define EM_IA_64 50 /* Intel Merced */
26+#define EM_IA_64 50 /* Intel IA64 */
27 #define EM_MIPS_X 51 /* Stanford MIPS-X */
28 #define EM_COLDFIRE 52 /* Motorola Coldfire */
29 #define EM_68HC12 53 /* Motorola M68HC12 */
30@@ -219,7 +224,8 @@ typedef struct
31 #define EM_TINYJ 61 /* Advanced Logic Corp. Tinyj emb.fam*/
32 #define EM_X86_64 62 /* AMD x86-64 architecture */
33 #define EM_PDSP 63 /* Sony DSP Processor */
34-
35+#define EM_PDP10 64 /* Digital Equipment Corp. PDP-10 */
36+#define EM_PDP11 65 /* Digital Equipment Corp. PDP-11 */
37 #define EM_FX66 66 /* Siemens FX66 microcontroller */
38 #define EM_ST9PLUS 67 /* STMicroelectronics ST9+ 8/16 mc */
39 #define EM_ST7 68 /* STmicroelectronics ST7 8 bit mc */
40@@ -249,6 +255,21 @@ typedef struct
41 #define EM_OPENRISC 92 /* OpenRISC 32-bit embedded processor */
42 #define EM_ARC_A5 93 /* ARC Cores Tangent-A5 */
43 #define EM_XTENSA 94 /* Tensilica Xtensa Architecture */
44+#define EM_VIDEOCORE 95 /* Alphamosaic VideoCore processor */
45+#define EM_TMM_GPP 96 /* Thompson Multimedia General Purpose Processor */
46+#define EM_NS32K 97 /* National Semiconductor 32000 series */
47+#define EM_TPC 98 /* Tenor Network TPC processor */
48+#define EM_SNP1K 99 /* Trebia SNP 1000 processor */
49+#define EM_ST200 100 /* STMicroelectronics (www.st.com) ST200 microcontroller */
50+#define EM_IP2K 101 /* Ubicom IP2XXX microcontroller family */
51+#define EM_MAX 102 /* MAX Processor */
52+#define EM_CR 103 /* National Semiconductor CompactRISC */
53+#define EM_F2MC16 104 /* Fujitsu F2MC16 */
54+#define EM_MSP430 105 /* TI msp430 micro controller */
55+#define EM_BLACKFIN 106 /* Analog Devices Blackfin (DSP) processor */
56+#define EM_SE_C33 107 /* S1C33 Family of Seiko Epson processors */
57+#define EM_SEP 108 /* Sharp embedded microprocessor */
58+#define EM_ARCA 109 /* Arca RISC Microprocessor */
59 #define EM_TILEPRO 188 /* Tilera TILEPro */
60 #define EM_TILEGX 191 /* Tilera TILE-Gx */
61 #define EM_NUM 192
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.155/elfutils-ar-c-fix-num-passed-to-memset.patch b/meta/recipes-devtools/elfutils/elfutils-0.155/elfutils-ar-c-fix-num-passed-to-memset.patch
new file mode 100644
index 0000000000..dd4f06bcd4
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils-0.155/elfutils-ar-c-fix-num-passed-to-memset.patch
@@ -0,0 +1,23 @@
1Upstream-Status: Backport
2
3ar.c (do_oper_delete): Fix num passed to memset
4native build failed as following on Fedora18+:
5ar.c: In function 'do_oper_delete':
6ar.c:918:31: error: argument to 'sizeof' in 'memset' call is the same expression as the destination; did you mean to dereference it? [-Werror=sizeof-pointer-memaccess]
7 memset (found, '\0', sizeof (found));
8 ^
9The original commit is http://git.fedorahosted.org/cgit/elfutils.git/commit/src/ar.c?id=1a4d0668d18bf1090c5c08cdb5cb3ba2b8eb5410
10
11Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
12
13--- elfutils-0.155/src/ar.c.org 2013-03-12 21:12:17.928281375 -0500
14+++ elfutils-0.155/src/ar.c 2013-03-12 21:15:30.053285271 -0500
15@@ -915,7 +915,7 @@
16 long int instance)
17 {
18 bool *found = alloca (sizeof (bool) * argc);
19- memset (found, '\0', sizeof (found));
20+ memset (found, '\0', sizeof (bool) * argc);
21
22 /* List of the files we keep. */
23 struct armem *to_copy = NULL;
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.155/hppa_backend.diff b/meta/recipes-devtools/elfutils/elfutils-0.155/hppa_backend.diff
new file mode 100644
index 0000000000..3fb25230ed
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils-0.155/hppa_backend.diff
@@ -0,0 +1,801 @@
1Upstream-Status: Backport
2
3Index: elfutils-0.155/backends/parisc_init.c
4===================================================================
5--- /dev/null
6+++ elfutils-0.155/backends/parisc_init.c
7@@ -0,0 +1,74 @@
8+/* Initialization of PA-RISC specific backend library.
9+ Copyright (C) 2002, 2005, 2006 Red Hat, Inc.
10+ This file is part of Red Hat elfutils.
11+ Written by Ulrich Drepper <drepper@redhat.com>, 2002.
12+
13+ Red Hat elfutils is free software; you can redistribute it and/or modify
14+ it under the terms of the GNU General Public License as published by the
15+ Free Software Foundation; version 2 of the License.
16+
17+ Red Hat elfutils is distributed in the hope that it will be useful, but
18+ WITHOUT ANY WARRANTY; without even the implied warranty of
19+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20+ General Public License for more details.
21+
22+ You should have received a copy of the GNU General Public License along
23+ with Red Hat elfutils; if not, write to the Free Software Foundation,
24+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
25+
26+ Red Hat elfutils is an included package of the Open Invention Network.
27+ An included package of the Open Invention Network is a package for which
28+ Open Invention Network licensees cross-license their patents. No patent
29+ license is granted, either expressly or impliedly, by designation as an
30+ included package. Should you wish to participate in the Open Invention
31+ Network licensing program, please visit www.openinventionnetwork.com
32+ <http://www.openinventionnetwork.com>. */
33+
34+#ifdef HAVE_CONFIG_H
35+# include <config.h>
36+#endif
37+
38+#define BACKEND parisc_
39+#define RELOC_PREFIX R_PARISC_
40+#include "libebl_CPU.h"
41+#include "libebl_parisc.h"
42+
43+/* This defines the common reloc hooks based on parisc_reloc.def. */
44+#include "common-reloc.c"
45+
46+
47+const char *
48+parisc_init (elf, machine, eh, ehlen)
49+ Elf *elf __attribute__ ((unused));
50+ GElf_Half machine __attribute__ ((unused));
51+ Ebl *eh;
52+ size_t ehlen;
53+{
54+ int pa64 = 0;
55+
56+ /* Check whether the Elf_BH object has a sufficent size. */
57+ if (ehlen < sizeof (Ebl))
58+ return NULL;
59+
60+ if (elf) {
61+ GElf_Ehdr ehdr_mem;
62+ GElf_Ehdr *ehdr = gelf_getehdr (elf, &ehdr_mem);
63+ if (ehdr && (ehdr->e_flags & EF_PARISC_WIDE))
64+ pa64 = 1;
65+ }
66+ /* We handle it. */
67+ eh->name = "PA-RISC";
68+ parisc_init_reloc (eh);
69+ HOOK (eh, reloc_simple_type);
70+ HOOK (eh, machine_flag_check);
71+ HOOK (eh, symbol_type_name);
72+ HOOK (eh, segment_type_name);
73+ HOOK (eh, section_type_name);
74+ HOOK (eh, register_info);
75+ if (pa64)
76+ eh->return_value_location = parisc_return_value_location_64;
77+ else
78+ eh->return_value_location = parisc_return_value_location_32;
79+
80+ return MODVERSION;
81+}
82Index: elfutils-0.155/backends/parisc_regs.c
83===================================================================
84--- /dev/null
85+++ elfutils-0.155/backends/parisc_regs.c
86@@ -0,0 +1,159 @@
87+/* Register names and numbers for PA-RISC DWARF.
88+ Copyright (C) 2005, 2006 Red Hat, Inc.
89+ This file is part of Red Hat elfutils.
90+
91+ Red Hat elfutils is free software; you can redistribute it and/or modify
92+ it under the terms of the GNU General Public License as published by the
93+ Free Software Foundation; version 2 of the License.
94+
95+ Red Hat elfutils is distributed in the hope that it will be useful, but
96+ WITHOUT ANY WARRANTY; without even the implied warranty of
97+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
98+ General Public License for more details.
99+
100+ You should have received a copy of the GNU General Public License along
101+ with Red Hat elfutils; if not, write to the Free Software Foundation,
102+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
103+
104+ Red Hat elfutils is an included package of the Open Invention Network.
105+ An included package of the Open Invention Network is a package for which
106+ Open Invention Network licensees cross-license their patents. No patent
107+ license is granted, either expressly or impliedly, by designation as an
108+ included package. Should you wish to participate in the Open Invention
109+ Network licensing program, please visit www.openinventionnetwork.com
110+ <http://www.openinventionnetwork.com>. */
111+
112+#ifdef HAVE_CONFIG_H
113+# include <config.h>
114+#endif
115+
116+#include <string.h>
117+#include <dwarf.h>
118+
119+#define BACKEND parisc_
120+#include "libebl_CPU.h"
121+
122+ssize_t
123+parisc_register_info (Ebl *ebl, int regno, char *name, size_t namelen,
124+ const char **prefix, const char **setname,
125+ int *bits, int *type)
126+{
127+ int pa64 = 0;
128+
129+ if (ebl->elf) {
130+ GElf_Ehdr ehdr_mem;
131+ GElf_Ehdr *ehdr = gelf_getehdr (ebl->elf, &ehdr_mem);
132+ if (ehdr->e_flags & EF_PARISC_WIDE)
133+ pa64 = 1;
134+ }
135+
136+ int nregs = pa64 ? 127 : 128;
137+
138+ if (name == NULL)
139+ return nregs;
140+
141+ if (regno < 0 || regno >= nregs || namelen < 6)
142+ return -1;
143+
144+ *prefix = "%";
145+
146+ if (regno < 32)
147+ {
148+ *setname = "integer";
149+ *type = DW_ATE_signed;
150+ if (pa64)
151+ {
152+ *bits = 64;
153+ }
154+ else
155+ {
156+ *bits = 32;
157+ }
158+ }
159+ else if (regno == 32)
160+ {
161+ *setname = "special";
162+ if (pa64)
163+ {
164+ *bits = 6;
165+ }
166+ else
167+ {
168+ *bits = 5;
169+ }
170+ *type = DW_ATE_unsigned;
171+ }
172+ else
173+ {
174+ *setname = "FPU";
175+ *type = DW_ATE_float;
176+ if (pa64)
177+ {
178+ *bits = 64;
179+ }
180+ else
181+ {
182+ *bits = 32;
183+ }
184+ }
185+
186+ if (regno < 33) {
187+ switch (regno)
188+ {
189+ case 0 ... 9:
190+ name[0] = 'r';
191+ name[1] = regno + '0';
192+ namelen = 2;
193+ break;
194+ case 10 ... 31:
195+ name[0] = 'r';
196+ name[1] = regno / 10 + '0';
197+ name[2] = regno % 10 + '0';
198+ namelen = 3;
199+ break;
200+ case 32:
201+ *prefix = NULL;
202+ name[0] = 'S';
203+ name[1] = 'A';
204+ name[2] = 'R';
205+ namelen = 3;
206+ break;
207+ }
208+ }
209+ else {
210+ if (pa64 && ((regno - 72) % 2)) {
211+ *setname = NULL;
212+ return 0;
213+ }
214+
215+ switch (regno)
216+ {
217+ case 72 + 0 ... 72 + 11:
218+ name[0] = 'f';
219+ name[1] = 'r';
220+ name[2] = (regno + 8 - 72) / 2 + '0';
221+ namelen = 3;
222+ if ((regno + 8 - 72) % 2) {
223+ name[3] = 'R';
224+ namelen++;
225+ }
226+ break;
227+ case 72 + 12 ... 72 + 55:
228+ name[0] = 'f';
229+ name[1] = 'r';
230+ name[2] = (regno + 8 - 72) / 2 / 10 + '0';
231+ name[3] = (regno + 8 - 72) / 2 % 10 + '0';
232+ namelen = 4;
233+ if ((regno + 8 - 72) % 2) {
234+ name[4] = 'R';
235+ namelen++;
236+ }
237+ break;
238+ default:
239+ *setname = NULL;
240+ return 0;
241+ }
242+ }
243+ name[namelen++] = '\0';
244+ return namelen;
245+}
246Index: elfutils-0.155/backends/parisc_reloc.def
247===================================================================
248--- /dev/null
249+++ elfutils-0.155/backends/parisc_reloc.def
250@@ -0,0 +1,128 @@
251+/* List the relocation types for PA-RISC. -*- C -*-
252+ Copyright (C) 2005 Red Hat, Inc.
253+ This file is part of Red Hat elfutils.
254+
255+ Red Hat elfutils is free software; you can redistribute it and/or modify
256+ it under the terms of the GNU General Public License as published by the
257+ Free Software Foundation; version 2 of the License.
258+
259+ Red Hat elfutils is distributed in the hope that it will be useful, but
260+ WITHOUT ANY WARRANTY; without even the implied warranty of
261+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
262+ General Public License for more details.
263+
264+ You should have received a copy of the GNU General Public License along
265+ with Red Hat elfutils; if not, write to the Free Software Foundation,
266+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
267+
268+ Red Hat elfutils is an included package of the Open Invention Network.
269+ An included package of the Open Invention Network is a package for which
270+ Open Invention Network licensees cross-license their patents. No patent
271+ license is granted, either expressly or impliedly, by designation as an
272+ included package. Should you wish to participate in the Open Invention
273+ Network licensing program, please visit www.openinventionnetwork.com
274+ <http://www.openinventionnetwork.com>. */
275+
276+/* NAME, REL|EXEC|DYN */
277+
278+RELOC_TYPE (NONE, EXEC|DYN)
279+RELOC_TYPE (DIR32, REL|EXEC|DYN)
280+RELOC_TYPE (DIR21L, REL|EXEC|DYN)
281+RELOC_TYPE (DIR17R, REL)
282+RELOC_TYPE (DIR17F, REL)
283+RELOC_TYPE (DIR14R, REL|DYN)
284+RELOC_TYPE (PCREL32, REL)
285+RELOC_TYPE (PCREL21L, REL)
286+RELOC_TYPE (PCREL17R, REL)
287+RELOC_TYPE (PCREL17F, REL)
288+RELOC_TYPE (PCREL14R, REL|EXEC)
289+RELOC_TYPE (DPREL21L, REL)
290+RELOC_TYPE (DPREL14WR, REL)
291+RELOC_TYPE (DPREL14DR, REL)
292+RELOC_TYPE (DPREL14R, REL)
293+RELOC_TYPE (GPREL21L, 0)
294+RELOC_TYPE (GPREL14R, 0)
295+RELOC_TYPE (LTOFF21L, REL)
296+RELOC_TYPE (LTOFF14R, REL)
297+RELOC_TYPE (DLTIND14F, 0)
298+RELOC_TYPE (SETBASE, 0)
299+RELOC_TYPE (SECREL32, REL)
300+RELOC_TYPE (BASEREL21L, 0)
301+RELOC_TYPE (BASEREL17R, 0)
302+RELOC_TYPE (BASEREL14R, 0)
303+RELOC_TYPE (SEGBASE, 0)
304+RELOC_TYPE (SEGREL32, REL)
305+RELOC_TYPE (PLTOFF21L, 0)
306+RELOC_TYPE (PLTOFF14R, 0)
307+RELOC_TYPE (PLTOFF14F, 0)
308+RELOC_TYPE (LTOFF_FPTR32, 0)
309+RELOC_TYPE (LTOFF_FPTR21L, 0)
310+RELOC_TYPE (LTOFF_FPTR14R, 0)
311+RELOC_TYPE (FPTR64, 0)
312+RELOC_TYPE (PLABEL32, REL|DYN)
313+RELOC_TYPE (PCREL64, 0)
314+RELOC_TYPE (PCREL22C, 0)
315+RELOC_TYPE (PCREL22F, 0)
316+RELOC_TYPE (PCREL14WR, 0)
317+RELOC_TYPE (PCREL14DR, 0)
318+RELOC_TYPE (PCREL16F, 0)
319+RELOC_TYPE (PCREL16WF, 0)
320+RELOC_TYPE (PCREL16DF, 0)
321+RELOC_TYPE (DIR64, REL|DYN)
322+RELOC_TYPE (DIR14WR, REL)
323+RELOC_TYPE (DIR14DR, REL)
324+RELOC_TYPE (DIR16F, REL)
325+RELOC_TYPE (DIR16WF, REL)
326+RELOC_TYPE (DIR16DF, REL)
327+RELOC_TYPE (GPREL64, 0)
328+RELOC_TYPE (GPREL14WR, 0)
329+RELOC_TYPE (GPREL14DR, 0)
330+RELOC_TYPE (GPREL16F, 0)
331+RELOC_TYPE (GPREL16WF, 0)
332+RELOC_TYPE (GPREL16DF, 0)
333+RELOC_TYPE (LTOFF64, 0)
334+RELOC_TYPE (LTOFF14WR, 0)
335+RELOC_TYPE (LTOFF14DR, 0)
336+RELOC_TYPE (LTOFF16F, 0)
337+RELOC_TYPE (LTOFF16WF, 0)
338+RELOC_TYPE (LTOFF16DF, 0)
339+RELOC_TYPE (SECREL64, 0)
340+RELOC_TYPE (BASEREL14WR, 0)
341+RELOC_TYPE (BASEREL14DR, 0)
342+RELOC_TYPE (SEGREL64, 0)
343+RELOC_TYPE (PLTOFF14WR, 0)
344+RELOC_TYPE (PLTOFF14DR, 0)
345+RELOC_TYPE (PLTOFF16F, 0)
346+RELOC_TYPE (PLTOFF16WF, 0)
347+RELOC_TYPE (PLTOFF16DF, 0)
348+RELOC_TYPE (LTOFF_FPTR64, 0)
349+RELOC_TYPE (LTOFF_FPTR14WR, 0)
350+RELOC_TYPE (LTOFF_FPTR14DR, 0)
351+RELOC_TYPE (LTOFF_FPTR16F, 0)
352+RELOC_TYPE (LTOFF_FPTR16WF, 0)
353+RELOC_TYPE (LTOFF_FPTR16DF, 0)
354+RELOC_TYPE (COPY, EXEC)
355+RELOC_TYPE (IPLT, EXEC|DYN)
356+RELOC_TYPE (EPLT, 0)
357+RELOC_TYPE (TPREL32, DYN)
358+RELOC_TYPE (TPREL21L, 0)
359+RELOC_TYPE (TPREL14R, 0)
360+RELOC_TYPE (LTOFF_TP21L, 0)
361+RELOC_TYPE (LTOFF_TP14R, 0)
362+RELOC_TYPE (LTOFF_TP14F, 0)
363+RELOC_TYPE (TPREL64, 0)
364+RELOC_TYPE (TPREL14WR, 0)
365+RELOC_TYPE (TPREL14DR, 0)
366+RELOC_TYPE (TPREL16F, 0)
367+RELOC_TYPE (TPREL16WF, 0)
368+RELOC_TYPE (TPREL16DF, 0)
369+RELOC_TYPE (LTOFF_TP64, 0)
370+RELOC_TYPE (LTOFF_TP14WR, 0)
371+RELOC_TYPE (LTOFF_TP14DR, 0)
372+RELOC_TYPE (LTOFF_TP16F, 0)
373+RELOC_TYPE (LTOFF_TP16WF, 0)
374+RELOC_TYPE (LTOFF_TP16DF, 0)
375+RELOC_TYPE (TLS_DTPMOD32, DYN)
376+RELOC_TYPE (TLS_DTPMOD64, DYN)
377+
378+#define NO_RELATIVE_RELOC 1
379Index: elfutils-0.155/backends/parisc_retval.c
380===================================================================
381--- /dev/null
382+++ elfutils-0.155/backends/parisc_retval.c
383@@ -0,0 +1,213 @@
384+/* Function return value location for Linux/PA-RISC ABI.
385+ Copyright (C) 2005 Red Hat, Inc.
386+ This file is part of Red Hat elfutils.
387+
388+ Red Hat elfutils is free software; you can redistribute it and/or modify
389+ it under the terms of the GNU General Public License as published by the
390+ Free Software Foundation; version 2 of the License.
391+
392+ Red Hat elfutils is distributed in the hope that it will be useful, but
393+ WITHOUT ANY WARRANTY; without even the implied warranty of
394+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
395+ General Public License for more details.
396+
397+ You should have received a copy of the GNU General Public License along
398+ with Red Hat elfutils; if not, write to the Free Software Foundation,
399+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
400+
401+ Red Hat elfutils is an included package of the Open Invention Network.
402+ An included package of the Open Invention Network is a package for which
403+ Open Invention Network licensees cross-license their patents. No patent
404+ license is granted, either expressly or impliedly, by designation as an
405+ included package. Should you wish to participate in the Open Invention
406+ Network licensing program, please visit www.openinventionnetwork.com
407+ <http://www.openinventionnetwork.com>. */
408+
409+#ifdef HAVE_CONFIG_H
410+# include <config.h>
411+#endif
412+
413+#include <assert.h>
414+#include <dwarf.h>
415+
416+#define BACKEND parisc_
417+#include "libebl_CPU.h"
418+#include "libebl_parisc.h"
419+
420+/* %r28, or pair %r28, %r29. */
421+static const Dwarf_Op loc_intreg32[] =
422+ {
423+ { .atom = DW_OP_reg28 }, { .atom = DW_OP_piece, .number = 4 },
424+ { .atom = DW_OP_reg29 }, { .atom = DW_OP_piece, .number = 4 },
425+ };
426+
427+static const Dwarf_Op loc_intreg[] =
428+ {
429+ { .atom = DW_OP_reg28 }, { .atom = DW_OP_piece, .number = 8 },
430+ { .atom = DW_OP_reg29 }, { .atom = DW_OP_piece, .number = 8 },
431+ };
432+#define nloc_intreg 1
433+#define nloc_intregpair 4
434+
435+/* %fr4L, or pair %fr4L, %fr4R on pa-32 */
436+static const Dwarf_Op loc_fpreg32[] =
437+ {
438+ { .atom = DW_OP_regx, .number = 72 }, { .atom = DW_OP_piece, .number = 4 },
439+ { .atom = DW_OP_regx, .number = 73 }, { .atom = DW_OP_piece, .number = 4 },
440+ };
441+#define nloc_fpreg32 2
442+#define nloc_fpregpair32 4
443+
444+/* $fr4 */
445+static const Dwarf_Op loc_fpreg[] =
446+ {
447+ { .atom = DW_OP_regx, .number = 72 },
448+ };
449+#define nloc_fpreg 1
450+
451+#if 0
452+/* The return value is a structure and is actually stored in stack space
453+ passed in a hidden argument by the caller. Address of the location is stored
454+ in %r28 before function call, but it may be changed by function. */
455+static const Dwarf_Op loc_aggregate[] =
456+ {
457+ { .atom = DW_OP_breg28 },
458+ };
459+#define nloc_aggregate 1
460+#endif
461+
462+static int
463+parisc_return_value_location_ (Dwarf_Die *functypedie, const Dwarf_Op **locp, int pa64)
464+{
465+ Dwarf_Word regsize = pa64 ? 8 : 4;
466+
467+ /* Start with the function's type, and get the DW_AT_type attribute,
468+ which is the type of the return value. */
469+
470+ Dwarf_Attribute attr_mem;
471+ Dwarf_Attribute *attr = dwarf_attr_integrate (functypedie, DW_AT_type, &attr_mem);
472+ if (attr == NULL)
473+ /* The function has no return value, like a `void' function in C. */
474+ return 0;
475+
476+ Dwarf_Die die_mem;
477+ Dwarf_Die *typedie = dwarf_formref_die (attr, &die_mem);
478+ int tag = dwarf_tag (typedie);
479+
480+ /* Follow typedefs and qualifiers to get to the actual type. */
481+ while (tag == DW_TAG_typedef
482+ || tag == DW_TAG_const_type || tag == DW_TAG_volatile_type
483+ || tag == DW_TAG_restrict_type || tag == DW_TAG_mutable_type)
484+ {
485+ attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem);
486+ typedie = dwarf_formref_die (attr, &die_mem);
487+ tag = dwarf_tag (typedie);
488+ }
489+
490+ switch (tag)
491+ {
492+ case -1:
493+ return -1;
494+
495+ case DW_TAG_subrange_type:
496+ if (! dwarf_hasattr_integrate (typedie, DW_AT_byte_size))
497+ {
498+ attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem);
499+ typedie = dwarf_formref_die (attr, &die_mem);
500+ tag = dwarf_tag (typedie);
501+ }
502+ /* Fall through. */
503+
504+ case DW_TAG_base_type:
505+ case DW_TAG_enumeration_type:
506+ case DW_TAG_pointer_type:
507+ case DW_TAG_ptr_to_member_type:
508+ {
509+ Dwarf_Word size;
510+ if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_byte_size,
511+ &attr_mem), &size) != 0)
512+ {
513+ if (tag == DW_TAG_pointer_type || tag == DW_TAG_ptr_to_member_type)
514+ size = 4;
515+ else
516+ return -1;
517+ }
518+ if (tag == DW_TAG_base_type)
519+ {
520+ Dwarf_Word encoding;
521+ if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_encoding,
522+ &attr_mem), &encoding) != 0)
523+ return -1;
524+
525+ if (encoding == DW_ATE_float)
526+ {
527+ if (pa64) {
528+ *locp = loc_fpreg;
529+ if (size <= 8)
530+ return nloc_fpreg;
531+ }
532+ else {
533+ *locp = loc_fpreg32;
534+ if (size <= 4)
535+ return nloc_fpreg32;
536+ else if (size <= 8)
537+ return nloc_fpregpair32;
538+ }
539+ goto aggregate;
540+ }
541+ }
542+ if (pa64)
543+ *locp = loc_intreg;
544+ else
545+ *locp = loc_intreg32;
546+ if (size <= regsize)
547+ return nloc_intreg;
548+ if (size <= 2 * regsize)
549+ return nloc_intregpair;
550+
551+ /* Else fall through. */
552+ }
553+
554+ case DW_TAG_structure_type:
555+ case DW_TAG_class_type:
556+ case DW_TAG_union_type:
557+ case DW_TAG_array_type:
558+ aggregate: {
559+ Dwarf_Word size;
560+ if (dwarf_aggregate_size (typedie, &size) != 0)
561+ return -1;
562+ if (pa64)
563+ *locp = loc_intreg;
564+ else
565+ *locp = loc_intreg32;
566+ if (size <= regsize)
567+ return nloc_intreg;
568+ if (size <= 2 * regsize)
569+ return nloc_intregpair;
570+#if 0
571+ /* there should be some way to know this location... But I do not see it. */
572+ *locp = loc_aggregate;
573+ return nloc_aggregate;
574+#endif
575+ /* fall through. */
576+ }
577+ }
578+
579+ /* XXX We don't have a good way to return specific errors from ebl calls.
580+ This value means we do not understand the type, but it is well-formed
581+ DWARF and might be valid. */
582+ return -2;
583+}
584+
585+int
586+parisc_return_value_location_32 (Dwarf_Die *functypedie, const Dwarf_Op **locp)
587+{
588+ return parisc_return_value_location_ (functypedie, locp, 0);
589+}
590+
591+int
592+parisc_return_value_location_64 (Dwarf_Die *functypedie, const Dwarf_Op **locp)
593+{
594+ return parisc_return_value_location_ (functypedie, locp, 1);
595+}
596+
597Index: elfutils-0.155/backends/parisc_symbol.c
598===================================================================
599--- /dev/null
600+++ elfutils-0.155/backends/parisc_symbol.c
601@@ -0,0 +1,112 @@
602+/* PA-RISC specific symbolic name handling.
603+ Copyright (C) 2002, 2005 Red Hat, Inc.
604+ This file is part of Red Hat elfutils.
605+ Written by Ulrich Drepper <drepper@redhat.com>, 2002.
606+
607+ Red Hat elfutils is free software; you can redistribute it and/or modify
608+ it under the terms of the GNU General Public License as published by the
609+ Free Software Foundation; version 2 of the License.
610+
611+ Red Hat elfutils is distributed in the hope that it will be useful, but
612+ WITHOUT ANY WARRANTY; without even the implied warranty of
613+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
614+ General Public License for more details.
615+
616+ You should have received a copy of the GNU General Public License along
617+ with Red Hat elfutils; if not, write to the Free Software Foundation,
618+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
619+
620+ Red Hat elfutils is an included package of the Open Invention Network.
621+ An included package of the Open Invention Network is a package for which
622+ Open Invention Network licensees cross-license their patents. No patent
623+ license is granted, either expressly or impliedly, by designation as an
624+ included package. Should you wish to participate in the Open Invention
625+ Network licensing program, please visit www.openinventionnetwork.com
626+ <http://www.openinventionnetwork.com>. */
627+
628+#ifdef HAVE_CONFIG_H
629+# include <config.h>
630+#endif
631+
632+#include <elf.h>
633+#include <stddef.h>
634+
635+#define BACKEND parisc_
636+#include "libebl_CPU.h"
637+
638+const char *
639+parisc_segment_type_name (int segment, char *buf __attribute__ ((unused)),
640+ size_t len __attribute__ ((unused)))
641+{
642+ switch (segment)
643+ {
644+ case PT_PARISC_ARCHEXT:
645+ return "PARISC_ARCHEXT";
646+ case PT_PARISC_UNWIND:
647+ return "PARISC_UNWIND";
648+ default:
649+ break;
650+ }
651+ return NULL;
652+}
653+
654+/* Return symbolic representation of symbol type. */
655+const char *
656+parisc_symbol_type_name(int symbol, char *buf __attribute__ ((unused)),
657+ size_t len __attribute__ ((unused)))
658+{
659+ if (symbol == STT_PARISC_MILLICODE)
660+ return "PARISC_MILLI";
661+ return NULL;
662+}
663+
664+/* Return symbolic representation of section type. */
665+const char *
666+parisc_section_type_name (int type,
667+ char *buf __attribute__ ((unused)),
668+ size_t len __attribute__ ((unused)))
669+{
670+ switch (type)
671+ {
672+ case SHT_PARISC_EXT:
673+ return "PARISC_EXT";
674+ case SHT_PARISC_UNWIND:
675+ return "PARISC_UNWIND";
676+ case SHT_PARISC_DOC:
677+ return "PARISC_DOC";
678+ }
679+
680+ return NULL;
681+}
682+
683+/* Check whether machine flags are valid. */
684+bool
685+parisc_machine_flag_check (GElf_Word flags)
686+{
687+ if (flags &~ (EF_PARISC_TRAPNIL | EF_PARISC_EXT | EF_PARISC_LSB |
688+ EF_PARISC_WIDE | EF_PARISC_NO_KABP |
689+ EF_PARISC_LAZYSWAP | EF_PARISC_ARCH))
690+ return 0;
691+
692+ GElf_Word arch = flags & EF_PARISC_ARCH;
693+
694+ return ((arch == EFA_PARISC_1_0) || (arch == EFA_PARISC_1_1) ||
695+ (arch == EFA_PARISC_2_0));
696+}
697+
698+/* Check for the simple reloc types. */
699+Elf_Type
700+parisc_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type)
701+{
702+ switch (type)
703+ {
704+ case R_PARISC_DIR64:
705+ case R_PARISC_SECREL64:
706+ return ELF_T_XWORD;
707+ case R_PARISC_DIR32:
708+ case R_PARISC_SECREL32:
709+ return ELF_T_WORD;
710+ default:
711+ return ELF_T_NUM;
712+ }
713+}
714Index: elfutils-0.155/backends/libebl_parisc.h
715===================================================================
716--- /dev/null
717+++ elfutils-0.155/backends/libebl_parisc.h
718@@ -0,0 +1,9 @@
719+#ifndef _LIBEBL_HPPA_H
720+#define _LIBEBL_HPPA_H 1
721+
722+#include <libdw.h>
723+
724+extern int parisc_return_value_location_32(Dwarf_Die *, const Dwarf_Op **locp);
725+extern int parisc_return_value_location_64(Dwarf_Die *, const Dwarf_Op **locp);
726+
727+#endif
728Index: elfutils-0.155/backends/Makefile.am
729===================================================================
730--- elfutils-0.155.orig/backends/Makefile.am
731+++ elfutils-0.155/backends/Makefile.am
732@@ -32,11 +32,11 @@
733 -I$(top_srcdir)/libelf -I$(top_srcdir)/libdw
734
735
736-modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 tilegx
737+modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 tilegx parisc
738 libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \
739 libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \
740 libebl_sparc_pic.a libebl_ppc_pic.a libebl_ppc64_pic.a \
741- libebl_s390_pic.a libebl_tilegx_pic.a
742+ libebl_s390_pic.a libebl_tilegx_pic.a libebl_parisc_pic.a
743 noinst_LIBRARIES = $(libebl_pic)
744 noinst_DATA = $(libebl_pic:_pic.a=.so)
745
746@@ -103,6 +103,9 @@
747 libebl_tilegx_pic_a_SOURCES = $(tilegx_SRCS)
748 am_libebl_tilegx_pic_a_OBJECTS = $(tilegx_SRCS:.c=.os)
749
750+parisc_SRCS = parisc_init.c parisc_symbol.c parisc_regs.c parisc_retval.c
751+libebl_parisc_pic_a_SOURCES = $(parisc_SRCS)
752+am_libebl_parisc_pic_a_OBJECTS = $(parisc_SRCS:.c=.os)
753
754 libebl_%.so libebl_%.map: libebl_%_pic.a $(libelf) $(libdw)
755 @rm -f $(@:.so=.map)
756Index: elfutils-0.155/libelf/elf.h
757===================================================================
758--- elfutils-0.155.orig/libelf/elf.h
759+++ elfutils-0.155/libelf/elf.h
760@@ -1780,16 +1780,24 @@
761 #define R_PARISC_PCREL17F 12 /* 17 bits of rel. address. */
762 #define R_PARISC_PCREL14R 14 /* Right 14 bits of rel. address. */
763 #define R_PARISC_DPREL21L 18 /* Left 21 bits of rel. address. */
764+#define R_PARISC_DPREL14WR 19
765+#define R_PARISC_DPREL14DR 20
766 #define R_PARISC_DPREL14R 22 /* Right 14 bits of rel. address. */
767 #define R_PARISC_GPREL21L 26 /* GP-relative, left 21 bits. */
768 #define R_PARISC_GPREL14R 30 /* GP-relative, right 14 bits. */
769 #define R_PARISC_LTOFF21L 34 /* LT-relative, left 21 bits. */
770 #define R_PARISC_LTOFF14R 38 /* LT-relative, right 14 bits. */
771+#define R_PARISC_DLTIND14F 39
772+#define R_PARISC_SETBASE 40
773 #define R_PARISC_SECREL32 41 /* 32 bits section rel. address. */
774+#define R_PARISC_BASEREL21L 42
775+#define R_PARISC_BASEREL17R 43
776+#define R_PARISC_BASEREL14R 46
777 #define R_PARISC_SEGBASE 48 /* No relocation, set segment base. */
778 #define R_PARISC_SEGREL32 49 /* 32 bits segment rel. address. */
779 #define R_PARISC_PLTOFF21L 50 /* PLT rel. address, left 21 bits. */
780 #define R_PARISC_PLTOFF14R 54 /* PLT rel. address, right 14 bits. */
781+#define R_PARISC_PLTOFF14F 55
782 #define R_PARISC_LTOFF_FPTR32 57 /* 32 bits LT-rel. function pointer. */
783 #define R_PARISC_LTOFF_FPTR21L 58 /* LT-rel. fct ptr, left 21 bits. */
784 #define R_PARISC_LTOFF_FPTR14R 62 /* LT-rel. fct ptr, right 14 bits. */
785@@ -1798,6 +1806,7 @@
786 #define R_PARISC_PLABEL21L 66 /* Left 21 bits of fdesc address. */
787 #define R_PARISC_PLABEL14R 70 /* Right 14 bits of fdesc address. */
788 #define R_PARISC_PCREL64 72 /* 64 bits PC-rel. address. */
789+#define R_PARISC_PCREL22C 73
790 #define R_PARISC_PCREL22F 74 /* 22 bits PC-rel. address. */
791 #define R_PARISC_PCREL14WR 75 /* PC-rel. address, right 14 bits. */
792 #define R_PARISC_PCREL14DR 76 /* PC rel. address, right 14 bits. */
793@@ -1823,6 +1832,8 @@
794 #define R_PARISC_LTOFF16WF 102 /* 16 bits LT-rel. address. */
795 #define R_PARISC_LTOFF16DF 103 /* 16 bits LT-rel. address. */
796 #define R_PARISC_SECREL64 104 /* 64 bits section rel. address. */
797+#define R_PARISC_BASEREL14WR 107
798+#define R_PARISC_BASEREL14DR 108
799 #define R_PARISC_SEGREL64 112 /* 64 bits segment rel. address. */
800 #define R_PARISC_PLTOFF14WR 115 /* PLT-rel. address, right 14 bits. */
801 #define R_PARISC_PLTOFF14DR 116 /* PLT-rel. address, right 14 bits. */
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.155/i386_dis.h b/meta/recipes-devtools/elfutils/elfutils-0.155/i386_dis.h
new file mode 100644
index 0000000000..a5cc01f919
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils-0.155/i386_dis.h
@@ -0,0 +1,1657 @@
1#define MNEMONIC_BITS 10
2#define SUFFIX_BITS 3
3#define FCT1_BITS 7
4#define STR1_BITS 4
5#define OFF1_1_BITS 7
6#define OFF1_1_BIAS 3
7#define OFF1_2_BITS 7
8#define OFF1_2_BIAS 4
9#define OFF1_3_BITS 1
10#define OFF1_3_BIAS 7
11#define FCT2_BITS 6
12#define STR2_BITS 2
13#define OFF2_1_BITS 7
14#define OFF2_1_BIAS 5
15#define OFF2_2_BITS 7
16#define OFF2_2_BIAS 4
17#define OFF2_3_BITS 4
18#define OFF2_3_BIAS 7
19#define FCT3_BITS 4
20#define STR3_BITS 1
21#define OFF3_1_BITS 6
22#define OFF3_1_BIAS 10
23#define OFF3_2_BITS 1
24#define OFF3_2_BIAS 21
25
26#include <i386_data.h>
27
28#define suffix_none 0
29#define suffix_w 1
30#define suffix_w0 2
31#define suffix_W 3
32#define suffix_tttn 4
33#define suffix_D 7
34#define suffix_w1 5
35#define suffix_W1 6
36
37static const opfct_t op1_fct[] =
38{
39 NULL,
40 FCT_MOD$R_M,
41 FCT_Mod$R_m,
42 FCT_abs,
43 FCT_ax,
44 FCT_ax$w,
45 FCT_ccc,
46 FCT_ddd,
47 FCT_disp8,
48 FCT_ds_bx,
49 FCT_ds_si,
50 FCT_dx,
51 FCT_es_di,
52 FCT_freg,
53 FCT_imm$s,
54 FCT_imm$w,
55 FCT_imm16,
56 FCT_imm8,
57 FCT_imms8,
58 FCT_mmxreg,
59 FCT_mod$16r_m,
60 FCT_mod$64r_m,
61 FCT_mod$8r_m,
62 FCT_mod$r_m,
63 FCT_mod$r_m$w,
64 FCT_reg,
65 FCT_reg$w,
66 FCT_reg16,
67 FCT_reg64,
68 FCT_rel,
69 FCT_sel,
70 FCT_sreg2,
71 FCT_sreg3,
72 FCT_string,
73 FCT_xmmreg,
74};
75static const char op1_str[] =
76 "%ax\0"
77 "%cl\0"
78 "%eax\0"
79 "%st\0"
80 "%xmm0\0"
81 "*";
82static const uint8_t op1_str_idx[] = {
83 0,
84 4,
85 8,
86 13,
87 17,
88 23,
89};
90static const opfct_t op2_fct[] =
91{
92 NULL,
93 FCT_MOD$R_M,
94 FCT_Mod$R_m,
95 FCT_abs,
96 FCT_absval,
97 FCT_ax$w,
98 FCT_ccc,
99 FCT_ddd,
100 FCT_ds_si,
101 FCT_dx,
102 FCT_es_di,
103 FCT_freg,
104 FCT_imm8,
105 FCT_mmxreg,
106 FCT_mod$64r_m,
107 FCT_mod$r_m,
108 FCT_mod$r_m$w,
109 FCT_moda$r_m,
110 FCT_reg,
111 FCT_reg$w,
112 FCT_reg64,
113 FCT_sreg3,
114 FCT_string,
115 FCT_xmmreg,
116};
117static const char op2_str[] =
118 "%ecx\0"
119 "%st";
120static const uint8_t op2_str_idx[] = {
121 0,
122 5,
123};
124static const opfct_t op3_fct[] =
125{
126 NULL,
127 FCT_mmxreg,
128 FCT_mod$r_m,
129 FCT_reg,
130 FCT_string,
131 FCT_xmmreg,
132};
133static const char op3_str[] =
134 "%edx";
135static const uint8_t op3_str_idx[] = {
136 0,
137};
138static const struct instr_enc instrtab[] =
139{
140 { .mnemonic = MNE_aaa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
141 { .mnemonic = MNE_aad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
142 { .mnemonic = MNE_aam, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
143 { .mnemonic = MNE_aas, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
144 { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
145 { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
146 { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
147 { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
148 { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
149 { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
150 { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
151 { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
152 { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
153 { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
154 { .mnemonic = MNE_addsubpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
155 { .mnemonic = MNE_addsubps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
156 { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
157 { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
158 { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
159 { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
160 { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
161 { .mnemonic = MNE_andpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
162 { .mnemonic = MNE_andps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
163 { .mnemonic = MNE_andnpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
164 { .mnemonic = MNE_andnps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
165 { .mnemonic = MNE_arpl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
166 { .mnemonic = MNE_bound, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 17, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
167 { .mnemonic = MNE_bsf, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
168 { .mnemonic = MNE_bsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
169 { .mnemonic = MNE_bswap, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 25, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
170 { .mnemonic = MNE_bt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
171 { .mnemonic = MNE_bt, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
172 { .mnemonic = MNE_btc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
173 { .mnemonic = MNE_btc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
174 { .mnemonic = MNE_btr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
175 { .mnemonic = MNE_btr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
176 { .mnemonic = MNE_bts, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
177 { .mnemonic = MNE_bts, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
178 { .mnemonic = MNE_call, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 29, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
179 { .mnemonic = MNE_call, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 21, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
180 { .mnemonic = MNE_lcall, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 30, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 4, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
181 { .mnemonic = MNE_lcall, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 21, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
182 { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
183 { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
184 { .mnemonic = MNE_clc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
185 { .mnemonic = MNE_cld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
186 { .mnemonic = MNE_cli, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
187 { .mnemonic = MNE_syscall, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
188 { .mnemonic = MNE_clts, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
189 { .mnemonic = MNE_sysret, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
190 { .mnemonic = MNE_sysenter, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
191 { .mnemonic = MNE_sysexit, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
192 { .mnemonic = MNE_cmc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
193 { .mnemonic = MNE_cmov, .rep = 0, .repe = 0, .suffix = 4, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
194 { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
195 { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
196 { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
197 { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
198 { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
199 { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
200 { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
201 { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
202 { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
203 { .mnemonic = MNE_cmps, .rep = 0, .repe = 1, .suffix = 1, .modrm = 0, .fct1 = 12, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 8, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
204 { .mnemonic = MNE_cmpxchg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 15, .off1_2 = 11, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 8, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
205 { .mnemonic = MNE_cmpxchg8b, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
206 { .mnemonic = MNE_cpuid, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
207 { .mnemonic = MNE_cvtdq2pd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
208 { .mnemonic = MNE_cvtpd2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
209 { .mnemonic = MNE_cvttpd2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
210 { .mnemonic = MNE_daa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
211 { .mnemonic = MNE_das, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
212 { .mnemonic = MNE_dec, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
213 { .mnemonic = MNE_dec, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 25, .str1 = 0, .off1_1 = 2, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
214 { .mnemonic = MNE_div, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
215 { .mnemonic = MNE_emms, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
216 { .mnemonic = MNE_enter, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 16, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 12, .str2 = 0, .off2_1 = 19, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
217 { .mnemonic = MNE_fnop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
218 { .mnemonic = MNE_fchs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
219 { .mnemonic = MNE_fabs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
220 { .mnemonic = MNE_ftst, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
221 { .mnemonic = MNE_fxam, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
222 { .mnemonic = MNE_fld1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
223 { .mnemonic = MNE_fldl2t, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
224 { .mnemonic = MNE_fldl2e, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
225 { .mnemonic = MNE_fldpi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
226 { .mnemonic = MNE_fldlg2, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
227 { .mnemonic = MNE_fldln2, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
228 { .mnemonic = MNE_fldz, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
229 { .mnemonic = MNE_f2xm1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
230 { .mnemonic = MNE_fyl2x, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
231 { .mnemonic = MNE_fptan, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
232 { .mnemonic = MNE_fpatan, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
233 { .mnemonic = MNE_fxtract, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
234 { .mnemonic = MNE_fprem1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
235 { .mnemonic = MNE_fdecstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
236 { .mnemonic = MNE_fincstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
237 { .mnemonic = MNE_fprem, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
238 { .mnemonic = MNE_fyl2xp1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
239 { .mnemonic = MNE_fsqrt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
240 { .mnemonic = MNE_fsincos, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
241 { .mnemonic = MNE_frndint, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
242 { .mnemonic = MNE_fscale, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
243 { .mnemonic = MNE_fsin, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
244 { .mnemonic = MNE_fcos, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
245 { .mnemonic = MNE_fadd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
246 { .mnemonic = MNE_fadd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
247 { .mnemonic = MNE_fadd, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
248 { .mnemonic = MNE_fmul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
249 { .mnemonic = MNE_fmul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
250 { .mnemonic = MNE_fmul, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
251 { .mnemonic = MNE_fsub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
252 { .mnemonic = MNE_fsub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
253 { .mnemonic = MNE_fsub, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
254 { .mnemonic = MNE_fsubr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
255 { .mnemonic = MNE_fsubr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
256 { .mnemonic = MNE_fsubr, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
257 { .mnemonic = MNE_fst, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
258 { .mnemonic = MNE_fst, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
259 { .mnemonic = MNE_fstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
260 { .mnemonic = MNE_fstp, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
261 { .mnemonic = MNE_fldenv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
262 { .mnemonic = MNE_fldcw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
263 { .mnemonic = MNE_fnstenv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
264 { .mnemonic = MNE_fnstcw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
265 { .mnemonic = MNE_fxch, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
266 { .mnemonic = MNE_faddp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
267 { .mnemonic = MNE_fcmovb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
268 { .mnemonic = MNE_fiadd, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
269 { .mnemonic = MNE_fcmove, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
270 { .mnemonic = MNE_fmulp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
271 { .mnemonic = MNE_fimul, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
272 { .mnemonic = MNE_fsubp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
273 { .mnemonic = MNE_fisub, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
274 { .mnemonic = MNE_fsubrp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
275 { .mnemonic = MNE_fisubr, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
276 { .mnemonic = MNE_fnstsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 1, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
277 { .mnemonic = MNE_fbld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
278 { .mnemonic = MNE_fcomip, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
279 { .mnemonic = MNE_fbstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
280 { .mnemonic = MNE_fchs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
281 { .mnemonic = MNE_fclex, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
282 { .mnemonic = MNE_finit, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
283 { .mnemonic = MNE_fwait, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
284 { .mnemonic = MNE_fnclex, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
285 { .mnemonic = MNE_fcmovb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
286 { .mnemonic = MNE_fcmove, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
287 { .mnemonic = MNE_fcmovbe, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
288 { .mnemonic = MNE_fcmovu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
289 { .mnemonic = MNE_fcmovnb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
290 { .mnemonic = MNE_fcmovne, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
291 { .mnemonic = MNE_fcmovnbe, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
292 { .mnemonic = MNE_fcmovnu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
293 { .mnemonic = MNE_fcom, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
294 { .mnemonic = MNE_fcom, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
295 { .mnemonic = MNE_fcomp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
296 { .mnemonic = MNE_fcomp, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
297 { .mnemonic = MNE_fcompp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
298 { .mnemonic = MNE_fcomi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
299 { .mnemonic = MNE_fcomip, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
300 { .mnemonic = MNE_fucomi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
301 { .mnemonic = MNE_fucomip, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
302 { .mnemonic = MNE_fcos, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
303 { .mnemonic = MNE_fdecstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
304 { .mnemonic = MNE_fdiv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
305 { .mnemonic = MNE_fdiv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
306 { .mnemonic = MNE_fdiv, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
307 { .mnemonic = MNE_fidivl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
308 { .mnemonic = MNE_fdivp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
309 { .mnemonic = MNE_fidiv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
310 { .mnemonic = MNE_fdivrp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
311 { .mnemonic = MNE_fdivr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
312 { .mnemonic = MNE_fdivr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
313 { .mnemonic = MNE_fdivr, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
314 { .mnemonic = MNE_fidivrl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
315 { .mnemonic = MNE_fidivr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
316 { .mnemonic = MNE_fdivrp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
317 { .mnemonic = MNE_ffree, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
318 { .mnemonic = MNE_fcmovbe, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
319 { .mnemonic = MNE_ficom, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
320 { .mnemonic = MNE_fcmovu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
321 { .mnemonic = MNE_ficomp, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
322 { .mnemonic = MNE_fild, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
323 { .mnemonic = MNE_fildl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
324 { .mnemonic = MNE_fildll, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
325 { .mnemonic = MNE_fincstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
326 { .mnemonic = MNE_fninit, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
327 { .mnemonic = MNE_fist, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
328 { .mnemonic = MNE_fistp, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
329 { .mnemonic = MNE_fistpll, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
330 { .mnemonic = MNE_fisttp, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
331 { .mnemonic = MNE_fisttpll, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
332 { .mnemonic = MNE_fldt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
333 { .mnemonic = MNE_fstpt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
334 { .mnemonic = MNE_fld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
335 { .mnemonic = MNE_fld, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
336 { .mnemonic = MNE_fucom, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
337 { .mnemonic = MNE_frstor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
338 { .mnemonic = MNE_fucomp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
339 { .mnemonic = MNE_fnsave, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
340 { .mnemonic = MNE_fnstsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
341 { .mnemonic = MNE_hlt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
342 { .mnemonic = MNE_idiv, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
343 { .mnemonic = MNE_imul, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
344 { .mnemonic = MNE_imul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
345 { .mnemonic = MNE_imul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 14, .str1 = 0, .off1_1 = 13, .off1_2 = 2, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 3, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
346 { .mnemonic = MNE_in, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
347 { .mnemonic = MNE_in, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 11, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 3, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
348 { .mnemonic = MNE_inc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
349 { .mnemonic = MNE_inc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 25, .str1 = 0, .off1_1 = 2, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
350 { .mnemonic = MNE_ins, .rep = 1, .repe = 0, .suffix = 1, .modrm = 0, .fct1 = 11, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 10, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
351 { .mnemonic = MNE_int, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
352 { .mnemonic = MNE_int3, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
353 { .mnemonic = MNE_into, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
354 { .mnemonic = MNE_invd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
355 { .mnemonic = MNE_swapgs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
356 { .mnemonic = MNE_invlpg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
357 { .mnemonic = MNE_iret, .rep = 0, .repe = 0, .suffix = 6, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
358 { .mnemonic = MNE_j, .rep = 0, .repe = 0, .suffix = 4, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
359 { .mnemonic = MNE_j, .rep = 0, .repe = 0, .suffix = 4, .modrm = 0, .fct1 = 29, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
360 { .mnemonic = MNE_set, .rep = 0, .repe = 0, .suffix = 4, .modrm = 1, .fct1 = 22, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
361 { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
362 { .mnemonic = MNE_jmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
363 { .mnemonic = MNE_jmp, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 29, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
364 { .mnemonic = MNE_jmp, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 21, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
365 { .mnemonic = MNE_ljmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 30, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 4, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
366 { .mnemonic = MNE_ljmp, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 21, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
367 { .mnemonic = MNE_lahf, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
368 { .mnemonic = MNE_lar, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
369 { .mnemonic = MNE_lds, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 5, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
370 { .mnemonic = MNE_lea, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 5, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
371 { .mnemonic = MNE_leave, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
372 { .mnemonic = MNE_les, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 5, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
373 { .mnemonic = MNE_lfs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
374 { .mnemonic = MNE_lgs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
375 { .mnemonic = MNE_lgdt, .rep = 0, .repe = 0, .suffix = 2, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
376 { .mnemonic = MNE_lidt, .rep = 0, .repe = 0, .suffix = 2, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
377 { .mnemonic = MNE_lldt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
378 { .mnemonic = MNE_lmsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
379 { .mnemonic = MNE_lock, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
380 { .mnemonic = MNE_lods, .rep = 1, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 10, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 3, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
381 { .mnemonic = MNE_loop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
382 { .mnemonic = MNE_loope, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
383 { .mnemonic = MNE_loopne, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
384 { .mnemonic = MNE_lsl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
385 { .mnemonic = MNE_lss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
386 { .mnemonic = MNE_ltr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
387 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
388 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
389 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
390 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
391 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 3, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 35, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
392 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 37, .off1_2 = 3, .off1_3 = 0, .fct2 = 3, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
393 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 6, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
394 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 6, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
395 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 7, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
396 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 7, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
397 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 32, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
398 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 21, .str2 = 0, .off2_1 = 5, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
399 { .mnemonic = MNE_movs, .rep = 1, .repe = 0, .suffix = 1, .modrm = 0, .fct1 = 10, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 10, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
400 { .mnemonic = MNE_movsbl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 22, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
401 { .mnemonic = MNE_movswl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
402 { .mnemonic = MNE_movzbl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 22, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
403 { .mnemonic = MNE_movzwl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
404 { .mnemonic = MNE_mul, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
405 { .mnemonic = MNE_neg, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
406 { .mnemonic = MNE_pause, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
407 { .mnemonic = MNE_nop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
408 { .mnemonic = MNE_popcnt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
409 { .mnemonic = MNE_not, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
410 { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
411 { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
412 { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
413 { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
414 { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
415 { .mnemonic = MNE_out, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 12, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
416 { .mnemonic = MNE_out, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 9, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
417 { .mnemonic = MNE_outs, .rep = 1, .repe = 0, .suffix = 1, .modrm = 0, .fct1 = 10, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 9, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
418 { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
419 { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 32, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
420 { .mnemonic = MNE_popf, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
421 { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
422 { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 25, .str1 = 0, .off1_1 = 2, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
423 { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 25, .str1 = 0, .off1_1 = 2, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
424 { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 14, .str1 = 0, .off1_1 = 5, .off1_2 = 2, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
425 { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 31, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
426 { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 32, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
427 { .mnemonic = MNE_pusha, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
428 { .mnemonic = MNE_popa, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
429 { .mnemonic = MNE_pushf, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
430 { .mnemonic = MNE_rcl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
431 { .mnemonic = MNE_rcl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
432 { .mnemonic = MNE_rcl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
433 { .mnemonic = MNE_rcr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
434 { .mnemonic = MNE_rcr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
435 { .mnemonic = MNE_rcr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
436 { .mnemonic = MNE_rdmsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
437 { .mnemonic = MNE_rdpmc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
438 { .mnemonic = MNE_rdtsc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
439 { .mnemonic = MNE_ret, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
440 { .mnemonic = MNE_ret, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 16, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
441 { .mnemonic = MNE_lret, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
442 { .mnemonic = MNE_lret, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 16, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
443 { .mnemonic = MNE_rol, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
444 { .mnemonic = MNE_rol, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
445 { .mnemonic = MNE_rol, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
446 { .mnemonic = MNE_ror, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
447 { .mnemonic = MNE_ror, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
448 { .mnemonic = MNE_ror, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
449 { .mnemonic = MNE_rsm, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
450 { .mnemonic = MNE_sahf, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
451 { .mnemonic = MNE_sar, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
452 { .mnemonic = MNE_sar, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
453 { .mnemonic = MNE_sar, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
454 { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
455 { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
456 { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
457 { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
458 { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
459 { .mnemonic = MNE_scas, .rep = 0, .repe = 1, .suffix = 0, .modrm = 0, .fct1 = 12, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 3, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
460 { .mnemonic = MNE_set, .rep = 0, .repe = 0, .suffix = 4, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
461 { .mnemonic = MNE_shl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
462 { .mnemonic = MNE_shl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
463 { .mnemonic = MNE_shl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
464 { .mnemonic = MNE_shr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
465 { .mnemonic = MNE_shld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, },
466 { .mnemonic = MNE_shld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, },
467 { .mnemonic = MNE_shr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
468 { .mnemonic = MNE_shr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
469 { .mnemonic = MNE_shrd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, },
470 { .mnemonic = MNE_shrd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, },
471 { .mnemonic = MNE_vmcall, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
472 { .mnemonic = MNE_vmlaunch, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
473 { .mnemonic = MNE_vmresume, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
474 { .mnemonic = MNE_vmxoff, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
475 { .mnemonic = MNE_vmread, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 28, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 14, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
476 { .mnemonic = MNE_vmwrite, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
477 { .mnemonic = MNE_sgdtl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
478 { .mnemonic = MNE_monitor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 3, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 1, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 4, .str3 = 1, .off3_1 = 0, .off3_2 = 0, },
479 { .mnemonic = MNE_mwait, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 3, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 1, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
480 { .mnemonic = MNE_sidtl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
481 { .mnemonic = MNE_sldt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
482 { .mnemonic = MNE_smsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
483 { .mnemonic = MNE_stc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
484 { .mnemonic = MNE_std, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
485 { .mnemonic = MNE_sti, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
486 { .mnemonic = MNE_stos, .rep = 1, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 10, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
487 { .mnemonic = MNE_str, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
488 { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
489 { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
490 { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
491 { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
492 { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
493 { .mnemonic = MNE_test, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
494 { .mnemonic = MNE_test, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
495 { .mnemonic = MNE_test, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
496 { .mnemonic = MNE_ud2a, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
497 { .mnemonic = MNE_verr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
498 { .mnemonic = MNE_verw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
499 { .mnemonic = MNE_wbinvd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
500 { .mnemonic = MNE_prefetch, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 22, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
501 { .mnemonic = MNE_prefetchw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 22, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
502 { .mnemonic = MNE_prefetchnta, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
503 { .mnemonic = MNE_prefetcht0, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
504 { .mnemonic = MNE_prefetcht1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
505 { .mnemonic = MNE_prefetcht2, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
506 { .mnemonic = MNE_nop, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
507 { .mnemonic = MNE_wrmsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
508 { .mnemonic = MNE_xadd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 15, .off1_2 = 11, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 8, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
509 { .mnemonic = MNE_xchg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
510 { .mnemonic = MNE_xchg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 4, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
511 { .mnemonic = MNE_xlat, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 9, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
512 { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
513 { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
514 { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
515 { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
516 { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
517 { .mnemonic = MNE_emms, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
518 { .mnemonic = MNE_pand, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
519 { .mnemonic = MNE_pand, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
520 { .mnemonic = MNE_pandn, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
521 { .mnemonic = MNE_pandn, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
522 { .mnemonic = MNE_pmaddwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
523 { .mnemonic = MNE_pmaddwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
524 { .mnemonic = MNE_por, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
525 { .mnemonic = MNE_por, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
526 { .mnemonic = MNE_pxor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
527 { .mnemonic = MNE_pxor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
528 { .mnemonic = MNE_andnps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
529 { .mnemonic = MNE_andps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
530 { .mnemonic = MNE_cmpeqps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
531 { .mnemonic = MNE_cmpltps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
532 { .mnemonic = MNE_cmpleps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
533 { .mnemonic = MNE_cmpunordps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
534 { .mnemonic = MNE_cmpneqps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
535 { .mnemonic = MNE_cmpnltps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
536 { .mnemonic = MNE_cmpnleps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
537 { .mnemonic = MNE_cmpordps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
538 { .mnemonic = MNE_cmpeqss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
539 { .mnemonic = MNE_cmpltss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
540 { .mnemonic = MNE_cmpless, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
541 { .mnemonic = MNE_cmpunordss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
542 { .mnemonic = MNE_cmpneqss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
543 { .mnemonic = MNE_cmpnltss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
544 { .mnemonic = MNE_cmpnless, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
545 { .mnemonic = MNE_cmpordss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
546 { .mnemonic = MNE_fxrstor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
547 { .mnemonic = MNE_fxsave, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
548 { .mnemonic = MNE_ldmxcsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
549 { .mnemonic = MNE_stmxcsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
550 { .mnemonic = MNE_movsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
551 { .mnemonic = MNE_movss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
552 { .mnemonic = MNE_movupd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
553 { .mnemonic = MNE_movups, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
554 { .mnemonic = MNE_movsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
555 { .mnemonic = MNE_movss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
556 { .mnemonic = MNE_movupd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
557 { .mnemonic = MNE_movups, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
558 { .mnemonic = MNE_movddup, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
559 { .mnemonic = MNE_movsldup, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
560 { .mnemonic = MNE_movlpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
561 { .mnemonic = MNE_movhlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
562 { .mnemonic = MNE_movlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
563 { .mnemonic = MNE_movhlpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
564 { .mnemonic = MNE_movhlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
565 { .mnemonic = MNE_movlpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
566 { .mnemonic = MNE_movlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
567 { .mnemonic = MNE_unpcklpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
568 { .mnemonic = MNE_unpcklps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
569 { .mnemonic = MNE_unpckhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
570 { .mnemonic = MNE_unpckhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
571 { .mnemonic = MNE_movshdup, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
572 { .mnemonic = MNE_movhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
573 { .mnemonic = MNE_movlhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
574 { .mnemonic = MNE_movhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
575 { .mnemonic = MNE_movlhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
576 { .mnemonic = MNE_movlhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
577 { .mnemonic = MNE_movhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
578 { .mnemonic = MNE_movhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
579 { .mnemonic = MNE_movapd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
580 { .mnemonic = MNE_movaps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
581 { .mnemonic = MNE_movapd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
582 { .mnemonic = MNE_movaps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
583 { .mnemonic = MNE_cvtsi2sd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
584 { .mnemonic = MNE_cvtsi2ss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
585 { .mnemonic = MNE_cvtpi2pd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
586 { .mnemonic = MNE_cvtpi2ps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
587 { .mnemonic = MNE_movntpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
588 { .mnemonic = MNE_movntps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
589 { .mnemonic = MNE_cvttsd2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
590 { .mnemonic = MNE_cvttss2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
591 { .mnemonic = MNE_cvttpd2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
592 { .mnemonic = MNE_cvttps2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
593 { .mnemonic = MNE_cvtpd2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
594 { .mnemonic = MNE_cvtsd2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
595 { .mnemonic = MNE_cvtss2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
596 { .mnemonic = MNE_cvtps2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
597 { .mnemonic = MNE_ucomisd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
598 { .mnemonic = MNE_ucomiss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
599 { .mnemonic = MNE_comisd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
600 { .mnemonic = MNE_comiss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
601 { .mnemonic = MNE_getsec, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
602 { .mnemonic = MNE_movmskpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
603 { .mnemonic = MNE_movmskps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
604 { .mnemonic = MNE_sqrtpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
605 { .mnemonic = MNE_sqrtsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
606 { .mnemonic = MNE_sqrtss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
607 { .mnemonic = MNE_sqrtps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
608 { .mnemonic = MNE_rsqrtss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
609 { .mnemonic = MNE_rsqrtps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
610 { .mnemonic = MNE_rcpss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
611 { .mnemonic = MNE_rcpps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
612 { .mnemonic = MNE_andpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
613 { .mnemonic = MNE_andps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
614 { .mnemonic = MNE_andnpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
615 { .mnemonic = MNE_andnps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
616 { .mnemonic = MNE_orpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
617 { .mnemonic = MNE_orps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
618 { .mnemonic = MNE_xorpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
619 { .mnemonic = MNE_xorps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
620 { .mnemonic = MNE_addsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
621 { .mnemonic = MNE_addss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
622 { .mnemonic = MNE_addpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
623 { .mnemonic = MNE_addps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
624 { .mnemonic = MNE_mulsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
625 { .mnemonic = MNE_mulss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
626 { .mnemonic = MNE_mulpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
627 { .mnemonic = MNE_mulps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
628 { .mnemonic = MNE_cvtsd2ss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
629 { .mnemonic = MNE_cvtss2sd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
630 { .mnemonic = MNE_cvtpd2ps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
631 { .mnemonic = MNE_cvtps2pd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
632 { .mnemonic = MNE_cvtps2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
633 { .mnemonic = MNE_cvttps2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
634 { .mnemonic = MNE_cvtdq2ps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
635 { .mnemonic = MNE_subsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
636 { .mnemonic = MNE_subss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
637 { .mnemonic = MNE_subpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
638 { .mnemonic = MNE_subps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
639 { .mnemonic = MNE_minsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
640 { .mnemonic = MNE_minss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
641 { .mnemonic = MNE_minpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
642 { .mnemonic = MNE_minps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
643 { .mnemonic = MNE_divsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
644 { .mnemonic = MNE_divss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
645 { .mnemonic = MNE_divpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
646 { .mnemonic = MNE_divps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
647 { .mnemonic = MNE_maxsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
648 { .mnemonic = MNE_maxss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
649 { .mnemonic = MNE_maxpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
650 { .mnemonic = MNE_maxps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
651 { .mnemonic = MNE_punpcklbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
652 { .mnemonic = MNE_punpcklbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
653 { .mnemonic = MNE_punpcklwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
654 { .mnemonic = MNE_punpcklwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
655 { .mnemonic = MNE_punpckldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
656 { .mnemonic = MNE_punpckldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
657 { .mnemonic = MNE_packsswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
658 { .mnemonic = MNE_packsswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
659 { .mnemonic = MNE_pcmpgtb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
660 { .mnemonic = MNE_pcmpgtb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
661 { .mnemonic = MNE_pcmpgtw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
662 { .mnemonic = MNE_pcmpgtw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
663 { .mnemonic = MNE_pcmpgtd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
664 { .mnemonic = MNE_pcmpgtd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
665 { .mnemonic = MNE_packuswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
666 { .mnemonic = MNE_packuswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
667 { .mnemonic = MNE_punpckhbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
668 { .mnemonic = MNE_punpckhbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
669 { .mnemonic = MNE_punpckhwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
670 { .mnemonic = MNE_punpckhwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
671 { .mnemonic = MNE_punpckhdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
672 { .mnemonic = MNE_punpckhdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
673 { .mnemonic = MNE_packssdw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
674 { .mnemonic = MNE_packssdw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
675 { .mnemonic = MNE_punpcklqdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
676 { .mnemonic = MNE_punpckhqdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
677 { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
678 { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
679 { .mnemonic = MNE_movdqa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
680 { .mnemonic = MNE_movdqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
681 { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
682 { .mnemonic = MNE_pshufd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
683 { .mnemonic = MNE_pshuflw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
684 { .mnemonic = MNE_pshufhw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
685 { .mnemonic = MNE_pshufw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 1, .str3 = 0, .off3_1 = 8, .off3_2 = 0, },
686 { .mnemonic = MNE_pcmpeqb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
687 { .mnemonic = MNE_pcmpeqb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
688 { .mnemonic = MNE_pcmpeqw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
689 { .mnemonic = MNE_pcmpeqw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
690 { .mnemonic = MNE_pcmpeqd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
691 { .mnemonic = MNE_pcmpeqd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
692 { .mnemonic = MNE_haddpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
693 { .mnemonic = MNE_haddps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
694 { .mnemonic = MNE_hsubpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
695 { .mnemonic = MNE_hsubps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
696 { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
697 { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
698 { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
699 { .mnemonic = MNE_movdqa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
700 { .mnemonic = MNE_movdqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
701 { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
702 { .mnemonic = MNE_movnti, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
703 { .mnemonic = MNE_pinsrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
704 { .mnemonic = MNE_pinsrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 1, .str3 = 0, .off3_1 = 8, .off3_2 = 0, },
705 { .mnemonic = MNE_pextrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 3, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
706 { .mnemonic = MNE_pextrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 3, .str3 = 0, .off3_1 = 8, .off3_2 = 0, },
707 { .mnemonic = MNE_shufpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
708 { .mnemonic = MNE_shufps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 8, .off3_2 = 0, },
709 { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
710 { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
711 { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
712 { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
713 { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
714 { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
715 { .mnemonic = MNE_paddq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
716 { .mnemonic = MNE_paddq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
717 { .mnemonic = MNE_pmullw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
718 { .mnemonic = MNE_pmullw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
719 { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
720 { .mnemonic = MNE_movdq2q, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
721 { .mnemonic = MNE_movq2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 19, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
722 { .mnemonic = MNE_pmovmskb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
723 { .mnemonic = MNE_pmovmskb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 19, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
724 { .mnemonic = MNE_psubusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
725 { .mnemonic = MNE_psubusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
726 { .mnemonic = MNE_psubusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
727 { .mnemonic = MNE_psubusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
728 { .mnemonic = MNE_pminub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
729 { .mnemonic = MNE_pminub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
730 { .mnemonic = MNE_paddusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
731 { .mnemonic = MNE_paddusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
732 { .mnemonic = MNE_paddusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
733 { .mnemonic = MNE_paddusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
734 { .mnemonic = MNE_pmaxub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
735 { .mnemonic = MNE_pmaxub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
736 { .mnemonic = MNE_pavgb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
737 { .mnemonic = MNE_pavgb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
738 { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
739 { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
740 { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
741 { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
742 { .mnemonic = MNE_pavgw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
743 { .mnemonic = MNE_pavgw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
744 { .mnemonic = MNE_pmulhuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
745 { .mnemonic = MNE_pmulhuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
746 { .mnemonic = MNE_pmulhw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
747 { .mnemonic = MNE_pmulhw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
748 { .mnemonic = MNE_movntdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
749 { .mnemonic = MNE_movntq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
750 { .mnemonic = MNE_psubsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
751 { .mnemonic = MNE_psubsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
752 { .mnemonic = MNE_psubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
753 { .mnemonic = MNE_psubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
754 { .mnemonic = MNE_pminsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
755 { .mnemonic = MNE_pminsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
756 { .mnemonic = MNE_paddsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
757 { .mnemonic = MNE_paddsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
758 { .mnemonic = MNE_paddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
759 { .mnemonic = MNE_paddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
760 { .mnemonic = MNE_pmaxsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
761 { .mnemonic = MNE_pmaxsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
762 { .mnemonic = MNE_lddqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
763 { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
764 { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
765 { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
766 { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
767 { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
768 { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
769 { .mnemonic = MNE_pmuludq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
770 { .mnemonic = MNE_pmuludq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
771 { .mnemonic = MNE_psadbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
772 { .mnemonic = MNE_psadbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
773 { .mnemonic = MNE_maskmovdqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
774 { .mnemonic = MNE_maskmovq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 19, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
775 { .mnemonic = MNE_psubb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
776 { .mnemonic = MNE_psubb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
777 { .mnemonic = MNE_psubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
778 { .mnemonic = MNE_psubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
779 { .mnemonic = MNE_psubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
780 { .mnemonic = MNE_psubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
781 { .mnemonic = MNE_psubq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
782 { .mnemonic = MNE_psubq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
783 { .mnemonic = MNE_paddb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
784 { .mnemonic = MNE_paddb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
785 { .mnemonic = MNE_paddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
786 { .mnemonic = MNE_paddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
787 { .mnemonic = MNE_paddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
788 { .mnemonic = MNE_paddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
789 { .mnemonic = MNE_pshufb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
790 { .mnemonic = MNE_pshufb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
791 { .mnemonic = MNE_phaddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
792 { .mnemonic = MNE_phaddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
793 { .mnemonic = MNE_phaddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
794 { .mnemonic = MNE_phaddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
795 { .mnemonic = MNE_phaddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
796 { .mnemonic = MNE_phaddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
797 { .mnemonic = MNE_pmaddubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
798 { .mnemonic = MNE_pmaddubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
799 { .mnemonic = MNE_phsubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
800 { .mnemonic = MNE_phsubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
801 { .mnemonic = MNE_phsubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
802 { .mnemonic = MNE_phsubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
803 { .mnemonic = MNE_phsubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
804 { .mnemonic = MNE_phsubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
805 { .mnemonic = MNE_psignb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
806 { .mnemonic = MNE_psignb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
807 { .mnemonic = MNE_psignw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
808 { .mnemonic = MNE_psignw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
809 { .mnemonic = MNE_psignd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
810 { .mnemonic = MNE_psignd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
811 { .mnemonic = MNE_pmulhrsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
812 { .mnemonic = MNE_pmulhrsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
813 { .mnemonic = MNE_pabsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
814 { .mnemonic = MNE_pabsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
815 { .mnemonic = MNE_pabsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
816 { .mnemonic = MNE_pabsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
817 { .mnemonic = MNE_pabsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
818 { .mnemonic = MNE_pabsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
819 { .mnemonic = MNE_palignr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
820 { .mnemonic = MNE_palignr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 1, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
821 { .mnemonic = MNE_vmclear, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
822 { .mnemonic = MNE_vmxon, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
823 { .mnemonic = MNE_vmptrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
824 { .mnemonic = MNE_vmptrst, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
825 { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
826 { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
827 { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
828 { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
829 { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
830 { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
831 { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
832 { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
833 { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
834 { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
835 { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
836 { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
837 { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
838 { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
839 { .mnemonic = MNE_psrldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
840 { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
841 { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
842 { .mnemonic = MNE_pslldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
843 { .mnemonic = MNE_lfence, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
844 { .mnemonic = MNE_mfence, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
845 { .mnemonic = MNE_sfence, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
846 { .mnemonic = MNE_clflush, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
847 { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
848 { .mnemonic = MNE_blendps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
849 { .mnemonic = MNE_blendpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
850 { .mnemonic = MNE_blendvps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 5, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
851 { .mnemonic = MNE_blendvpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 5, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
852 { .mnemonic = MNE_dpps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
853 { .mnemonic = MNE_dppd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
854 { .mnemonic = MNE_insertps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
855 { .mnemonic = MNE_movntdqa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
856 { .mnemonic = MNE_mpsadbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
857 { .mnemonic = MNE_packusdw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
858 { .mnemonic = MNE_pblendvb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 5, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
859 { .mnemonic = MNE_pblendw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
860 { .mnemonic = MNE_pcmpeqq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
861 { .mnemonic = MNE_pcmpestri, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
862 { .mnemonic = MNE_pcmpestrm, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
863 { .mnemonic = MNE_pcmpistri, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
864 { .mnemonic = MNE_pcmpistrm, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
865 { .mnemonic = MNE_pcmpgtq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
866 { .mnemonic = MNE_phminposuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
867 { .mnemonic = MNE_pinsrb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
868 { .mnemonic = MNE_pinsrd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
869 { .mnemonic = MNE_pmaxsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
870 { .mnemonic = MNE_pmaxsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
871 { .mnemonic = MNE_pmaxud, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
872 { .mnemonic = MNE_pmaxuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
873 { .mnemonic = MNE_pminsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
874 { .mnemonic = MNE_pminsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
875 { .mnemonic = MNE_pminud, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
876 { .mnemonic = MNE_pminuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
877 { .mnemonic = MNE_pmovsxbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
878 { .mnemonic = MNE_pmovsxbd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
879 { .mnemonic = MNE_pmovsxbq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
880 { .mnemonic = MNE_pmovsxwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
881 { .mnemonic = MNE_pmovsxwq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
882 { .mnemonic = MNE_pmovsxdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
883 { .mnemonic = MNE_pmovzxbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
884 { .mnemonic = MNE_pmovzxbd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
885 { .mnemonic = MNE_pmovzxbq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
886 { .mnemonic = MNE_pmovzxwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
887 { .mnemonic = MNE_pmovzxwq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
888 { .mnemonic = MNE_pmovzxdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
889 { .mnemonic = MNE_pmuldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
890 { .mnemonic = MNE_pmulld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
891 { .mnemonic = MNE_ptest, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
892 { .mnemonic = MNE_roundps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
893 { .mnemonic = MNE_roundpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
894 { .mnemonic = MNE_roundss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
895 { .mnemonic = MNE_roundsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
896 { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 31, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
897};
898static const uint8_t match_data[] =
899{
900 0x11, 0x37,
901 0x22, 0xd5, 0xa,
902 0x22, 0xd4, 0xa,
903 0x11, 0x3f,
904 0x1, 0xfe, 0x14,
905 0x2, 0xfe, 0x80, 0x38, 0x10,
906 0x2, 0xfe, 0x82, 0x38, 0x10,
907 0x2, 0xfe, 0x10, 0, 0,
908 0x2, 0xfe, 0x12, 0, 0,
909 0x1, 0xfe, 0x4,
910 0x2, 0xfe, 0x80, 0x38, 0,
911 0x12, 0x83, 0x38, 0,
912 0x2, 0xfe, 0, 0, 0,
913 0x2, 0xfe, 0x2, 0, 0,
914 0x34, 0x66, 0xf, 0xd0, 0, 0,
915 0x34, 0xf2, 0xf, 0xd0, 0, 0,
916 0x1, 0xfe, 0x24,
917 0x2, 0xfe, 0x80, 0x38, 0x20,
918 0x2, 0xfe, 0x82, 0x38, 0x20,
919 0x2, 0xfe, 0x20, 0, 0,
920 0x2, 0xfe, 0x22, 0, 0,
921 0x34, 0x66, 0xf, 0x54, 0, 0,
922 0x23, 0xf, 0x54, 0, 0,
923 0x34, 0x66, 0xf, 0x55, 0, 0,
924 0x23, 0xf, 0x55, 0, 0,
925 0x12, 0x63, 0, 0,
926 0x12, 0x62, 0, 0,
927 0x23, 0xf, 0xbc, 0, 0,
928 0x23, 0xf, 0xbd, 0, 0,
929 0x12, 0xf, 0xf8, 0xc8,
930 0x23, 0xf, 0xa3, 0, 0,
931 0x23, 0xf, 0xba, 0x38, 0x20,
932 0x23, 0xf, 0xbb, 0, 0,
933 0x23, 0xf, 0xba, 0x38, 0x38,
934 0x23, 0xf, 0xb3, 0, 0,
935 0x23, 0xf, 0xba, 0x38, 0x30,
936 0x23, 0xf, 0xab, 0, 0,
937 0x23, 0xf, 0xba, 0x38, 0x28,
938 0x11, 0xe8,
939 0x12, 0xff, 0x38, 0x10,
940 0x11, 0x9a,
941 0x12, 0xff, 0x38, 0x18,
942 0x11, 0x98,
943 0x11, 0x99,
944 0x11, 0xf8,
945 0x11, 0xfc,
946 0x11, 0xfa,
947 0x22, 0xf, 0x5,
948 0x22, 0xf, 0x6,
949 0x22, 0xf, 0x7,
950 0x22, 0xf, 0x34,
951 0x22, 0xf, 0x35,
952 0x11, 0xf5,
953 0x13, 0xf, 0xf0, 0x40, 0, 0,
954 0x1, 0xfe, 0x3c,
955 0x2, 0xfe, 0x80, 0x38, 0x38,
956 0x12, 0x83, 0x38, 0x38,
957 0x2, 0xfe, 0x38, 0, 0,
958 0x2, 0xfe, 0x3a, 0, 0,
959 0x34, 0xf2, 0xf, 0xc2, 0, 0,
960 0x34, 0xf3, 0xf, 0xc2, 0, 0,
961 0x34, 0x66, 0xf, 0xc2, 0, 0,
962 0x23, 0xf, 0xc2, 0, 0,
963 0x1, 0xfe, 0xa6,
964 0x13, 0xf, 0xfe, 0xb0, 0, 0,
965 0x23, 0xf, 0xc7, 0x38, 0x8,
966 0x22, 0xf, 0xa2,
967 0x34, 0xf3, 0xf, 0xe6, 0, 0,
968 0x34, 0xf2, 0xf, 0xe6, 0, 0,
969 0x34, 0x66, 0xf, 0xe6, 0, 0,
970 0x11, 0x27,
971 0x11, 0x2f,
972 0x2, 0xfe, 0xfe, 0x38, 0x8,
973 0x1, 0xf8, 0x48,
974 0x2, 0xfe, 0xf6, 0x38, 0x30,
975 0x22, 0xf, 0x77,
976 0x11, 0xc8,
977 0x22, 0xd9, 0xd0,
978 0x22, 0xd9, 0xe0,
979 0x22, 0xd9, 0xe1,
980 0x22, 0xd9, 0xe4,
981 0x22, 0xd9, 0xe5,
982 0x22, 0xd9, 0xe8,
983 0x22, 0xd9, 0xe9,
984 0x22, 0xd9, 0xea,
985 0x22, 0xd9, 0xeb,
986 0x22, 0xd9, 0xec,
987 0x22, 0xd9, 0xed,
988 0x22, 0xd9, 0xee,
989 0x22, 0xd9, 0xf0,
990 0x22, 0xd9, 0xf1,
991 0x22, 0xd9, 0xf2,
992 0x22, 0xd9, 0xf3,
993 0x22, 0xd9, 0xf4,
994 0x22, 0xd9, 0xf5,
995 0x22, 0xd9, 0xf6,
996 0x22, 0xd9, 0xf7,
997 0x22, 0xd9, 0xf8,
998 0x22, 0xd9, 0xf9,
999 0x22, 0xd9, 0xfa,
1000 0x22, 0xd9, 0xfb,
1001 0x22, 0xd9, 0xfc,
1002 0x22, 0xd9, 0xfd,
1003 0x22, 0xd9, 0xfe,
1004 0x22, 0xd9, 0xff,
1005 0x12, 0xd8, 0xf8, 0xc0,
1006 0x12, 0xdc, 0xf8, 0xc0,
1007 0x2, 0xfb, 0xd8, 0x38, 0,
1008 0x12, 0xd8, 0xf8, 0xc8,
1009 0x12, 0xdc, 0xf8, 0xc8,
1010 0x2, 0xfb, 0xd8, 0x38, 0x8,
1011 0x12, 0xd8, 0xf8, 0xe0,
1012 0x12, 0xdc, 0xf8, 0xe0,
1013 0x2, 0xfb, 0xd8, 0x38, 0x20,
1014 0x12, 0xd8, 0xf8, 0xe8,
1015 0x12, 0xdc, 0xf8, 0xe8,
1016 0x2, 0xfb, 0xd8, 0x38, 0x28,
1017 0x12, 0xdd, 0xf8, 0xd0,
1018 0x2, 0xfb, 0xd9, 0x38, 0x10,
1019 0x12, 0xdd, 0xf8, 0xd8,
1020 0x2, 0xfb, 0xd9, 0x38, 0x18,
1021 0x12, 0xd9, 0x38, 0x20,
1022 0x12, 0xd9, 0x38, 0x28,
1023 0x12, 0xd9, 0x38, 0x30,
1024 0x12, 0xd9, 0x38, 0x38,
1025 0x12, 0xd9, 0xf8, 0xc8,
1026 0x12, 0xde, 0xf8, 0xc0,
1027 0x12, 0xda, 0xf8, 0xc0,
1028 0x2, 0xfb, 0xda, 0x38, 0,
1029 0x12, 0xda, 0xf8, 0xc8,
1030 0x12, 0xde, 0xf8, 0xc8,
1031 0x2, 0xfb, 0xda, 0x38, 0x8,
1032 0x12, 0xde, 0xf8, 0xe0,
1033 0x2, 0xfb, 0xda, 0x38, 0x20,
1034 0x12, 0xde, 0xf8, 0xe8,
1035 0x2, 0xfb, 0xda, 0x38, 0x28,
1036 0x22, 0xdf, 0xe0,
1037 0x12, 0xdf, 0x38, 0x20,
1038 0x12, 0xdf, 0xf8, 0xf0,
1039 0x12, 0xdf, 0x38, 0x30,
1040 0x22, 0xd9, 0xe0,
1041 0x33, 0x9b, 0xdb, 0xe2,
1042 0x33, 0x9b, 0xdb, 0xe3,
1043 0x11, 0x9b,
1044 0x22, 0xdb, 0xe2,
1045 0x12, 0xda, 0xf8, 0xc0,
1046 0x12, 0xda, 0xf8, 0xc8,
1047 0x12, 0xda, 0xf8, 0xd0,
1048 0x12, 0xda, 0xf8, 0xd8,
1049 0x12, 0xdb, 0xf8, 0xc0,
1050 0x12, 0xdb, 0xf8, 0xc8,
1051 0x12, 0xdb, 0xf8, 0xd0,
1052 0x12, 0xdb, 0xf8, 0xd8,
1053 0x12, 0xd8, 0xf8, 0xd0,
1054 0x2, 0xfb, 0xd8, 0x38, 0x10,
1055 0x12, 0xd8, 0xf8, 0xd8,
1056 0x2, 0xfb, 0xd8, 0x38, 0x18,
1057 0x22, 0xde, 0xd9,
1058 0x12, 0xdb, 0xf8, 0xf0,
1059 0x12, 0xdf, 0xf8, 0xf0,
1060 0x12, 0xdb, 0xf8, 0xe8,
1061 0x12, 0xdf, 0xf8, 0xe8,
1062 0x22, 0xd9, 0xff,
1063 0x22, 0xd9, 0xf6,
1064 0x12, 0xd8, 0xf8, 0xf0,
1065 0x12, 0xdc, 0xf8, 0xf0,
1066 0x2, 0xfb, 0xd8, 0x38, 0x30,
1067 0x12, 0xda, 0x38, 0x30,
1068 0x12, 0xde, 0xf8, 0xf0,
1069 0x12, 0xde, 0x38, 0x30,
1070 0x12, 0xde, 0xf8, 0xf8,
1071 0x12, 0xd8, 0xf8, 0xf8,
1072 0x12, 0xdc, 0xf8, 0xf8,
1073 0x2, 0xfb, 0xd8, 0x38, 0x38,
1074 0x12, 0xda, 0x38, 0x38,
1075 0x12, 0xde, 0x38, 0x38,
1076 0x12, 0xde, 0xf8, 0xf0,
1077 0x12, 0xdd, 0xf8, 0xc0,
1078 0x12, 0xda, 0xf8, 0xd0,
1079 0x2, 0xfb, 0xda, 0x38, 0x10,
1080 0x12, 0xda, 0xf8, 0xd8,
1081 0x2, 0xfb, 0xda, 0x38, 0x18,
1082 0x12, 0xdf, 0x38, 0,
1083 0x12, 0xdb, 0x38, 0,
1084 0x12, 0xdf, 0x38, 0x28,
1085 0x22, 0xd9, 0xf7,
1086 0x22, 0xdb, 0xe3,
1087 0x2, 0xfb, 0xdb, 0x38, 0x10,
1088 0x2, 0xfb, 0xdb, 0x38, 0x18,
1089 0x12, 0xdf, 0x38, 0x38,
1090 0x2, 0xfb, 0xdb, 0x38, 0x8,
1091 0x12, 0xdd, 0x38, 0x8,
1092 0x12, 0xdb, 0x38, 0x28,
1093 0x12, 0xdb, 0x38, 0x38,
1094 0x12, 0xd9, 0xf8, 0xc0,
1095 0x2, 0xfb, 0xd9, 0x38, 0,
1096 0x12, 0xdd, 0xf8, 0xe0,
1097 0x12, 0xdd, 0x38, 0x20,
1098 0x12, 0xdd, 0xf8, 0xe8,
1099 0x12, 0xdd, 0x38, 0x30,
1100 0x12, 0xdd, 0x38, 0x38,
1101 0x11, 0xf4,
1102 0x2, 0xfe, 0xf6, 0x38, 0x38,
1103 0x2, 0xfe, 0xf6, 0x38, 0x28,
1104 0x23, 0xf, 0xaf, 0, 0,
1105 0x2, 0xfd, 0x69, 0, 0,
1106 0x1, 0xfe, 0xe4,
1107 0x1, 0xfe, 0xec,
1108 0x2, 0xfe, 0xfe, 0x38, 0,
1109 0x1, 0xf8, 0x40,
1110 0x1, 0xfe, 0x6c,
1111 0x11, 0xcd,
1112 0x11, 0xcc,
1113 0x11, 0xce,
1114 0x22, 0xf, 0x8,
1115 0x33, 0xf, 0x1, 0xf8,
1116 0x23, 0xf, 0x1, 0x38, 0x38,
1117 0x11, 0xcf,
1118 0x1, 0xf0, 0x70,
1119 0x12, 0xf, 0xf0, 0x80,
1120 0x13, 0xf, 0xf0, 0x90, 0x38, 0,
1121 0x11, 0xe3,
1122 0x11, 0xeb,
1123 0x11, 0xe9,
1124 0x12, 0xff, 0x38, 0x20,
1125 0x11, 0xea,
1126 0x12, 0xff, 0x38, 0x28,
1127 0x11, 0x9f,
1128 0x23, 0xf, 0x2, 0, 0,
1129 0x12, 0xc5, 0, 0,
1130 0x12, 0x8d, 0, 0,
1131 0x11, 0xc9,
1132 0x12, 0xc4, 0, 0,
1133 0x23, 0xf, 0xb4, 0, 0,
1134 0x23, 0xf, 0xb5, 0, 0,
1135 0x23, 0xf, 0x1, 0x38, 0x10,
1136 0x23, 0xf, 0x1, 0x38, 0x18,
1137 0x23, 0xf, 0, 0x38, 0x10,
1138 0x23, 0xf, 0x1, 0x38, 0x30,
1139 0x11, 0xf0,
1140 0x1, 0xfe, 0xac,
1141 0x11, 0xe2,
1142 0x11, 0xe1,
1143 0x11, 0xe0,
1144 0x23, 0xf, 0x3, 0, 0,
1145 0x23, 0xf, 0xb2, 0, 0,
1146 0x23, 0xf, 0, 0x38, 0x18,
1147 0x2, 0xfe, 0x88, 0, 0,
1148 0x2, 0xfe, 0x8a, 0, 0,
1149 0x2, 0xfe, 0xc6, 0x38, 0,
1150 0x1, 0xf0, 0xb0,
1151 0x1, 0xfe, 0xa0,
1152 0x1, 0xfe, 0xa2,
1153 0x23, 0xf, 0x20, 0xc0, 0xc0,
1154 0x23, 0xf, 0x22, 0xc0, 0xc0,
1155 0x23, 0xf, 0x21, 0xc0, 0xc0,
1156 0x23, 0xf, 0x23, 0xc0, 0xc0,
1157 0x12, 0x8c, 0, 0,
1158 0x12, 0x8e, 0, 0,
1159 0x1, 0xfe, 0xa4,
1160 0x23, 0xf, 0xbe, 0, 0,
1161 0x23, 0xf, 0xbf, 0, 0,
1162 0x23, 0xf, 0xb6, 0, 0,
1163 0x23, 0xf, 0xb7, 0, 0,
1164 0x2, 0xfe, 0xf6, 0x38, 0x20,
1165 0x2, 0xfe, 0xf6, 0x38, 0x18,
1166 0x22, 0xf3, 0x90,
1167 0x11, 0x90,
1168 0x34, 0xf3, 0xf, 0xb8, 0, 0,
1169 0x2, 0xfe, 0xf6, 0x38, 0x10,
1170 0x2, 0xfe, 0x8, 0, 0,
1171 0x2, 0xfe, 0xa, 0, 0,
1172 0x2, 0xfe, 0x80, 0x38, 0x8,
1173 0x2, 0xfe, 0x82, 0x38, 0x8,
1174 0x1, 0xfe, 0xc,
1175 0x1, 0xfe, 0xe6,
1176 0x1, 0xfe, 0xee,
1177 0x1, 0xfe, 0x6e,
1178 0x12, 0x8f, 0x38, 0,
1179 0x12, 0xf, 0xc7, 0x81,
1180 0x11, 0x9d,
1181 0x12, 0xff, 0x38, 0x30,
1182 0x1, 0xf8, 0x50,
1183 0x1, 0xf8, 0x58,
1184 0x1, 0xfd, 0x68,
1185 0x1, 0xe7, 0x6,
1186 0x12, 0xf, 0xc7, 0x80,
1187 0x11, 0x60,
1188 0x11, 0x61,
1189 0x11, 0x9c,
1190 0x2, 0xfe, 0xd0, 0x38, 0x10,
1191 0x2, 0xfe, 0xd2, 0x38, 0x10,
1192 0x2, 0xfe, 0xc0, 0x38, 0x10,
1193 0x2, 0xfe, 0xd0, 0x38, 0x18,
1194 0x2, 0xfe, 0xd2, 0x38, 0x18,
1195 0x2, 0xfe, 0xc0, 0x38, 0x18,
1196 0x22, 0xf, 0x32,
1197 0x22, 0xf, 0x33,
1198 0x22, 0xf, 0x31,
1199 0x11, 0xc3,
1200 0x11, 0xc2,
1201 0x11, 0xcb,
1202 0x11, 0xca,
1203 0x2, 0xfe, 0xd0, 0x38, 0,
1204 0x2, 0xfe, 0xd2, 0x38, 0,
1205 0x2, 0xfe, 0xc0, 0x38, 0,
1206 0x2, 0xfe, 0xd0, 0x38, 0x8,
1207 0x2, 0xfe, 0xd2, 0x38, 0x8,
1208 0x2, 0xfe, 0xc0, 0x38, 0x8,
1209 0x22, 0xf, 0xaa,
1210 0x11, 0x9e,
1211 0x2, 0xfe, 0xd0, 0x38, 0x38,
1212 0x2, 0xfe, 0xd2, 0x38, 0x38,
1213 0x2, 0xfe, 0xc0, 0x38, 0x38,
1214 0x2, 0xfe, 0x18, 0, 0,
1215 0x2, 0xfe, 0x1a, 0, 0,
1216 0x1, 0xfe, 0x1c,
1217 0x2, 0xfe, 0x80, 0x38, 0x18,
1218 0x2, 0xfe, 0x82, 0x38, 0x18,
1219 0x1, 0xfe, 0xae,
1220 0x13, 0xf, 0xf0, 0x90, 0x38, 0,
1221 0x2, 0xfe, 0xd0, 0x38, 0x20,
1222 0x2, 0xfe, 0xd2, 0x38, 0x20,
1223 0x2, 0xfe, 0xc0, 0x38, 0x20,
1224 0x2, 0xfe, 0xd0, 0x38, 0x28,
1225 0x23, 0xf, 0xa4, 0, 0,
1226 0x23, 0xf, 0xa5, 0, 0,
1227 0x2, 0xfe, 0xd2, 0x38, 0x28,
1228 0x2, 0xfe, 0xc0, 0x38, 0x28,
1229 0x23, 0xf, 0xac, 0, 0,
1230 0x23, 0xf, 0xad, 0, 0,
1231 0x33, 0xf, 0x1, 0xc1,
1232 0x33, 0xf, 0x1, 0xc2,
1233 0x33, 0xf, 0x1, 0xc3,
1234 0x33, 0xf, 0x1, 0xc4,
1235 0x23, 0xf, 0x78, 0, 0,
1236 0x23, 0xf, 0x79, 0, 0,
1237 0x23, 0xf, 0x1, 0x38, 0,
1238 0x33, 0xf, 0x1, 0xc8,
1239 0x33, 0xf, 0x1, 0xc9,
1240 0x23, 0xf, 0x1, 0x38, 0x8,
1241 0x23, 0xf, 0, 0x38, 0,
1242 0x23, 0xf, 0x1, 0x38, 0x20,
1243 0x11, 0xf9,
1244 0x11, 0xfd,
1245 0x11, 0xfb,
1246 0x1, 0xfe, 0xaa,
1247 0x23, 0xf, 0, 0x38, 0x8,
1248 0x2, 0xfe, 0x28, 0, 0,
1249 0x2, 0xfe, 0x2a, 0, 0,
1250 0x1, 0xfe, 0x2c,
1251 0x2, 0xfe, 0x80, 0x38, 0x28,
1252 0x2, 0xfe, 0x82, 0x38, 0x28,
1253 0x2, 0xfe, 0x84, 0, 0,
1254 0x1, 0xfe, 0xa8,
1255 0x2, 0xfe, 0xf6, 0x38, 0,
1256 0x22, 0xf, 0xb,
1257 0x23, 0xf, 0, 0x38, 0x20,
1258 0x23, 0xf, 0, 0x38, 0x28,
1259 0x22, 0xf, 0x9,
1260 0x23, 0xf, 0xd, 0x38, 0,
1261 0x23, 0xf, 0xd, 0x38, 0x8,
1262 0x23, 0xf, 0x18, 0x38, 0,
1263 0x23, 0xf, 0x18, 0x38, 0x8,
1264 0x23, 0xf, 0x18, 0x38, 0x10,
1265 0x23, 0xf, 0x18, 0x38, 0x18,
1266 0x23, 0xf, 0x1f, 0, 0,
1267 0x22, 0xf, 0x30,
1268 0x13, 0xf, 0xfe, 0xc0, 0, 0,
1269 0x2, 0xfe, 0x86, 0, 0,
1270 0x1, 0xf8, 0x90,
1271 0x11, 0xd7,
1272 0x2, 0xfe, 0x30, 0, 0,
1273 0x2, 0xfe, 0x32, 0, 0,
1274 0x1, 0xfe, 0x34,
1275 0x2, 0xfe, 0x80, 0x38, 0x30,
1276 0x2, 0xfe, 0x82, 0x38, 0x30,
1277 0x22, 0xf, 0x77,
1278 0x34, 0x66, 0xf, 0xdb, 0, 0,
1279 0x23, 0xf, 0xdb, 0, 0,
1280 0x34, 0x66, 0xf, 0xdf, 0, 0,
1281 0x23, 0xf, 0xdf, 0, 0,
1282 0x34, 0x66, 0xf, 0xf5, 0, 0,
1283 0x23, 0xf, 0xf5, 0, 0,
1284 0x34, 0x66, 0xf, 0xeb, 0, 0,
1285 0x23, 0xf, 0xeb, 0, 0,
1286 0x34, 0x66, 0xf, 0xef, 0, 0,
1287 0x23, 0xf, 0xef, 0, 0,
1288 0x23, 0xf, 0x55, 0, 0,
1289 0x23, 0xf, 0x54, 0, 0,
1290 0x24, 0xf, 0xc2, 0, 0, 0xff, 0,
1291 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x1,
1292 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x2,
1293 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x3,
1294 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x4,
1295 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x5,
1296 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x6,
1297 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x7,
1298 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0,
1299 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x1,
1300 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x2,
1301 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x3,
1302 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x4,
1303 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x5,
1304 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x6,
1305 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x7,
1306 0x23, 0xf, 0xae, 0x38, 0x8,
1307 0x23, 0xf, 0xae, 0x38, 0,
1308 0x23, 0xf, 0xae, 0x38, 0x10,
1309 0x23, 0xf, 0xae, 0x38, 0x18,
1310 0x34, 0xf2, 0xf, 0x10, 0, 0,
1311 0x34, 0xf3, 0xf, 0x10, 0, 0,
1312 0x34, 0x66, 0xf, 0x10, 0, 0,
1313 0x23, 0xf, 0x10, 0, 0,
1314 0x34, 0xf2, 0xf, 0x11, 0, 0,
1315 0x34, 0xf3, 0xf, 0x11, 0, 0,
1316 0x34, 0x66, 0xf, 0x11, 0, 0,
1317 0x23, 0xf, 0x11, 0, 0,
1318 0x34, 0xf2, 0xf, 0x12, 0, 0,
1319 0x34, 0xf3, 0xf, 0x12, 0, 0,
1320 0x34, 0x66, 0xf, 0x12, 0, 0,
1321 0x23, 0xf, 0x12, 0xc0, 0xc0,
1322 0x23, 0xf, 0x12, 0, 0,
1323 0x34, 0x66, 0xf, 0x13, 0xc0, 0xc0,
1324 0x23, 0xf, 0x13, 0xc0, 0xc0,
1325 0x34, 0x66, 0xf, 0x13, 0, 0,
1326 0x23, 0xf, 0x13, 0, 0,
1327 0x34, 0x66, 0xf, 0x14, 0, 0,
1328 0x23, 0xf, 0x14, 0, 0,
1329 0x34, 0x66, 0xf, 0x15, 0, 0,
1330 0x23, 0xf, 0x15, 0, 0,
1331 0x34, 0xf3, 0xf, 0x16, 0, 0,
1332 0x34, 0x66, 0xf, 0x16, 0, 0,
1333 0x23, 0xf, 0x16, 0xc0, 0xc0,
1334 0x23, 0xf, 0x16, 0, 0,
1335 0x34, 0x66, 0xf, 0x17, 0xc0, 0xc0,
1336 0x23, 0xf, 0x17, 0xc0, 0xc0,
1337 0x34, 0x66, 0xf, 0x17, 0, 0,
1338 0x23, 0xf, 0x17, 0, 0,
1339 0x34, 0x66, 0xf, 0x28, 0, 0,
1340 0x23, 0xf, 0x28, 0, 0,
1341 0x34, 0x66, 0xf, 0x29, 0, 0,
1342 0x23, 0xf, 0x29, 0, 0,
1343 0x34, 0xf2, 0xf, 0x2a, 0, 0,
1344 0x34, 0xf3, 0xf, 0x2a, 0, 0,
1345 0x34, 0x66, 0xf, 0x2a, 0, 0,
1346 0x23, 0xf, 0x2a, 0, 0,
1347 0x34, 0x66, 0xf, 0x2b, 0, 0,
1348 0x23, 0xf, 0x2b, 0, 0,
1349 0x34, 0xf2, 0xf, 0x2c, 0, 0,
1350 0x34, 0xf3, 0xf, 0x2c, 0, 0,
1351 0x34, 0x66, 0xf, 0x2c, 0, 0,
1352 0x23, 0xf, 0x2c, 0, 0,
1353 0x34, 0x66, 0xf, 0x2d, 0, 0,
1354 0x34, 0xf2, 0xf, 0x2d, 0, 0,
1355 0x34, 0xf3, 0xf, 0x2d, 0, 0,
1356 0x23, 0xf, 0x2d, 0, 0,
1357 0x34, 0x66, 0xf, 0x2e, 0, 0,
1358 0x23, 0xf, 0x2e, 0, 0,
1359 0x34, 0x66, 0xf, 0x2f, 0, 0,
1360 0x23, 0xf, 0x2f, 0, 0,
1361 0x22, 0xf, 0x37,
1362 0x34, 0x66, 0xf, 0x50, 0xc0, 0xc0,
1363 0x23, 0xf, 0x50, 0xc0, 0xc0,
1364 0x34, 0x66, 0xf, 0x51, 0, 0,
1365 0x34, 0xf2, 0xf, 0x51, 0, 0,
1366 0x34, 0xf3, 0xf, 0x51, 0, 0,
1367 0x23, 0xf, 0x51, 0, 0,
1368 0x34, 0xf3, 0xf, 0x52, 0, 0,
1369 0x23, 0xf, 0x52, 0, 0,
1370 0x34, 0xf3, 0xf, 0x53, 0, 0,
1371 0x23, 0xf, 0x53, 0, 0,
1372 0x34, 0x66, 0xf, 0x54, 0, 0,
1373 0x23, 0xf, 0x54, 0, 0,
1374 0x34, 0x66, 0xf, 0x55, 0, 0,
1375 0x23, 0xf, 0x55, 0, 0,
1376 0x34, 0x66, 0xf, 0x56, 0, 0,
1377 0x23, 0xf, 0x56, 0, 0,
1378 0x34, 0x66, 0xf, 0x57, 0, 0,
1379 0x23, 0xf, 0x57, 0, 0,
1380 0x34, 0xf2, 0xf, 0x58, 0, 0,
1381 0x34, 0xf3, 0xf, 0x58, 0, 0,
1382 0x34, 0x66, 0xf, 0x58, 0, 0,
1383 0x23, 0xf, 0x58, 0, 0,
1384 0x34, 0xf2, 0xf, 0x59, 0, 0,
1385 0x34, 0xf3, 0xf, 0x59, 0, 0,
1386 0x34, 0x66, 0xf, 0x59, 0, 0,
1387 0x23, 0xf, 0x59, 0, 0,
1388 0x34, 0xf2, 0xf, 0x5a, 0, 0,
1389 0x34, 0xf3, 0xf, 0x5a, 0, 0,
1390 0x34, 0x66, 0xf, 0x5a, 0, 0,
1391 0x23, 0xf, 0x5a, 0, 0,
1392 0x34, 0x66, 0xf, 0x5b, 0, 0,
1393 0x34, 0xf3, 0xf, 0x5b, 0, 0,
1394 0x23, 0xf, 0x5b, 0, 0,
1395 0x34, 0xf2, 0xf, 0x5c, 0, 0,
1396 0x34, 0xf3, 0xf, 0x5c, 0, 0,
1397 0x34, 0x66, 0xf, 0x5c, 0, 0,
1398 0x23, 0xf, 0x5c, 0, 0,
1399 0x34, 0xf2, 0xf, 0x5d, 0, 0,
1400 0x34, 0xf3, 0xf, 0x5d, 0, 0,
1401 0x34, 0x66, 0xf, 0x5d, 0, 0,
1402 0x23, 0xf, 0x5d, 0, 0,
1403 0x34, 0xf2, 0xf, 0x5e, 0, 0,
1404 0x34, 0xf3, 0xf, 0x5e, 0, 0,
1405 0x34, 0x66, 0xf, 0x5e, 0, 0,
1406 0x23, 0xf, 0x5e, 0, 0,
1407 0x34, 0xf2, 0xf, 0x5f, 0, 0,
1408 0x34, 0xf3, 0xf, 0x5f, 0, 0,
1409 0x34, 0x66, 0xf, 0x5f, 0, 0,
1410 0x23, 0xf, 0x5f, 0, 0,
1411 0x34, 0x66, 0xf, 0x60, 0, 0,
1412 0x23, 0xf, 0x60, 0, 0,
1413 0x34, 0x66, 0xf, 0x61, 0, 0,
1414 0x23, 0xf, 0x61, 0, 0,
1415 0x34, 0x66, 0xf, 0x62, 0, 0,
1416 0x23, 0xf, 0x62, 0, 0,
1417 0x34, 0x66, 0xf, 0x63, 0, 0,
1418 0x23, 0xf, 0x63, 0, 0,
1419 0x34, 0x66, 0xf, 0x64, 0, 0,
1420 0x23, 0xf, 0x64, 0, 0,
1421 0x34, 0x66, 0xf, 0x65, 0, 0,
1422 0x23, 0xf, 0x65, 0, 0,
1423 0x34, 0x66, 0xf, 0x66, 0, 0,
1424 0x23, 0xf, 0x66, 0, 0,
1425 0x34, 0x66, 0xf, 0x67, 0, 0,
1426 0x23, 0xf, 0x67, 0, 0,
1427 0x34, 0x66, 0xf, 0x68, 0, 0,
1428 0x23, 0xf, 0x68, 0, 0,
1429 0x34, 0x66, 0xf, 0x69, 0, 0,
1430 0x23, 0xf, 0x69, 0, 0,
1431 0x34, 0x66, 0xf, 0x6a, 0, 0,
1432 0x23, 0xf, 0x6a, 0, 0,
1433 0x34, 0x66, 0xf, 0x6b, 0, 0,
1434 0x23, 0xf, 0x6b, 0, 0,
1435 0x34, 0x66, 0xf, 0x6c, 0, 0,
1436 0x34, 0x66, 0xf, 0x6d, 0, 0,
1437 0x34, 0x66, 0xf, 0x6e, 0, 0,
1438 0x23, 0xf, 0x6e, 0, 0,
1439 0x34, 0x66, 0xf, 0x6f, 0, 0,
1440 0x34, 0xf3, 0xf, 0x6f, 0, 0,
1441 0x23, 0xf, 0x6f, 0, 0,
1442 0x34, 0x66, 0xf, 0x70, 0, 0,
1443 0x34, 0xf2, 0xf, 0x70, 0, 0,
1444 0x34, 0xf3, 0xf, 0x70, 0, 0,
1445 0x23, 0xf, 0x70, 0, 0,
1446 0x34, 0x66, 0xf, 0x74, 0, 0,
1447 0x23, 0xf, 0x74, 0, 0,
1448 0x34, 0x66, 0xf, 0x75, 0, 0,
1449 0x23, 0xf, 0x75, 0, 0,
1450 0x34, 0x66, 0xf, 0x76, 0, 0,
1451 0x23, 0xf, 0x76, 0, 0,
1452 0x34, 0x66, 0xf, 0x7c, 0, 0,
1453 0x34, 0xf2, 0xf, 0x7c, 0, 0,
1454 0x34, 0x66, 0xf, 0x7d, 0, 0,
1455 0x34, 0xf2, 0xf, 0x7d, 0, 0,
1456 0x34, 0x66, 0xf, 0x7e, 0, 0,
1457 0x34, 0xf3, 0xf, 0x7e, 0, 0,
1458 0x23, 0xf, 0x7e, 0, 0,
1459 0x34, 0x66, 0xf, 0x7f, 0, 0,
1460 0x34, 0xf3, 0xf, 0x7f, 0, 0,
1461 0x23, 0xf, 0x7f, 0, 0,
1462 0x23, 0xf, 0xc3, 0, 0,
1463 0x34, 0x66, 0xf, 0xc4, 0, 0,
1464 0x23, 0xf, 0xc4, 0, 0,
1465 0x34, 0x66, 0xf, 0xc5, 0xc0, 0xc0,
1466 0x23, 0xf, 0xc5, 0xc0, 0xc0,
1467 0x34, 0x66, 0xf, 0xc6, 0, 0,
1468 0x23, 0xf, 0xc6, 0, 0,
1469 0x34, 0x66, 0xf, 0xd1, 0, 0,
1470 0x23, 0xf, 0xd1, 0, 0,
1471 0x34, 0x66, 0xf, 0xd2, 0, 0,
1472 0x23, 0xf, 0xd2, 0, 0,
1473 0x34, 0x66, 0xf, 0xd3, 0, 0,
1474 0x23, 0xf, 0xd3, 0, 0,
1475 0x34, 0x66, 0xf, 0xd4, 0, 0,
1476 0x23, 0xf, 0xd4, 0, 0,
1477 0x34, 0x66, 0xf, 0xd5, 0, 0,
1478 0x23, 0xf, 0xd5, 0, 0,
1479 0x34, 0x66, 0xf, 0xd6, 0, 0,
1480 0x34, 0xf2, 0xf, 0xd6, 0xc0, 0xc0,
1481 0x34, 0xf3, 0xf, 0xd6, 0xc0, 0xc0,
1482 0x34, 0x66, 0xf, 0xd7, 0xc0, 0xc0,
1483 0x23, 0xf, 0xd7, 0xc0, 0xc0,
1484 0x34, 0x66, 0xf, 0xd8, 0, 0,
1485 0x23, 0xf, 0xd8, 0, 0,
1486 0x34, 0x66, 0xf, 0xd9, 0, 0,
1487 0x23, 0xf, 0xd9, 0, 0,
1488 0x34, 0x66, 0xf, 0xda, 0, 0,
1489 0x23, 0xf, 0xda, 0, 0,
1490 0x34, 0x66, 0xf, 0xdc, 0, 0,
1491 0x23, 0xf, 0xdc, 0, 0,
1492 0x34, 0x66, 0xf, 0xdd, 0, 0,
1493 0x23, 0xf, 0xdd, 0, 0,
1494 0x34, 0x66, 0xf, 0xde, 0, 0,
1495 0x23, 0xf, 0xde, 0, 0,
1496 0x34, 0x66, 0xf, 0xe0, 0, 0,
1497 0x23, 0xf, 0xe0, 0, 0,
1498 0x34, 0x66, 0xf, 0xe1, 0, 0,
1499 0x23, 0xf, 0xe1, 0, 0,
1500 0x34, 0x66, 0xf, 0xe2, 0, 0,
1501 0x23, 0xf, 0xe2, 0, 0,
1502 0x34, 0x66, 0xf, 0xe3, 0, 0,
1503 0x23, 0xf, 0xe3, 0, 0,
1504 0x34, 0x66, 0xf, 0xe4, 0, 0,
1505 0x23, 0xf, 0xe4, 0, 0,
1506 0x34, 0x66, 0xf, 0xe5, 0, 0,
1507 0x23, 0xf, 0xe5, 0, 0,
1508 0x34, 0x66, 0xf, 0xe7, 0, 0,
1509 0x23, 0xf, 0xe7, 0, 0,
1510 0x34, 0x66, 0xf, 0xe8, 0, 0,
1511 0x23, 0xf, 0xe8, 0, 0,
1512 0x34, 0x66, 0xf, 0xe9, 0, 0,
1513 0x23, 0xf, 0xe9, 0, 0,
1514 0x34, 0x66, 0xf, 0xea, 0, 0,
1515 0x23, 0xf, 0xea, 0, 0,
1516 0x34, 0x66, 0xf, 0xec, 0, 0,
1517 0x23, 0xf, 0xec, 0, 0,
1518 0x34, 0x66, 0xf, 0xed, 0, 0,
1519 0x23, 0xf, 0xed, 0, 0,
1520 0x34, 0x66, 0xf, 0xee, 0, 0,
1521 0x23, 0xf, 0xee, 0, 0,
1522 0x34, 0xf2, 0xf, 0xf0, 0, 0,
1523 0x34, 0x66, 0xf, 0xf1, 0, 0,
1524 0x23, 0xf, 0xf1, 0, 0,
1525 0x34, 0x66, 0xf, 0xf2, 0, 0,
1526 0x23, 0xf, 0xf2, 0, 0,
1527 0x34, 0x66, 0xf, 0xf3, 0, 0,
1528 0x23, 0xf, 0xf3, 0, 0,
1529 0x34, 0x66, 0xf, 0xf4, 0, 0,
1530 0x23, 0xf, 0xf4, 0, 0,
1531 0x34, 0x66, 0xf, 0xf6, 0, 0,
1532 0x23, 0xf, 0xf6, 0, 0,
1533 0x34, 0x66, 0xf, 0xf7, 0xc0, 0xc0,
1534 0x23, 0xf, 0xf7, 0xc0, 0xc0,
1535 0x34, 0x66, 0xf, 0xf8, 0, 0,
1536 0x23, 0xf, 0xf8, 0, 0,
1537 0x34, 0x66, 0xf, 0xf9, 0, 0,
1538 0x23, 0xf, 0xf9, 0, 0,
1539 0x34, 0x66, 0xf, 0xfa, 0, 0,
1540 0x23, 0xf, 0xfa, 0, 0,
1541 0x34, 0x66, 0xf, 0xfb, 0, 0,
1542 0x23, 0xf, 0xfb, 0, 0,
1543 0x34, 0x66, 0xf, 0xfc, 0, 0,
1544 0x23, 0xf, 0xfc, 0, 0,
1545 0x34, 0x66, 0xf, 0xfd, 0, 0,
1546 0x23, 0xf, 0xfd, 0, 0,
1547 0x34, 0x66, 0xf, 0xfe, 0, 0,
1548 0x23, 0xf, 0xfe, 0, 0,
1549 0x45, 0x66, 0xf, 0x38, 0, 0, 0,
1550 0x34, 0xf, 0x38, 0, 0, 0,
1551 0x45, 0x66, 0xf, 0x38, 0x1, 0, 0,
1552 0x34, 0xf, 0x38, 0x1, 0, 0,
1553 0x45, 0x66, 0xf, 0x38, 0x2, 0, 0,
1554 0x34, 0xf, 0x38, 0x2, 0, 0,
1555 0x45, 0x66, 0xf, 0x38, 0x3, 0, 0,
1556 0x34, 0xf, 0x38, 0x3, 0, 0,
1557 0x45, 0x66, 0xf, 0x38, 0x4, 0, 0,
1558 0x34, 0xf, 0x38, 0x4, 0, 0,
1559 0x45, 0x66, 0xf, 0x38, 0x5, 0, 0,
1560 0x34, 0xf, 0x38, 0x5, 0, 0,
1561 0x45, 0x66, 0xf, 0x38, 0x6, 0, 0,
1562 0x34, 0xf, 0x38, 0x6, 0, 0,
1563 0x45, 0x66, 0xf, 0x38, 0x7, 0, 0,
1564 0x34, 0xf, 0x38, 0x7, 0, 0,
1565 0x45, 0x66, 0xf, 0x38, 0x8, 0, 0,
1566 0x34, 0xf, 0x38, 0x8, 0, 0,
1567 0x45, 0x66, 0xf, 0x38, 0x9, 0, 0,
1568 0x34, 0xf, 0x38, 0x9, 0, 0,
1569 0x45, 0x66, 0xf, 0x38, 0xa, 0, 0,
1570 0x34, 0xf, 0x38, 0xa, 0, 0,
1571 0x45, 0x66, 0xf, 0x38, 0xb, 0, 0,
1572 0x34, 0xf, 0x38, 0xb, 0, 0,
1573 0x45, 0x66, 0xf, 0x38, 0x1c, 0, 0,
1574 0x34, 0xf, 0x38, 0x1c, 0, 0,
1575 0x45, 0x66, 0xf, 0x38, 0x1d, 0, 0,
1576 0x34, 0xf, 0x38, 0x1d, 0, 0,
1577 0x45, 0x66, 0xf, 0x38, 0x1e, 0, 0,
1578 0x34, 0xf, 0x38, 0x1e, 0, 0,
1579 0x45, 0x66, 0xf, 0x3a, 0xf, 0, 0,
1580 0x34, 0xf, 0x3a, 0xf, 0, 0,
1581 0x34, 0x66, 0xf, 0xc7, 0x38, 0x30,
1582 0x34, 0xf3, 0xf, 0xc7, 0x38, 0x30,
1583 0x23, 0xf, 0xc7, 0x38, 0x30,
1584 0x23, 0xf, 0xc7, 0x38, 0x38,
1585 0x34, 0x66, 0xf, 0x71, 0xf8, 0xd0,
1586 0x23, 0xf, 0x71, 0xf8, 0xd0,
1587 0x34, 0x66, 0xf, 0x71, 0xf8, 0xe0,
1588 0x23, 0xf, 0x71, 0xf8, 0xe0,
1589 0x34, 0x66, 0xf, 0x71, 0xf8, 0xf0,
1590 0x23, 0xf, 0x71, 0xf8, 0xf0,
1591 0x34, 0x66, 0xf, 0x72, 0xf8, 0xd0,
1592 0x23, 0xf, 0x72, 0xf8, 0xd0,
1593 0x34, 0x66, 0xf, 0x72, 0xf8, 0xe0,
1594 0x23, 0xf, 0x72, 0xf8, 0xe0,
1595 0x34, 0x66, 0xf, 0x72, 0xf8, 0xf0,
1596 0x23, 0xf, 0x72, 0xf8, 0xf0,
1597 0x34, 0x66, 0xf, 0x73, 0xf8, 0xd0,
1598 0x23, 0xf, 0x73, 0xf8, 0xd0,
1599 0x34, 0x66, 0xf, 0x73, 0xf8, 0xd8,
1600 0x34, 0x66, 0xf, 0x73, 0xf8, 0xf0,
1601 0x23, 0xf, 0x73, 0xf8, 0xf0,
1602 0x34, 0x66, 0xf, 0x73, 0xf8, 0xf8,
1603 0x33, 0xf, 0xae, 0xe8,
1604 0x33, 0xf, 0xae, 0xf0,
1605 0x33, 0xf, 0xae, 0xf8,
1606 0x23, 0xf, 0xae, 0x38, 0x38,
1607 0x23, 0xf, 0xf, 0, 0,
1608 0x45, 0x66, 0xf, 0x3a, 0xc, 0, 0,
1609 0x45, 0x66, 0xf, 0x3a, 0xd, 0, 0,
1610 0x45, 0x66, 0xf, 0x38, 0x14, 0, 0,
1611 0x45, 0x66, 0xf, 0x38, 0x15, 0, 0,
1612 0x45, 0x66, 0xf, 0x3a, 0x40, 0, 0,
1613 0x45, 0x66, 0xf, 0x3a, 0x41, 0, 0,
1614 0x45, 0x66, 0xf, 0x3a, 0x21, 0, 0,
1615 0x45, 0x66, 0xf, 0x38, 0x2a, 0, 0,
1616 0x45, 0x66, 0xf, 0x3a, 0x42, 0, 0,
1617 0x45, 0x66, 0xf, 0x38, 0x2b, 0, 0,
1618 0x45, 0x66, 0xf, 0x38, 0x10, 0, 0,
1619 0x45, 0x66, 0xf, 0x3a, 0xe, 0, 0,
1620 0x45, 0x66, 0xf, 0x38, 0x29, 0, 0,
1621 0x45, 0x66, 0xf, 0x3a, 0x61, 0, 0,
1622 0x45, 0x66, 0xf, 0x3a, 0x60, 0, 0,
1623 0x45, 0x66, 0xf, 0x3a, 0x63, 0, 0,
1624 0x45, 0x66, 0xf, 0x3a, 0x62, 0, 0,
1625 0x45, 0x66, 0xf, 0x38, 0x37, 0, 0,
1626 0x45, 0x66, 0xf, 0x38, 0x41, 0, 0,
1627 0x45, 0x66, 0xf, 0x3a, 0x20, 0, 0,
1628 0x45, 0x66, 0xf, 0x3a, 0x22, 0, 0,
1629 0x45, 0x66, 0xf, 0x38, 0x3c, 0, 0,
1630 0x45, 0x66, 0xf, 0x38, 0x3d, 0, 0,
1631 0x45, 0x66, 0xf, 0x38, 0x3f, 0, 0,
1632 0x45, 0x66, 0xf, 0x38, 0x3e, 0, 0,
1633 0x45, 0x66, 0xf, 0x38, 0x38, 0, 0,
1634 0x45, 0x66, 0xf, 0x38, 0x39, 0, 0,
1635 0x45, 0x66, 0xf, 0x38, 0x3b, 0, 0,
1636 0x45, 0x66, 0xf, 0x38, 0x3a, 0, 0,
1637 0x45, 0x66, 0xf, 0x38, 0x20, 0, 0,
1638 0x45, 0x66, 0xf, 0x38, 0x21, 0, 0,
1639 0x45, 0x66, 0xf, 0x38, 0x22, 0, 0,
1640 0x45, 0x66, 0xf, 0x38, 0x23, 0, 0,
1641 0x45, 0x66, 0xf, 0x38, 0x24, 0, 0,
1642 0x45, 0x66, 0xf, 0x38, 0x25, 0, 0,
1643 0x45, 0x66, 0xf, 0x38, 0x30, 0, 0,
1644 0x45, 0x66, 0xf, 0x38, 0x31, 0, 0,
1645 0x45, 0x66, 0xf, 0x38, 0x32, 0, 0,
1646 0x45, 0x66, 0xf, 0x38, 0x33, 0, 0,
1647 0x45, 0x66, 0xf, 0x38, 0x34, 0, 0,
1648 0x45, 0x66, 0xf, 0x38, 0x35, 0, 0,
1649 0x45, 0x66, 0xf, 0x38, 0x28, 0, 0,
1650 0x45, 0x66, 0xf, 0x38, 0x40, 0, 0,
1651 0x45, 0x66, 0xf, 0x38, 0x17, 0, 0,
1652 0x45, 0x66, 0xf, 0x3a, 0x8, 0, 0,
1653 0x45, 0x66, 0xf, 0x3a, 0x9, 0, 0,
1654 0x45, 0x66, 0xf, 0x3a, 0xa, 0, 0,
1655 0x45, 0x66, 0xf, 0x3a, 0xb, 0, 0,
1656 0x1, 0xe7, 0x7,
1657};
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.155/m68k_backend.diff b/meta/recipes-devtools/elfutils/elfutils-0.155/m68k_backend.diff
new file mode 100644
index 0000000000..79a8f0e437
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils-0.155/m68k_backend.diff
@@ -0,0 +1,309 @@
1Upstream-Status: Backport
2
3Index: elfutils-0.155/backends/m68k_init.c
4===================================================================
5--- /dev/null
6+++ elfutils-0.155/backends/m68k_init.c
7@@ -0,0 +1,49 @@
8+/* Initialization of m68k specific backend library.
9+ Copyright (C) 2007 Kurt Roeckx <kurt@roeckx.be>
10+
11+ This software is free software; you can redistribute it and/or modify
12+ it under the terms of the GNU General Public License as published by the
13+ Free Software Foundation; version 2 of the License.
14+
15+ This softare is distributed in the hope that it will be useful, but
16+ WITHOUT ANY WARRANTY; without even the implied warranty of
17+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18+ General Public License for more details.
19+
20+ You should have received a copy of the GNU General Public License along
21+ with this software; if not, write to the Free Software Foundation,
22+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
23+
24+*/
25+
26+#ifdef HAVE_CONFIG_H
27+# include <config.h>
28+#endif
29+
30+#define BACKEND m68k_
31+#define RELOC_PREFIX R_68K_
32+#include "libebl_CPU.h"
33+
34+/* This defines the common reloc hooks based on m68k_reloc.def. */
35+#include "common-reloc.c"
36+
37+
38+const char *
39+m68k_init (elf, machine, eh, ehlen)
40+ Elf *elf __attribute__ ((unused));
41+ GElf_Half machine __attribute__ ((unused));
42+ Ebl *eh;
43+ size_t ehlen;
44+{
45+ /* Check whether the Elf_BH object has a sufficent size. */
46+ if (ehlen < sizeof (Ebl))
47+ return NULL;
48+
49+ /* We handle it. */
50+ eh->name = "m68k";
51+ m68k_init_reloc (eh);
52+ HOOK (eh, reloc_simple_type);
53+ HOOK (eh, register_info);
54+
55+ return MODVERSION;
56+}
57Index: elfutils-0.155/backends/m68k_regs.c
58===================================================================
59--- /dev/null
60+++ elfutils-0.155/backends/m68k_regs.c
61@@ -0,0 +1,106 @@
62+/* Register names and numbers for m68k DWARF.
63+ Copyright (C) 2007 Kurt Roeckx <kurt@roeckx.be>
64+
65+ This software is free software; you can redistribute it and/or modify
66+ it under the terms of the GNU General Public License as published by the
67+ Free Software Foundation; version 2 of the License.
68+
69+ This software is distributed in the hope that it will be useful, but
70+ WITHOUT ANY WARRANTY; without even the implied warranty of
71+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
72+ General Public License for more details.
73+
74+ You should have received a copy of the GNU General Public License along
75+ with this software; if not, write to the Free Software Foundation,
76+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
77+
78+ */
79+
80+#ifdef HAVE_CONFIG_H
81+# include <config.h>
82+#endif
83+
84+#include <string.h>
85+#include <dwarf.h>
86+
87+#define BACKEND m68k_
88+#include "libebl_CPU.h"
89+
90+ssize_t
91+m68k_register_info (Ebl *ebl __attribute__ ((unused)),
92+ int regno, char *name, size_t namelen,
93+ const char **prefix, const char **setname,
94+ int *bits, int *type)
95+{
96+ if (name == NULL)
97+ return 25;
98+
99+ if (regno < 0 || regno > 24 || namelen < 5)
100+ return -1;
101+
102+ *prefix = "%";
103+ *bits = 32;
104+ *type = (regno < 8 ? DW_ATE_signed
105+ : regno < 16 ? DW_ATE_address : DW_ATE_float);
106+
107+ if (regno < 8)
108+ {
109+ *setname = "integer";
110+ }
111+ else if (regno < 16)
112+ {
113+ *setname = "address";
114+ }
115+ else if (regno < 24)
116+ {
117+ *setname = "FPU";
118+ }
119+ else
120+ {
121+ *setname = "address";
122+ *type = DW_ATE_address;
123+ }
124+
125+ switch (regno)
126+ {
127+ case 0 ... 7:
128+ name[0] = 'd';
129+ name[1] = regno + '0';
130+ namelen = 2;
131+ break;
132+
133+ case 8 ... 13:
134+ name[0] = 'a';
135+ name[1] = regno - 8 + '0';
136+ namelen = 2;
137+ break;
138+
139+ case 14:
140+ name[0] = 'f';
141+ name[1] = 'p';
142+ namelen = 2;
143+ break;
144+
145+ case 15:
146+ name[0] = 's';
147+ name[1] = 'p';
148+ namelen = 2;
149+ break;
150+
151+ case 16 ... 23:
152+ name[0] = 'f';
153+ name[1] = 'p';
154+ name[2] = regno - 16 + '0';
155+ namelen = 3;
156+ break;
157+
158+ case 24:
159+ name[0] = 'p';
160+ name[1] = 'c';
161+ namelen = 2;
162+ }
163+
164+ name[namelen++] = '\0';
165+ return namelen;
166+}
167+
168Index: elfutils-0.155/backends/m68k_reloc.def
169===================================================================
170--- /dev/null
171+++ elfutils-0.155/backends/m68k_reloc.def
172@@ -0,0 +1,45 @@
173+/* List the relocation types for m68k. -*- C -*-
174+ Copyright (C) 2007 Kurt Roeckx <kurt@roeckx.be>
175+
176+ This software is free software; you can redistribute it and/or modify
177+ it under the terms of the GNU General Public License as published by the
178+ Free Software Foundation; version 2 of the License.
179+
180+ This software is distributed in the hope that it will be useful, but
181+ WITHOUT ANY WARRANTY; without even the implied warranty of
182+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
183+ General Public License for more details.
184+
185+ You should have received a copy of the GNU General Public License along
186+ with this software; if not, write to the Free Software Foundation,
187+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
188+*/
189+
190+/* NAME, REL|EXEC|DYN */
191+
192+RELOC_TYPE (NONE, 0)
193+RELOC_TYPE (32, REL|EXEC|DYN)
194+RELOC_TYPE (16, REL)
195+RELOC_TYPE (8, REL)
196+RELOC_TYPE (PC32, REL|EXEC|DYN)
197+RELOC_TYPE (PC16, REL)
198+RELOC_TYPE (PC8, REL)
199+RELOC_TYPE (GOT32, REL)
200+RELOC_TYPE (GOT16, REL)
201+RELOC_TYPE (GOT8, REL)
202+RELOC_TYPE (GOT32O, REL)
203+RELOC_TYPE (GOT16O, REL)
204+RELOC_TYPE (GOT8O, REL)
205+RELOC_TYPE (PLT32, REL)
206+RELOC_TYPE (PLT16, REL)
207+RELOC_TYPE (PLT8, REL)
208+RELOC_TYPE (PLT32O, REL)
209+RELOC_TYPE (PLT16O, REL)
210+RELOC_TYPE (PLT8O, REL)
211+RELOC_TYPE (COPY, EXEC)
212+RELOC_TYPE (GLOB_DAT, EXEC|DYN)
213+RELOC_TYPE (JMP_SLOT, EXEC|DYN)
214+RELOC_TYPE (RELATIVE, EXEC|DYN)
215+RELOC_TYPE (GNU_VTINHERIT, REL)
216+RELOC_TYPE (GNU_VTENTRY, REL)
217+
218Index: elfutils-0.155/libelf/elf.h
219===================================================================
220--- elfutils-0.155.orig/libelf/elf.h
221+++ elfutils-0.155/libelf/elf.h
222@@ -1126,6 +1126,9 @@
223 #define R_68K_GLOB_DAT 20 /* Create GOT entry */
224 #define R_68K_JMP_SLOT 21 /* Create PLT entry */
225 #define R_68K_RELATIVE 22 /* Adjust by program base */
226+/* The next 2 are GNU extensions to enable C++ vtable garbage collection. */
227+#define R_68K_GNU_VTINHERIT 23
228+#define R_68K_GNU_VTENTRY 24
229 #define R_68K_TLS_GD32 25 /* 32 bit GOT offset for GD */
230 #define R_68K_TLS_GD16 26 /* 16 bit GOT offset for GD */
231 #define R_68K_TLS_GD8 27 /* 8 bit GOT offset for GD */
232Index: elfutils-0.155/backends/Makefile.am
233===================================================================
234--- elfutils-0.155.orig/backends/Makefile.am
235+++ elfutils-0.155/backends/Makefile.am
236@@ -32,12 +32,12 @@
237 -I$(top_srcdir)/libelf -I$(top_srcdir)/libdw
238
239
240-modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 tilegx parisc mips
241+modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 tilegx parisc mips m68k
242 libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \
243 libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \
244 libebl_sparc_pic.a libebl_ppc_pic.a libebl_ppc64_pic.a \
245 libebl_s390_pic.a libebl_tilegx_pic.a libebl_parisc_pic.a \
246- libebl_mips_pic.a
247+ libebl_mips_pic.a libebl_m68k_pic.a
248 noinst_LIBRARIES = $(libebl_pic)
249 noinst_DATA = $(libebl_pic:_pic.a=.so)
250
251@@ -112,6 +112,10 @@
252 libebl_mips_pic_a_SOURCES = $(mips_SRCS)
253 am_libebl_mips_pic_a_OBJECTS = $(mips_SRCS:.c=.os)
254
255+m68k_SRCS = m68k_init.c m68k_symbol.c m68k_regs.c
256+libebl_m68k_pic_a_SOURCES = $(m68k_SRCS)
257+am_libebl_m68k_pic_a_OBJECTS = $(m68k_SRCS:.c=.os)
258+
259 libebl_%.so libebl_%.map: libebl_%_pic.a $(libelf) $(libdw)
260 @rm -f $(@:.so=.map)
261 echo 'ELFUTILS_$(PACKAGE_VERSION) { global: $*_init; local: *; };' \
262Index: elfutils-0.155/backends/m68k_symbol.c
263===================================================================
264--- /dev/null
265+++ elfutils-0.155/backends/m68k_symbol.c
266@@ -0,0 +1,43 @@
267+/* m68k specific symbolic name handling.
268+ Copyright (C) 2007 Kurt Roeckx <kurt@roeckx.be>
269+
270+ This software is free software; you can redistribute it and/or modify
271+ it under the terms of the GNU General Public License as published by the
272+ Free Software Foundation; version 2 of the License.
273+
274+ This software distributed in the hope that it will be useful, but
275+ WITHOUT ANY WARRANTY; without even the implied warranty of
276+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
277+ General Public License for more details.
278+
279+ You should have received a copy of the GNU General Public License along
280+ with this software; if not, write to the Free Software Foundation,
281+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
282+*/
283+
284+#ifdef HAVE_CONFIG_H
285+# include <config.h>
286+#endif
287+
288+#include <elf.h>
289+#include <stddef.h>
290+
291+#define BACKEND m68k_
292+#include "libebl_CPU.h"
293+
294+/* Check for the simple reloc types. */
295+Elf_Type
296+m68k_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type)
297+{
298+ switch (type)
299+ {
300+ case R_68K_32:
301+ return ELF_T_SWORD;
302+ case R_68K_16:
303+ return ELF_T_HALF;
304+ case R_68K_8:
305+ return ELF_T_BYTE;
306+ default:
307+ return ELF_T_NUM;
308+ }
309+}
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.155/mempcpy.patch b/meta/recipes-devtools/elfutils/elfutils-0.155/mempcpy.patch
new file mode 100644
index 0000000000..1d5a37e8f5
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils-0.155/mempcpy.patch
@@ -0,0 +1,24 @@
1
2uclibc does not export __mempcpy like glibc so we alias it here.
3This patch may make sense for upstream but elfutils uses more
4glibc specific features like obstack_printf which are missing in
5uclibc they need to be fixed along to make it work all the way
6
7Upstream-Status: Inappropriate[Elfutils uses more glibc specific features]
8
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10
11Index: elfutils-0.155/libelf/elf_begin.c
12===================================================================
13--- elfutils-0.155.orig/libelf/elf_begin.c
14+++ elfutils-0.155/libelf/elf_begin.c
15@@ -68,6 +68,9 @@
16 #include "libelfP.h"
17 #include "common.h"
18
19+#ifdef __UCLIBC__
20+#define __mempcpy mempcpy
21+#endif
22
23 /* Create descriptor for archive in memory. */
24 static inline Elf *
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.155/mips_backend.diff b/meta/recipes-devtools/elfutils/elfutils-0.155/mips_backend.diff
new file mode 100644
index 0000000000..8fc06c50fb
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils-0.155/mips_backend.diff
@@ -0,0 +1,714 @@
1Upstream-Status: Backport
2
3Index: elfutils-0.155/backends/mips_init.c
4===================================================================
5--- /dev/null
6+++ elfutils-0.155/backends/mips_init.c
7@@ -0,0 +1,60 @@
8+/* Initialization of mips specific backend library.
9+ Copyright (C) 2006 Red Hat, Inc.
10+ This file is part of Red Hat elfutils.
11+
12+ Red Hat elfutils is free software; you can redistribute it and/or modify
13+ it under the terms of the GNU General Public License as published by the
14+ Free Software Foundation; version 2 of the License.
15+
16+ Red Hat elfutils is distributed in the hope that it will be useful, but
17+ WITHOUT ANY WARRANTY; without even the implied warranty of
18+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19+ General Public License for more details.
20+
21+ You should have received a copy of the GNU General Public License along
22+ with Red Hat elfutils; if not, write to the Free Software Foundation,
23+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
24+
25+ Red Hat elfutils is an included package of the Open Invention Network.
26+ An included package of the Open Invention Network is a package for which
27+ Open Invention Network licensees cross-license their patents. No patent
28+ license is granted, either expressly or impliedly, by designation as an
29+ included package. Should you wish to participate in the Open Invention
30+ Network licensing program, please visit www.openinventionnetwork.com
31+ <http://www.openinventionnetwork.com>. */
32+
33+#ifdef HAVE_CONFIG_H
34+# include <config.h>
35+#endif
36+
37+#define BACKEND mips_
38+#define RELOC_PREFIX R_MIPS_
39+#include "libebl_CPU.h"
40+
41+/* This defines the common reloc hooks based on mips_reloc.def. */
42+#include "common-reloc.c"
43+
44+const char *
45+mips_init (elf, machine, eh, ehlen)
46+ Elf *elf __attribute__ ((unused));
47+ GElf_Half machine __attribute__ ((unused));
48+ Ebl *eh;
49+ size_t ehlen;
50+{
51+ /* Check whether the Elf_BH object has a sufficent size. */
52+ if (ehlen < sizeof (Ebl))
53+ return NULL;
54+
55+ /* We handle it. */
56+ if (machine == EM_MIPS)
57+ eh->name = "MIPS R3000 big-endian";
58+ else if (machine == EM_MIPS_RS3_LE)
59+ eh->name = "MIPS R3000 little-endian";
60+
61+ mips_init_reloc (eh);
62+ HOOK (eh, reloc_simple_type);
63+ HOOK (eh, return_value_location);
64+ HOOK (eh, register_info);
65+
66+ return MODVERSION;
67+}
68Index: elfutils-0.155/backends/mips_regs.c
69===================================================================
70--- /dev/null
71+++ elfutils-0.155/backends/mips_regs.c
72@@ -0,0 +1,104 @@
73+/* Register names and numbers for MIPS DWARF.
74+ Copyright (C) 2006 Red Hat, Inc.
75+ This file is part of Red Hat elfutils.
76+
77+ Red Hat elfutils is free software; you can redistribute it and/or modify
78+ it under the terms of the GNU General Public License as published by the
79+ Free Software Foundation; version 2 of the License.
80+
81+ Red Hat elfutils is distributed in the hope that it will be useful, but
82+ WITHOUT ANY WARRANTY; without even the implied warranty of
83+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
84+ General Public License for more details.
85+
86+ You should have received a copy of the GNU General Public License along
87+ with Red Hat elfutils; if not, write to the Free Software Foundation,
88+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
89+
90+ Red Hat elfutils is an included package of the Open Invention Network.
91+ An included package of the Open Invention Network is a package for which
92+ Open Invention Network licensees cross-license their patents. No patent
93+ license is granted, either expressly or impliedly, by designation as an
94+ included package. Should you wish to participate in the Open Invention
95+ Network licensing program, please visit www.openinventionnetwork.com
96+ <http://www.openinventionnetwork.com>. */
97+
98+#ifdef HAVE_CONFIG_H
99+# include <config.h>
100+#endif
101+
102+#include <string.h>
103+#include <dwarf.h>
104+
105+#define BACKEND mips_
106+#include "libebl_CPU.h"
107+
108+ssize_t
109+mips_register_info (Ebl *ebl __attribute__((unused)),
110+ int regno, char *name, size_t namelen,
111+ const char **prefix, const char **setname,
112+ int *bits, int *type)
113+{
114+ if (name == NULL)
115+ return 66;
116+
117+ if (regno < 0 || regno > 65 || namelen < 4)
118+ return -1;
119+
120+ *prefix = "$";
121+
122+ if (regno < 32)
123+ {
124+ *setname = "integer";
125+ *type = DW_ATE_signed;
126+ *bits = 32;
127+ if (regno < 32 + 10)
128+ {
129+ name[0] = regno + '0';
130+ namelen = 1;
131+ }
132+ else
133+ {
134+ name[0] = (regno / 10) + '0';
135+ name[1] = (regno % 10) + '0';
136+ namelen = 2;
137+ }
138+ }
139+ else if (regno < 64)
140+ {
141+ *setname = "FPU";
142+ *type = DW_ATE_float;
143+ *bits = 32;
144+ name[0] = 'f';
145+ if (regno < 32 + 10)
146+ {
147+ name[1] = (regno - 32) + '0';
148+ namelen = 2;
149+ }
150+ else
151+ {
152+ name[1] = (regno - 32) / 10 + '0';
153+ name[2] = (regno - 32) % 10 + '0';
154+ namelen = 3;
155+ }
156+ }
157+ else if (regno == 64)
158+ {
159+ *type = DW_ATE_signed;
160+ *bits = 32;
161+ name[0] = 'h';
162+ name[1] = 'i';
163+ namelen = 2;
164+ }
165+ else
166+ {
167+ *type = DW_ATE_signed;
168+ *bits = 32;
169+ name[0] = 'l';
170+ name[1] = 'o';
171+ namelen = 2;
172+ }
173+
174+ name[namelen++] = '\0';
175+ return namelen;
176+}
177Index: elfutils-0.155/backends/mips_reloc.def
178===================================================================
179--- /dev/null
180+++ elfutils-0.155/backends/mips_reloc.def
181@@ -0,0 +1,79 @@
182+/* List the relocation types for mips. -*- C -*-
183+ Copyright (C) 2006 Red Hat, Inc.
184+ This file is part of Red Hat elfutils.
185+
186+ Red Hat elfutils is free software; you can redistribute it and/or modify
187+ it under the terms of the GNU General Public License as published by the
188+ Free Software Foundation; version 2 of the License.
189+
190+ Red Hat elfutils is distributed in the hope that it will be useful, but
191+ WITHOUT ANY WARRANTY; without even the implied warranty of
192+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
193+ General Public License for more details.
194+
195+ You should have received a copy of the GNU General Public License along
196+ with Red Hat elfutils; if not, write to the Free Software Foundation,
197+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
198+
199+ Red Hat elfutils is an included package of the Open Invention Network.
200+ An included package of the Open Invention Network is a package for which
201+ Open Invention Network licensees cross-license their patents. No patent
202+ license is granted, either expressly or impliedly, by designation as an
203+ included package. Should you wish to participate in the Open Invention
204+ Network licensing program, please visit www.openinventionnetwork.com
205+ <http://www.openinventionnetwork.com>. */
206+
207+/* NAME, REL|EXEC|DYN */
208+
209+RELOC_TYPE (NONE, 0)
210+RELOC_TYPE (16, 0)
211+RELOC_TYPE (32, 0)
212+RELOC_TYPE (REL32, 0)
213+RELOC_TYPE (26, 0)
214+RELOC_TYPE (HI16, 0)
215+RELOC_TYPE (LO16, 0)
216+RELOC_TYPE (GPREL16, 0)
217+RELOC_TYPE (LITERAL, 0)
218+RELOC_TYPE (GOT16, 0)
219+RELOC_TYPE (PC16, 0)
220+RELOC_TYPE (CALL16, 0)
221+RELOC_TYPE (GPREL32, 0)
222+
223+RELOC_TYPE (SHIFT5, 0)
224+RELOC_TYPE (SHIFT6, 0)
225+RELOC_TYPE (64, 0)
226+RELOC_TYPE (GOT_DISP, 0)
227+RELOC_TYPE (GOT_PAGE, 0)
228+RELOC_TYPE (GOT_OFST, 0)
229+RELOC_TYPE (GOT_HI16, 0)
230+RELOC_TYPE (GOT_LO16, 0)
231+RELOC_TYPE (SUB, 0)
232+RELOC_TYPE (INSERT_A, 0)
233+RELOC_TYPE (INSERT_B, 0)
234+RELOC_TYPE (DELETE, 0)
235+RELOC_TYPE (HIGHER, 0)
236+RELOC_TYPE (HIGHEST, 0)
237+RELOC_TYPE (CALL_HI16, 0)
238+RELOC_TYPE (CALL_LO16, 0)
239+RELOC_TYPE (SCN_DISP, 0)
240+RELOC_TYPE (REL16, 0)
241+RELOC_TYPE (ADD_IMMEDIATE, 0)
242+RELOC_TYPE (PJUMP, 0)
243+RELOC_TYPE (RELGOT, 0)
244+RELOC_TYPE (JALR, 0)
245+RELOC_TYPE (TLS_DTPMOD32, 0)
246+RELOC_TYPE (TLS_DTPREL32, 0)
247+RELOC_TYPE (TLS_DTPMOD64, 0)
248+RELOC_TYPE (TLS_DTPREL64, 0)
249+RELOC_TYPE (TLS_GD, 0)
250+RELOC_TYPE (TLS_LDM, 0)
251+RELOC_TYPE (TLS_DTPREL_HI16, 0)
252+RELOC_TYPE (TLS_DTPREL_LO16, 0)
253+RELOC_TYPE (TLS_GOTTPREL, 0)
254+RELOC_TYPE (TLS_TPREL32, 0)
255+RELOC_TYPE (TLS_TPREL64, 0)
256+RELOC_TYPE (TLS_TPREL_HI16, 0)
257+RELOC_TYPE (TLS_TPREL_LO16, 0)
258+
259+#define NO_COPY_RELOC 1
260+#define NO_RELATIVE_RELOC 1
261Index: elfutils-0.155/backends/mips_retval.c
262===================================================================
263--- /dev/null
264+++ elfutils-0.155/backends/mips_retval.c
265@@ -0,0 +1,321 @@
266+/* Function return value location for Linux/mips ABI.
267+ Copyright (C) 2005 Red Hat, Inc.
268+ This file is part of Red Hat elfutils.
269+
270+ Red Hat elfutils is free software; you can redistribute it and/or modify
271+ it under the terms of the GNU General Public License as published by the
272+ Free Software Foundation; version 2 of the License.
273+
274+ Red Hat elfutils is distributed in the hope that it will be useful, but
275+ WITHOUT ANY WARRANTY; without even the implied warranty of
276+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
277+ General Public License for more details.
278+
279+ You should have received a copy of the GNU General Public License along
280+ with Red Hat elfutils; if not, write to the Free Software Foundation,
281+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
282+
283+ Red Hat elfutils is an included package of the Open Invention Network.
284+ An included package of the Open Invention Network is a package for which
285+ Open Invention Network licensees cross-license their patents. No patent
286+ license is granted, either expressly or impliedly, by designation as an
287+ included package. Should you wish to participate in the Open Invention
288+ Network licensing program, please visit www.openinventionnetwork.com
289+ <http://www.openinventionnetwork.com>. */
290+
291+#ifdef HAVE_CONFIG_H
292+# include <config.h>
293+#endif
294+
295+#include <string.h>
296+#include <assert.h>
297+#include <dwarf.h>
298+#include <elf.h>
299+
300+#include "../libebl/libeblP.h"
301+#include "../libdw/libdwP.h"
302+
303+#define BACKEND mips_
304+#include "libebl_CPU.h"
305+
306+/* The ABI of the file. Also see EF_MIPS_ABI2 above. */
307+#define EF_MIPS_ABI 0x0000F000
308+
309+/* The original o32 abi. */
310+#define E_MIPS_ABI_O32 0x00001000
311+
312+/* O32 extended to work on 64 bit architectures */
313+#define E_MIPS_ABI_O64 0x00002000
314+
315+/* EABI in 32 bit mode */
316+#define E_MIPS_ABI_EABI32 0x00003000
317+
318+/* EABI in 64 bit mode */
319+#define E_MIPS_ABI_EABI64 0x00004000
320+
321+/* All the possible MIPS ABIs. */
322+enum mips_abi
323+ {
324+ MIPS_ABI_UNKNOWN = 0,
325+ MIPS_ABI_N32,
326+ MIPS_ABI_O32,
327+ MIPS_ABI_N64,
328+ MIPS_ABI_O64,
329+ MIPS_ABI_EABI32,
330+ MIPS_ABI_EABI64,
331+ MIPS_ABI_LAST
332+ };
333+
334+/* Find the mips ABI of the current file */
335+enum mips_abi find_mips_abi(Elf *elf)
336+{
337+ GElf_Ehdr ehdr_mem;
338+ GElf_Ehdr *ehdr = gelf_getehdr (elf, &ehdr_mem);
339+
340+ if (ehdr == NULL)
341+ return MIPS_ABI_LAST;
342+
343+ GElf_Word elf_flags = ehdr->e_flags;
344+
345+ /* Check elf_flags to see if it specifies the ABI being used. */
346+ switch ((elf_flags & EF_MIPS_ABI))
347+ {
348+ case E_MIPS_ABI_O32:
349+ return MIPS_ABI_O32;
350+ case E_MIPS_ABI_O64:
351+ return MIPS_ABI_O64;
352+ case E_MIPS_ABI_EABI32:
353+ return MIPS_ABI_EABI32;
354+ case E_MIPS_ABI_EABI64:
355+ return MIPS_ABI_EABI64;
356+ default:
357+ if ((elf_flags & EF_MIPS_ABI2))
358+ return MIPS_ABI_N32;
359+ }
360+
361+ /* GCC creates a pseudo-section whose name describes the ABI. */
362+ size_t shstrndx;
363+ if (elf_getshdrstrndx (elf, &shstrndx) < 0)
364+ return MIPS_ABI_LAST;
365+
366+ const char *name;
367+ Elf_Scn *scn = NULL;
368+ while ((scn = elf_nextscn (elf, scn)) != NULL)
369+ {
370+ GElf_Shdr shdr_mem;
371+ GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
372+ if (shdr == NULL)
373+ return MIPS_ABI_LAST;
374+
375+ name = elf_strptr (elf, shstrndx, shdr->sh_name) ?: "";
376+ if (strncmp (name, ".mdebug.", 8) != 0)
377+ continue;
378+
379+ if (strcmp (name, ".mdebug.abi32") == 0)
380+ return MIPS_ABI_O32;
381+ else if (strcmp (name, ".mdebug.abiN32") == 0)
382+ return MIPS_ABI_N32;
383+ else if (strcmp (name, ".mdebug.abi64") == 0)
384+ return MIPS_ABI_N64;
385+ else if (strcmp (name, ".mdebug.abiO64") == 0)
386+ return MIPS_ABI_O64;
387+ else if (strcmp (name, ".mdebug.eabi32") == 0)
388+ return MIPS_ABI_EABI32;
389+ else if (strcmp (name, ".mdebug.eabi64") == 0)
390+ return MIPS_ABI_EABI64;
391+ else
392+ return MIPS_ABI_UNKNOWN;
393+ }
394+
395+ return MIPS_ABI_UNKNOWN;
396+}
397+
398+unsigned int
399+mips_abi_regsize (enum mips_abi abi)
400+{
401+ switch (abi)
402+ {
403+ case MIPS_ABI_EABI32:
404+ case MIPS_ABI_O32:
405+ return 4;
406+ case MIPS_ABI_N32:
407+ case MIPS_ABI_N64:
408+ case MIPS_ABI_O64:
409+ case MIPS_ABI_EABI64:
410+ return 8;
411+ case MIPS_ABI_UNKNOWN:
412+ case MIPS_ABI_LAST:
413+ default:
414+ return 0;
415+ }
416+}
417+
418+
419+/* $v0 or pair $v0, $v1 */
420+static const Dwarf_Op loc_intreg_o32[] =
421+ {
422+ { .atom = DW_OP_reg2 }, { .atom = DW_OP_piece, .number = 4 },
423+ { .atom = DW_OP_reg3 }, { .atom = DW_OP_piece, .number = 4 },
424+ };
425+
426+static const Dwarf_Op loc_intreg[] =
427+ {
428+ { .atom = DW_OP_reg2 }, { .atom = DW_OP_piece, .number = 8 },
429+ { .atom = DW_OP_reg3 }, { .atom = DW_OP_piece, .number = 8 },
430+ };
431+#define nloc_intreg 1
432+#define nloc_intregpair 4
433+
434+/* $f0 (float), or pair $f0, $f1 (double).
435+ * f2/f3 are used for COMPLEX (= 2 doubles) returns in Fortran */
436+static const Dwarf_Op loc_fpreg_o32[] =
437+ {
438+ { .atom = DW_OP_regx, .number = 32 }, { .atom = DW_OP_piece, .number = 4 },
439+ { .atom = DW_OP_regx, .number = 33 }, { .atom = DW_OP_piece, .number = 4 },
440+ { .atom = DW_OP_regx, .number = 34 }, { .atom = DW_OP_piece, .number = 4 },
441+ { .atom = DW_OP_regx, .number = 35 }, { .atom = DW_OP_piece, .number = 4 },
442+ };
443+
444+/* $f0, or pair $f0, $f2. */
445+static const Dwarf_Op loc_fpreg[] =
446+ {
447+ { .atom = DW_OP_regx, .number = 32 }, { .atom = DW_OP_piece, .number = 8 },
448+ { .atom = DW_OP_regx, .number = 34 }, { .atom = DW_OP_piece, .number = 8 },
449+ };
450+#define nloc_fpreg 1
451+#define nloc_fpregpair 4
452+#define nloc_fpregquad 8
453+
454+/* The return value is a structure and is actually stored in stack space
455+ passed in a hidden argument by the caller. But, the compiler
456+ helpfully returns the address of that space in $v0. */
457+static const Dwarf_Op loc_aggregate[] =
458+ {
459+ { .atom = DW_OP_breg2, .number = 0 }
460+ };
461+#define nloc_aggregate 1
462+
463+int
464+mips_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
465+{
466+ /* First find the ABI used by the elf object */
467+ enum mips_abi abi = find_mips_abi(functypedie->cu->dbg->elf);
468+
469+ /* Something went seriously wrong while trying to figure out the ABI */
470+ if (abi == MIPS_ABI_LAST)
471+ return -1;
472+
473+ /* We couldn't identify the ABI, but the file seems valid */
474+ if (abi == MIPS_ABI_UNKNOWN)
475+ return -2;
476+
477+ /* Can't handle EABI variants */
478+ if ((abi == MIPS_ABI_EABI32) || (abi == MIPS_ABI_EABI64))
479+ return -2;
480+
481+ unsigned int regsize = mips_abi_regsize (abi);
482+ if (!regsize)
483+ return -2;
484+
485+ /* Start with the function's type, and get the DW_AT_type attribute,
486+ which is the type of the return value. */
487+
488+ Dwarf_Attribute attr_mem;
489+ Dwarf_Attribute *attr = dwarf_attr_integrate (functypedie, DW_AT_type, &attr_mem);
490+ if (attr == NULL)
491+ /* The function has no return value, like a `void' function in C. */
492+ return 0;
493+
494+ Dwarf_Die die_mem;
495+ Dwarf_Die *typedie = dwarf_formref_die (attr, &die_mem);
496+ int tag = dwarf_tag (typedie);
497+
498+ /* Follow typedefs and qualifiers to get to the actual type. */
499+ while (tag == DW_TAG_typedef
500+ || tag == DW_TAG_const_type || tag == DW_TAG_volatile_type
501+ || tag == DW_TAG_restrict_type || tag == DW_TAG_mutable_type)
502+ {
503+ attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem);
504+ typedie = dwarf_formref_die (attr, &die_mem);
505+ tag = dwarf_tag (typedie);
506+ }
507+
508+ switch (tag)
509+ {
510+ case -1:
511+ return -1;
512+
513+ case DW_TAG_subrange_type:
514+ if (! dwarf_hasattr_integrate (typedie, DW_AT_byte_size))
515+ {
516+ attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem);
517+ typedie = dwarf_formref_die (attr, &die_mem);
518+ tag = dwarf_tag (typedie);
519+ }
520+ /* Fall through. */
521+
522+ case DW_TAG_base_type:
523+ case DW_TAG_enumeration_type:
524+ case DW_TAG_pointer_type:
525+ case DW_TAG_ptr_to_member_type:
526+ {
527+ Dwarf_Word size;
528+ if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_byte_size,
529+ &attr_mem), &size) != 0)
530+ {
531+ if (tag == DW_TAG_pointer_type || tag == DW_TAG_ptr_to_member_type)
532+ size = regsize;
533+ else
534+ return -1;
535+ }
536+ if (tag == DW_TAG_base_type)
537+ {
538+ Dwarf_Word encoding;
539+ if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_encoding,
540+ &attr_mem), &encoding) != 0)
541+ return -1;
542+
543+#define ABI_LOC(loc, regsize) ((regsize) == 4 ? (loc ## _o32) : (loc))
544+
545+ if (encoding == DW_ATE_float)
546+ {
547+ *locp = ABI_LOC(loc_fpreg, regsize);
548+ if (size <= regsize)
549+ return nloc_fpreg;
550+
551+ if (size <= 2*regsize)
552+ return nloc_fpregpair;
553+
554+ if (size <= 4*regsize && abi == MIPS_ABI_O32)
555+ return nloc_fpregquad;
556+
557+ goto aggregate;
558+ }
559+ }
560+ *locp = ABI_LOC(loc_intreg, regsize);
561+ if (size <= regsize)
562+ return nloc_intreg;
563+ if (size <= 2*regsize)
564+ return nloc_intregpair;
565+
566+ /* Else fall through. Shouldn't happen though (at least with gcc) */
567+ }
568+
569+ case DW_TAG_structure_type:
570+ case DW_TAG_class_type:
571+ case DW_TAG_union_type:
572+ case DW_TAG_array_type:
573+ aggregate:
574+ /* XXX TODO: Can't handle structure return with other ABI's yet :-/ */
575+ if ((abi != MIPS_ABI_O32) && (abi != MIPS_ABI_O64))
576+ return -2;
577+
578+ *locp = loc_aggregate;
579+ return nloc_aggregate;
580+ }
581+
582+ /* XXX We don't have a good way to return specific errors from ebl calls.
583+ This value means we do not understand the type, but it is well-formed
584+ DWARF and might be valid. */
585+ return -2;
586+}
587Index: elfutils-0.155/backends/mips_symbol.c
588===================================================================
589--- /dev/null
590+++ elfutils-0.155/backends/mips_symbol.c
591@@ -0,0 +1,52 @@
592+/* MIPS specific symbolic name handling.
593+ Copyright (C) 2002, 2003, 2005 Red Hat, Inc.
594+ This file is part of Red Hat elfutils.
595+ Written by Jakub Jelinek <jakub@redhat.com>, 2002.
596+
597+ Red Hat elfutils is free software; you can redistribute it and/or modify
598+ it under the terms of the GNU General Public License as published by the
599+ Free Software Foundation; version 2 of the License.
600+
601+ Red Hat elfutils is distributed in the hope that it will be useful, but
602+ WITHOUT ANY WARRANTY; without even the implied warranty of
603+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
604+ General Public License for more details.
605+
606+ You should have received a copy of the GNU General Public License along
607+ with Red Hat elfutils; if not, write to the Free Software Foundation,
608+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
609+
610+ Red Hat elfutils is an included package of the Open Invention Network.
611+ An included package of the Open Invention Network is a package for which
612+ Open Invention Network licensees cross-license their patents. No patent
613+ license is granted, either expressly or impliedly, by designation as an
614+ included package. Should you wish to participate in the Open Invention
615+ Network licensing program, please visit www.openinventionnetwork.com
616+ <http://www.openinventionnetwork.com>. */
617+
618+#ifdef HAVE_CONFIG_H
619+# include <config.h>
620+#endif
621+
622+#include <elf.h>
623+#include <stddef.h>
624+
625+#define BACKEND mips_
626+#include "libebl_CPU.h"
627+
628+/* Check for the simple reloc types. */
629+Elf_Type
630+mips_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type)
631+{
632+ switch (type)
633+ {
634+ case R_MIPS_16:
635+ return ELF_T_HALF;
636+ case R_MIPS_32:
637+ return ELF_T_WORD;
638+ case R_MIPS_64:
639+ return ELF_T_XWORD;
640+ default:
641+ return ELF_T_NUM;
642+ }
643+}
644Index: elfutils-0.155/libebl/eblopenbackend.c
645===================================================================
646--- elfutils-0.155.orig/libebl/eblopenbackend.c
647+++ elfutils-0.155/libebl/eblopenbackend.c
648@@ -71,6 +71,8 @@
649 { "sparc", "elf_sparc", "sparc", 5, EM_SPARC, 0, 0 },
650 { "sparc", "elf_sparcv8plus", "sparc", 5, EM_SPARC32PLUS, 0, 0 },
651 { "s390", "ebl_s390", "s390", 4, EM_S390, 0, 0 },
652+ { "mips", "elf_mips", "mips", 4, EM_MIPS, 0, 0 },
653+ { "mips", "elf_mipsel", "mipsel", 4, EM_MIPS_RS3_LE, 0, 0 },
654
655 { "m32", "elf_m32", "m32", 3, EM_M32, 0, 0 },
656 { "m68k", "elf_m68k", "m68k", 4, EM_68K, 0, 0 },
657Index: elfutils-0.155/backends/common-reloc.c
658===================================================================
659--- elfutils-0.155.orig/backends/common-reloc.c
660+++ elfutils-0.155/backends/common-reloc.c
661@@ -112,11 +112,13 @@
662 }
663
664
665+#ifndef NO_COPY_RELOC
666 bool
667 EBLHOOK(copy_reloc_p) (int reloc)
668 {
669 return reloc == R_TYPE (COPY);
670 }
671+#endif
672
673 bool
674 EBLHOOK(none_reloc_p) (int reloc)
675@@ -138,7 +140,9 @@
676 ebl->reloc_type_name = EBLHOOK(reloc_type_name);
677 ebl->reloc_type_check = EBLHOOK(reloc_type_check);
678 ebl->reloc_valid_use = EBLHOOK(reloc_valid_use);
679+#ifndef NO_COPY_RELOC
680 ebl->copy_reloc_p = EBLHOOK(copy_reloc_p);
681+#endif
682 ebl->none_reloc_p = EBLHOOK(none_reloc_p);
683 #ifndef NO_RELATIVE_RELOC
684 ebl->relative_reloc_p = EBLHOOK(relative_reloc_p);
685Index: elfutils-0.155/backends/Makefile.am
686===================================================================
687--- elfutils-0.155.orig/backends/Makefile.am
688+++ elfutils-0.155/backends/Makefile.am
689@@ -32,11 +32,12 @@
690 -I$(top_srcdir)/libelf -I$(top_srcdir)/libdw
691
692
693-modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 tilegx parisc
694+modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 tilegx parisc mips
695 libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \
696 libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \
697 libebl_sparc_pic.a libebl_ppc_pic.a libebl_ppc64_pic.a \
698- libebl_s390_pic.a libebl_tilegx_pic.a libebl_parisc_pic.a
699+ libebl_s390_pic.a libebl_tilegx_pic.a libebl_parisc_pic.a \
700+ libebl_mips_pic.a
701 noinst_LIBRARIES = $(libebl_pic)
702 noinst_DATA = $(libebl_pic:_pic.a=.so)
703
704@@ -107,6 +108,10 @@
705 libebl_parisc_pic_a_SOURCES = $(parisc_SRCS)
706 am_libebl_parisc_pic_a_OBJECTS = $(parisc_SRCS:.c=.os)
707
708+mips_SRCS = mips_init.c mips_symbol.c mips_regs.c mips_retval.c
709+libebl_mips_pic_a_SOURCES = $(mips_SRCS)
710+am_libebl_mips_pic_a_OBJECTS = $(mips_SRCS:.c=.os)
711+
712 libebl_%.so libebl_%.map: libebl_%_pic.a $(libelf) $(libdw)
713 @rm -f $(@:.so=.map)
714 echo 'ELFUTILS_$(PACKAGE_VERSION) { global: $*_init; local: *; };' \
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.155/nm-Fix-size-passed-to-snprintf-for-invalid-sh_name-case.patch b/meta/recipes-devtools/elfutils/elfutils-0.155/nm-Fix-size-passed-to-snprintf-for-invalid-sh_name-case.patch
new file mode 100644
index 0000000000..9a400da846
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils-0.155/nm-Fix-size-passed-to-snprintf-for-invalid-sh_name-case.patch
@@ -0,0 +1,27 @@
1Upstream-Status: Backport
2
3nm: Fix size passed to snprintf for invalid sh_name case.
4native build failed as following on Fedora18:
5nm.c: In function 'show_symbols_sysv':
6nm.c:756:27: error: argument to 'sizeof' in 'snprintf' call is the same expression as the destination; did you mean to provide an explicit length? [-Werror=sizeof-pointer-memaccess]
7 snprintf (name, sizeof name, "[invalid sh_name %#" PRIx32 "]",
8 ^
9
10The original commit is http://git.fedorahosted.org/cgit/elfutils.git/commit/src/nm.c?id=57bd66cabf6e6b9ecf622cdbf350804897a8df58
11
12Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
13
14--- elfutils-0.155/src/nm.c.org 2013-03-11 22:36:11.000000000 -0500
15+++ elfutils-0.155/src/nm.c 2013-03-11 22:46:09.000000000 -0500
16@@ -752,8 +752,9 @@
17 gelf_getshdr (scn, &shdr_mem)->sh_name);
18 if (unlikely (name == NULL))
19 {
20- name = alloca (sizeof "[invalid sh_name 0x12345678]");
21- snprintf (name, sizeof name, "[invalid sh_name %#" PRIx32 "]",
22+ const size_t bufsz = sizeof "[invalid sh_name 0x12345678]";
23+ name = alloca (bufsz);
24+ snprintf (name, bufsz, "[invalid sh_name %#" PRIx32 "]",
25 gelf_getshdr (scn, &shdr_mem)->sh_name);
26 }
27 scnnames[elf_ndxscn (scn)] = name;
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.155/redhat-portability.diff b/meta/recipes-devtools/elfutils/elfutils-0.155/redhat-portability.diff
new file mode 100644
index 0000000000..d5628aa3f1
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils-0.155/redhat-portability.diff
@@ -0,0 +1,1547 @@
1Upstream-Status: Backport
2
3Index: elfutils-0.155/backends/ChangeLog
4===================================================================
5--- elfutils-0.155.orig/backends/ChangeLog
6+++ elfutils-0.155/backends/ChangeLog
7@@ -135,6 +135,10 @@
8 * ppc_attrs.c (ppc_check_object_attribute): Handle tag
9 GNU_Power_ABI_Struct_Return.
10
11+2009-01-23 Roland McGrath <roland@redhat.com>
12+
13+ * Makefile.am (libebl_%.so): Use $(LD_AS_NEEDED).
14+
15 2008-10-04 Ulrich Drepper <drepper@redhat.com>
16
17 * i386_reloc.def: Fix entries for TLS_GOTDESC, TLS_DESC_CALL, and
18@@ -462,6 +466,11 @@
19 * sparc_init.c: Likewise.
20 * x86_64_init.c: Likewise.
21
22+2005-11-22 Roland McGrath <roland@redhat.com>
23+
24+ * Makefile.am (LD_AS_NEEDED): New variable, substituted by configure.
25+ (libebl_%.so rule): Use it in place of -Wl,--as-needed.
26+
27 2005-11-19 Roland McGrath <roland@redhat.com>
28
29 * ppc64_reloc.def: REL30 -> ADDR30.
30@@ -484,6 +493,9 @@
31 * Makefile.am (uninstall): Don't try to remove $(pkgincludedir).
32 (CLEANFILES): Add libebl_$(m).so.
33
34+ * Makefile.am (WEXTRA): New variable, substituted by configure.
35+ (AM_CFLAGS): Use it in place of -Wextra.
36+
37 * ppc_reloc.def: Update bits per Alan Modra <amodra@bigpond.net.au>.
38 * ppc64_reloc.def: Likewise.
39
40Index: elfutils-0.155/backends/Makefile.am
41===================================================================
42--- elfutils-0.155.orig/backends/Makefile.am
43+++ elfutils-0.155/backends/Makefile.am
44@@ -111,7 +111,7 @@ libebl_%.so libebl_%.map: libebl_%_pic.a
45 $(LINK) -shared -o $(@:.map=.so) \
46 -Wl,--whole-archive $< $(cpu_$*) -Wl,--no-whole-archive \
47 -Wl,--version-script,$(@:.so=.map) \
48- -Wl,-z,defs -Wl,--as-needed $(libelf) $(libdw) $(libmudflap)
49+ -Wl,-z,defs $(LD_AS_NEEDED) $(libelf) $(libdw) $(libmudflap)
50 $(textrel_check)
51
52 libebl_i386.so: $(cpu_i386)
53Index: elfutils-0.155/backends/Makefile.in
54===================================================================
55--- elfutils-0.155.orig/backends/Makefile.in
56+++ elfutils-0.155/backends/Makefile.in
57@@ -38,7 +38,8 @@ build_triplet = @build@
58 host_triplet = @host@
59 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
60 $(srcdir)/Makefile.in $(top_srcdir)/config/eu.am ChangeLog
61-@MUDFLAP_TRUE@am__append_1 = -fmudflap
62+@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
63+@MUDFLAP_TRUE@am__append_2 = -fmudflap
64 subdir = backends
65 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
66 am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
67@@ -172,6 +173,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
68 INSTALL_SCRIPT = @INSTALL_SCRIPT@
69 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
70 LDFLAGS = @LDFLAGS@
71+LD_AS_NEEDED = @LD_AS_NEEDED@
72 LEX = @LEX@
73 LEXLIB = @LEXLIB@
74 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
75@@ -201,6 +203,7 @@ SHELL = @SHELL@
76 STRIP = @STRIP@
77 USE_NLS = @USE_NLS@
78 VERSION = @VERSION@
79+WEXTRA = @WEXTRA@
80 XGETTEXT = @XGETTEXT@
81 XGETTEXT_015 = @XGETTEXT_015@
82 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
83@@ -263,10 +266,9 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi
84 -I$(top_srcdir)/libebl -I$(top_srcdir)/libasm \
85 -I$(top_srcdir)/libelf -I$(top_srcdir)/libdw
86 AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
87- $($(*F)_no_Werror),,-Werror) $(if \
88- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
89+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
90 $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
91- $(am__append_1)
92+ $(am__append_1) $(am__append_2)
93 @MUDFLAP_FALSE@libmudflap =
94 @MUDFLAP_TRUE@libmudflap = -lmudflap
95 COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
96@@ -725,7 +727,7 @@ libebl_%.so libebl_%.map: libebl_%_pic.a
97 $(LINK) -shared -o $(@:.map=.so) \
98 -Wl,--whole-archive $< $(cpu_$*) -Wl,--no-whole-archive \
99 -Wl,--version-script,$(@:.so=.map) \
100- -Wl,-z,defs -Wl,--as-needed $(libelf) $(libdw) $(libmudflap)
101+ -Wl,-z,defs $(LD_AS_NEEDED) $(libelf) $(libdw) $(libmudflap)
102 $(textrel_check)
103
104 libebl_i386.so: $(cpu_i386)
105Index: elfutils-0.155/ChangeLog
106===================================================================
107--- elfutils-0.155.orig/ChangeLog
108+++ elfutils-0.155/ChangeLog
109@@ -16,6 +16,8 @@
110
111 2012-01-24 Mark Wielaard <mjw@redhat.com>
112
113+ * configure.ac: Wrap AC_COMPILE_IFELSE sources in AC_LANG_SOURCE.
114+
115 * COPYING: Fix address. Updated version from gnulib.
116
117 2012-01-23 Mark Wielaard <mjw@redhat.com>
118@@ -34,6 +36,9 @@
119
120 2011-10-08 Mike Frysinger <vapier@gentoo.org>
121
122+ * configure.ac (--disable-werror): Handle it, controlling BUILD_WERROR
123+ automake option.
124+
125 * configure.ac: Fix use of AC_ARG_ENABLE to handle $enableval correctly.
126
127 2011-10-02 Ulrich Drepper <drepper@gmail.com>
128@@ -55,6 +60,10 @@
129
130 * configure.ac (LOCALEDIR, DATADIRNAME): Removed.
131
132+2009-11-22 Roland McGrath <roland@redhat.com>
133+
134+ * configure.ac: Use sed and expr instead of modern bash extensions.
135+
136 2009-09-21 Ulrich Drepper <drepper@redhat.com>
137
138 * configure.ac: Update for more modern autoconf.
139@@ -63,6 +72,10 @@
140
141 * configure.ac (zip_LIBS): Check for liblzma too.
142
143+2009-08-17 Roland McGrath <roland@redhat.com>
144+
145+ * configure.ac: Check for -fgnu89-inline; add it to WEXTRA if it works.
146+
147 2009-04-19 Roland McGrath <roland@redhat.com>
148
149 * configure.ac (eu_version): Round down here, not in version.h macros.
150@@ -74,6 +87,8 @@
151
152 2009-01-23 Roland McGrath <roland@redhat.com>
153
154+ * configure.ac: Check for __builtin_popcount.
155+
156 * configure.ac (zlib check): Check for gzdirect, need zlib >= 1.2.2.3.
157
158 * configure.ac (__thread check): Use AC_LINK_IFELSE, in case of
159@@ -154,6 +169,10 @@
160 * configure.ac: Add dummy automake conditional to get dependencies
161 for non-generic linker right. See src/Makefile.am.
162
163+2005-11-22 Roland McGrath <roland@redhat.com>
164+
165+ * configure.ac: Check for --as-needed linker option.
166+
167 2005-11-18 Roland McGrath <roland@redhat.com>
168
169 * Makefile.am (DISTCHECK_CONFIGURE_FLAGS): New variable.
170@@ -201,6 +220,17 @@
171 * Makefile.am (all_SUBDIRS): Add libdwfl.
172 * configure.ac: Write libdwfl/Makefile.
173
174+2005-05-31 Roland McGrath <roland@redhat.com>
175+
176+ * configure.ac (WEXTRA): Check for -Wextra and set this substitution.
177+
178+ * configure.ac: Check for struct stat st_?tim members.
179+ * src/strip.c (process_file): Use st_?time if st_?tim are not there.
180+
181+ * configure.ac: Check for futimes function.
182+ * src/strip.c (handle_elf) [! HAVE_FUTIMES]: Use utimes instead.
183+ (handle_ar) [! HAVE_FUTIMES]: Likewise.
184+
185 2005-05-19 Roland McGrath <roland@redhat.com>
186
187 * configure.ac [AH_BOTTOM] (INTDECL, _INTDECL): New macros.
188Index: elfutils-0.155/config/ChangeLog
189===================================================================
190--- elfutils-0.155.orig/config/ChangeLog
191+++ elfutils-0.155/config/ChangeLog
192@@ -19,6 +19,10 @@
193
194 * known-dwarf.awk: Use gawk.
195
196+2011-10-08 Mike Frysinger <vapier@gentoo.org>
197+
198+ * eu.am [BUILD_WERROR]: Conditionalize -Werror use on this.
199+
200 2010-07-02 Ulrich Drepper <drepper@redhat.com>
201
202 * elfutils.spec.in: Add more BuildRequires.
203Index: elfutils-0.155/config/eu.am
204===================================================================
205--- elfutils-0.155.orig/config/eu.am
206+++ elfutils-0.155/config/eu.am
207@@ -1,6 +1,6 @@
208 ## Common automake fragments for elfutils subdirectory makefiles.
209 ##
210-## Copyright (C) 2010 Red Hat, Inc.
211+## Copyright (C) 2010-2011 Red Hat, Inc.
212 ##
213 ## This file is part of elfutils.
214 ##
215@@ -29,14 +29,20 @@
216 ## not, see <http://www.gnu.org/licenses/>.
217 ##
218
219+WEXTRA = @WEXTRA@
220+LD_AS_NEEDED = @LD_AS_NEEDED@
221+
222 DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H -DLOCALEDIR='"${localedir}"'
223 INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I..
224 AM_CFLAGS = -std=gnu99 -Wall -Wshadow \
225- $(if $($(*F)_no_Werror),,-Werror) \
226- $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \
227+ $(if $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) \
228 $(if $($(*F)_no_Wformat),-Wno-format,-Wformat=2) \
229 $($(*F)_CFLAGS)
230
231+if BUILD_WERROR
232+AM_CFLAGS += $(if $($(*F)_no_Werror),,-Werror)
233+endif
234+
235 if MUDFLAP
236 AM_CFLAGS += -fmudflap
237 libmudflap = -lmudflap
238Index: elfutils-0.155/config/Makefile.in
239===================================================================
240--- elfutils-0.155.orig/config/Makefile.in
241+++ elfutils-0.155/config/Makefile.in
242@@ -76,6 +76,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
243 INSTALL_SCRIPT = @INSTALL_SCRIPT@
244 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
245 LDFLAGS = @LDFLAGS@
246+LD_AS_NEEDED = @LD_AS_NEEDED@
247 LEX = @LEX@
248 LEXLIB = @LEXLIB@
249 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
250@@ -105,6 +106,7 @@ SHELL = @SHELL@
251 STRIP = @STRIP@
252 USE_NLS = @USE_NLS@
253 VERSION = @VERSION@
254+WEXTRA = @WEXTRA@
255 XGETTEXT = @XGETTEXT@
256 XGETTEXT_015 = @XGETTEXT_015@
257 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
258Index: elfutils-0.155/config.h.in
259===================================================================
260--- elfutils-0.155.orig/config.h.in
261+++ elfutils-0.155/config.h.in
262@@ -6,6 +6,9 @@
263 /* Defined if libdw should support GNU ref_alt FORM, dwz multi files. */
264 #undef ENABLE_DWZ
265
266+/* Have __builtin_popcount. */
267+#undef HAVE_BUILTIN_POPCOUNT
268+
269 /* $libdir subdirectory containing libebl modules. */
270 #undef LIBEBL_SUBDIR
271
272@@ -64,4 +67,7 @@
273 /* Define for large files, on AIX-style hosts. */
274 #undef _LARGE_FILES
275
276+/* Stubbed out if missing compiler support. */
277+#undef __thread
278+
279 #include <eu-config.h>
280Index: elfutils-0.155/configure.ac
281===================================================================
282--- elfutils-0.155.orig/configure.ac
283+++ elfutils-0.155/configure.ac
284@@ -90,6 +90,54 @@ CFLAGS="$old_CFLAGS"])
285 AS_IF([test "x$ac_cv_c99" != xyes],
286 AC_MSG_ERROR([gcc with C99 support required]))
287
288+AC_CACHE_CHECK([for -Wextra option to $CC], ac_cv_cc_wextra, [dnl
289+old_CFLAGS="$CFLAGS"
290+CFLAGS="$CFLAGS -Wextra"
291+AC_COMPILE_IFELSE([AC_LANG_SOURCE([void foo (void) { }])],
292+ ac_cv_cc_wextra=yes, ac_cv_cc_wextra=no)
293+CFLAGS="$old_CFLAGS"])
294+AC_SUBST(WEXTRA)
295+AS_IF([test "x$ac_cv_cc_wextra" = xyes], [WEXTRA=-Wextra], [WEXTRA=-W])
296+
297+AC_CACHE_CHECK([for -fgnu89-inline option to $CC], ac_cv_cc_gnu89_inline, [dnl
298+old_CFLAGS="$CFLAGS"
299+CFLAGS="$CFLAGS -fgnu89-inline -Werror"
300+AC_COMPILE_IFELSE([AC_LANG_SOURCE([
301+void foo (void)
302+{
303+ inline void bar (void) {}
304+ bar ();
305+}
306+extern inline void baz (void) {}
307+])], ac_cv_cc_gnu89_inline=yes, ac_cv_cc_gnu89_inline=no)
308+CFLAGS="$old_CFLAGS"])
309+AS_IF([test "x$ac_cv_cc_gnu89_inline" = xyes],
310+ [WEXTRA="${WEXTRA:+$WEXTRA }-fgnu89-inline"])
311+
312+AC_CACHE_CHECK([for --as-needed linker option],
313+ ac_cv_as_needed, [dnl
314+cat > conftest.c <<EOF
315+int main (void) { return 0; }
316+EOF
317+if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
318+ -fPIC -shared -o conftest.so conftest.c
319+ -Wl,--as-needed 1>&AS_MESSAGE_LOG_FD])
320+then
321+ ac_cv_as_needed=yes
322+else
323+ ac_cv_as_needed=no
324+fi
325+rm -f conftest*])
326+AS_IF([test "x$ac_cv_as_needed" = xyes],
327+ [LD_AS_NEEDED=-Wl,--as-needed], [LD_AS_NEEDED=])
328+AC_SUBST(LD_AS_NEEDED)
329+
330+AC_CACHE_CHECK([for __builtin_popcount], ac_cv_popcount, [dnl
331+AC_LINK_IFELSE([AC_LANG_PROGRAM([], [[exit (__builtin_popcount (127));]])],
332+ ac_cv_popcount=yes, ac_cv_popcount=no)])
333+AS_IF([test "x$ac_cv_popcount" = xyes],
334+ [AC_DEFINE([HAVE_BUILTIN_POPCOUNT], [1], [Have __builtin_popcount.])])
335+
336 AC_CACHE_CHECK([for __thread support], ac_cv_tls, [dnl
337 # Use the same flags that we use for our DSOs, so the test is representative.
338 # Some old compiler/linker/libc combinations fail some ways and not others.
339@@ -105,7 +153,10 @@ static __thread int a; int foo (int b) {
340 CFLAGS="$save_CFLAGS"
341 LDFLAGS="$save_LDFLAGS"])
342 AS_IF([test "x$ac_cv_tls" != xyes],
343- AC_MSG_ERROR([__thread support required]))
344+ [AS_IF([test "$use_locks" = yes],
345+ [AC_MSG_ERROR([--enable-thread-safety requires __thread support])],
346+ [AC_DEFINE([__thread], [/* empty: no multi-thread support */],
347+ [Stubbed out if missing compiler support.])])])
348
349 dnl This test must come as early as possible after the compiler configuration
350 dnl tests, because the choice of the file model can (in principle) affect
351@@ -193,6 +244,11 @@ AM_CONDITIONAL(GCOV, test "$use_gcov" =
352 AM_CONDITIONAL(BUILD_STATIC, [dnl
353 test "$use_mudflap" = yes -o "$use_gprof" = yes -o "$use_gcov" = yes])
354
355+AC_ARG_ENABLE([werror],
356+AS_HELP_STRING([--disable-werror],[do not build with -Werror]),
357+ [enable_werror=$enableval], [enable_werror=yes])
358+AM_CONDITIONAL(BUILD_WERROR, test "$enable_werror" = yes)
359+
360 AC_ARG_ENABLE([tests-rpath],
361 AS_HELP_STRING([--enable-tests-rpath],[build $ORIGIN-using rpath into tests]),
362 [tests_use_rpath=$enableval], [tests_use_rpath=no])
363@@ -304,6 +360,6 @@ case "$eu_version" in
364 esac
365
366 # Round up to the next release API (x.y) version.
367-eu_version=$(( (eu_version + 999) / 1000 ))
368+eu_version=`expr \( $eu_version + 999 \) / 1000`
369
370 AC_OUTPUT
371Index: elfutils-0.155/lib/ChangeLog
372===================================================================
373--- elfutils-0.155.orig/lib/ChangeLog
374+++ elfutils-0.155/lib/ChangeLog
375@@ -35,6 +35,9 @@
376
377 2009-01-23 Roland McGrath <roland@redhat.com>
378
379+ * eu-config.h [! HAVE_BUILTIN_POPCOUNT]
380+ (__builtin_popcount): New inline function.
381+
382 * eu-config.h: Add multiple inclusion protection.
383
384 2009-01-17 Ulrich Drepper <drepper@redhat.com>
385@@ -91,6 +94,11 @@
386 * Makefile.am (libeu_a_SOURCES): Add it.
387 * system.h: Declare crc32_file.
388
389+2005-02-07 Roland McGrath <roland@redhat.com>
390+
391+ * Makefile.am (WEXTRA): New variable, substituted by configure.
392+ (AM_CFLAGS): Use it in place of -Wextra.
393+
394 2005-04-30 Ulrich Drepper <drepper@redhat.com>
395
396 * Makefile.am: Use -ffunction-sections for xmalloc.c.
397Index: elfutils-0.155/lib/eu-config.h
398===================================================================
399--- elfutils-0.155.orig/lib/eu-config.h
400+++ elfutils-0.155/lib/eu-config.h
401@@ -162,6 +162,17 @@ asm (".section predict_data, \"aw\"; .pr
402 /* This macro is used by the tests conditionalize for standalone building. */
403 #define ELFUTILS_HEADER(name) <lib##name.h>
404
405+#ifndef HAVE_BUILTIN_POPCOUNT
406+# define __builtin_popcount hakmem_popcount
407+static inline unsigned int __attribute__ ((unused))
408+hakmem_popcount (unsigned int x)
409+{
410+ /* HAKMEM 169 */
411+ unsigned int n = x - ((x >> 1) & 033333333333) - ((x >> 2) & 011111111111);
412+ return ((n + (n >> 3)) & 030707070707) % 63;
413+}
414+#endif /* HAVE_BUILTIN_POPCOUNT */
415+
416
417 #ifdef SHARED
418 # define OLD_VERSION(name, version) \
419Index: elfutils-0.155/lib/Makefile.in
420===================================================================
421--- elfutils-0.155.orig/lib/Makefile.in
422+++ elfutils-0.155/lib/Makefile.in
423@@ -37,7 +37,8 @@ build_triplet = @build@
424 host_triplet = @host@
425 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
426 $(srcdir)/Makefile.in $(top_srcdir)/config/eu.am ChangeLog
427-@MUDFLAP_TRUE@am__append_1 = -fmudflap
428+@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
429+@MUDFLAP_TRUE@am__append_2 = -fmudflap
430 subdir = lib
431 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
432 am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
433@@ -100,6 +101,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
434 INSTALL_SCRIPT = @INSTALL_SCRIPT@
435 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
436 LDFLAGS = @LDFLAGS@
437+LD_AS_NEEDED = @LD_AS_NEEDED@
438 LEX = @LEX@
439 LEXLIB = @LEXLIB@
440 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
441@@ -129,6 +131,7 @@ SHELL = @SHELL@
442 STRIP = @STRIP@
443 USE_NLS = @USE_NLS@
444 VERSION = @VERSION@
445+WEXTRA = @WEXTRA@
446 XGETTEXT = @XGETTEXT@
447 XGETTEXT_015 = @XGETTEXT_015@
448 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
449@@ -190,10 +193,9 @@ zip_LIBS = @zip_LIBS@
450 INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I.. \
451 -I$(srcdir)/../libelf
452 AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
453- $($(*F)_no_Werror),,-Werror) $(if \
454- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
455+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
456 $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
457- $(am__append_1) -fpic
458+ $(am__append_1) $(am__append_2) -fpic
459 @MUDFLAP_FALSE@libmudflap =
460 @MUDFLAP_TRUE@libmudflap = -lmudflap
461 COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
462Index: elfutils-0.155/libasm/ChangeLog
463===================================================================
464--- elfutils-0.155.orig/libasm/ChangeLog
465+++ elfutils-0.155/libasm/ChangeLog
466@@ -71,6 +71,11 @@
467 * asm_error.c: Add new error ASM_E_IOERROR.
468 * libasmP.h: Add ASM_E_IOERROR definition.
469
470+2005-05-31 Roland McGrath <roland@redhat.com>
471+
472+ * Makefile.am (WEXTRA): New variable, substituted by configure.
473+ (AM_CFLAGS): Use it in place of -Wextra.
474+
475 2005-02-15 Ulrich Drepper <drepper@redhat.com>
476
477 * Makefile.am (AM_CFLAGS): Add -Wunused -Wextra -Wformat=2.
478Index: elfutils-0.155/libasm/Makefile.in
479===================================================================
480--- elfutils-0.155.orig/libasm/Makefile.in
481+++ elfutils-0.155/libasm/Makefile.in
482@@ -39,10 +39,11 @@ host_triplet = @host@
483 DIST_COMMON = $(noinst_HEADERS) $(pkginclude_HEADERS) \
484 $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
485 $(top_srcdir)/config/eu.am ChangeLog
486-@MUDFLAP_TRUE@am__append_1 = -fmudflap
487+@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
488+@MUDFLAP_TRUE@am__append_2 = -fmudflap
489 @MUDFLAP_FALSE@noinst_PROGRAMS = $(am__EXEEXT_1)
490 @MUDFLAP_TRUE@am_libasm_pic_a_OBJECTS =
491-@MUDFLAP_FALSE@@USE_LOCKS_TRUE@am__append_2 = -lpthread
492+@MUDFLAP_FALSE@@USE_LOCKS_TRUE@am__append_3 = -lpthread
493 subdir = libasm
494 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
495 am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
496@@ -153,6 +154,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
497 INSTALL_SCRIPT = @INSTALL_SCRIPT@
498 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
499 LDFLAGS = @LDFLAGS@
500+LD_AS_NEEDED = @LD_AS_NEEDED@
501 LEX = @LEX@
502 LEXLIB = @LEXLIB@
503 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
504@@ -182,6 +184,7 @@ SHELL = @SHELL@
505 STRIP = @STRIP@
506 USE_NLS = @USE_NLS@
507 VERSION = 1
508+WEXTRA = @WEXTRA@
509 XGETTEXT = @XGETTEXT@
510 XGETTEXT_015 = @XGETTEXT_015@
511 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
512@@ -244,10 +247,9 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi
513 -I$(top_srcdir)/libelf -I$(top_srcdir)/libebl \
514 -I$(top_srcdir)/libdw
515 AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
516- $($(*F)_no_Werror),,-Werror) $(if \
517- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
518+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
519 $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
520- $(am__append_1)
521+ $(am__append_1) $(am__append_2)
522 @MUDFLAP_FALSE@libmudflap =
523 @MUDFLAP_TRUE@libmudflap = -lmudflap
524 COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
525@@ -276,7 +278,7 @@ libasm_a_SOURCES = asm_begin.c asm_abort
526
527 @MUDFLAP_FALSE@libasm_pic_a_SOURCES =
528 @MUDFLAP_FALSE@am_libasm_pic_a_OBJECTS = $(libasm_a_SOURCES:.c=.os)
529-@MUDFLAP_FALSE@libasm_so_LDLIBS = $(am__append_2)
530+@MUDFLAP_FALSE@libasm_so_LDLIBS = $(am__append_3)
531 @MUDFLAP_FALSE@libasm_so_SOURCES =
532 noinst_HEADERS = libasmP.h symbolhash.h
533 EXTRA_DIST = libasm.map
534Index: elfutils-0.155/libcpu/ChangeLog
535===================================================================
536--- elfutils-0.155.orig/libcpu/ChangeLog
537+++ elfutils-0.155/libcpu/ChangeLog
538@@ -38,6 +38,9 @@
539
540 2009-01-23 Roland McGrath <roland@redhat.com>
541
542+ * i386_disasm.c (i386_disasm): Add abort after assert-constant for old
543+ compilers that don't realize it's noreturn.
544+
545 * Makefile.am (i386_parse_CFLAGS): Use quotes around command
546 substitution that can produce leading whitespace.
547
548@@ -367,6 +370,11 @@
549 * defs/i386.doc: New file.
550 * defs/x86_64: New file.
551
552+2005-04-04 Roland McGrath <roland@redhat.com>
553+
554+ * Makefile.am (WEXTRA): New variable, substituted by configure.
555+ (AM_CFLAGS): Use it instead of -Wextra.
556+
557 2005-02-15 Ulrich Drepper <drepper@redhat.com>
558
559 * Makefile (AM_CFLAGS): Add -Wunused -Wextra -Wformat=2.
560Index: elfutils-0.155/libcpu/i386_disasm.c
561===================================================================
562--- elfutils-0.155.orig/libcpu/i386_disasm.c
563+++ elfutils-0.155/libcpu/i386_disasm.c
564@@ -822,6 +822,7 @@ i386_disasm (const uint8_t **startp, con
565
566 default:
567 assert (! "INVALID not handled");
568+ abort ();
569 }
570 }
571 else
572Index: elfutils-0.155/libcpu/Makefile.in
573===================================================================
574--- elfutils-0.155.orig/libcpu/Makefile.in
575+++ elfutils-0.155/libcpu/Makefile.in
576@@ -39,7 +39,8 @@ host_triplet = @host@
577 DIST_COMMON = $(am__noinst_HEADERS_DIST) $(srcdir)/Makefile.am \
578 $(srcdir)/Makefile.in $(top_srcdir)/config/eu.am ChangeLog \
579 i386_lex.c i386_parse.c
580-@MUDFLAP_TRUE@am__append_1 = -fmudflap
581+@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
582+@MUDFLAP_TRUE@am__append_2 = -fmudflap
583 @MAINTAINER_MODE_TRUE@noinst_PROGRAMS = i386_gendis$(EXEEXT)
584 subdir = libcpu
585 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
586@@ -117,6 +118,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
587 INSTALL_SCRIPT = @INSTALL_SCRIPT@
588 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
589 LDFLAGS = @LDFLAGS@
590+LD_AS_NEEDED = @LD_AS_NEEDED@
591 LEX = @LEX@
592 LEXLIB = @LEXLIB@
593 LEX_OUTPUT_ROOT = lex.$(<F:lex.l=)
594@@ -146,6 +148,7 @@ SHELL = @SHELL@
595 STRIP = @STRIP@
596 USE_NLS = @USE_NLS@
597 VERSION = @VERSION@
598+WEXTRA = @WEXTRA@
599 XGETTEXT = @XGETTEXT@
600 XGETTEXT_015 = @XGETTEXT_015@
601 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
602@@ -208,10 +211,9 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi
603 -I$(srcdir)/../libelf -I$(srcdir)/../libebl \
604 -I$(srcdir)/../libdw -I$(srcdir)/../libasm
605 AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
606- $($(*F)_no_Werror),,-Werror) $(if \
607- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
608+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
609 $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
610- $(am__append_1) -fpic -fdollars-in-identifiers
611+ $(am__append_1) $(am__append_2) -fpic -fdollars-in-identifiers
612 @MUDFLAP_FALSE@libmudflap =
613 @MUDFLAP_TRUE@libmudflap = -lmudflap
614 COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
615Index: elfutils-0.155/libdw/ChangeLog
616===================================================================
617--- elfutils-0.155.orig/libdw/ChangeLog
618+++ elfutils-0.155/libdw/ChangeLog
619@@ -82,6 +82,10 @@
620
621 * Makefile.am (known-dwarf.h): Run gawk on config/known-dwarf.awk.
622
623+2011-07-20 Mark Wielaard <mjw@redhat.com>
624+
625+ * dwarf_begin_elf.c: Add fallback for be64toh if not defined.
626+
627 2011-07-14 Mark Wielaard <mjw@redhat.com>
628
629 * libdw.h (dwarf_offdie): Fix documentation to mention .debug_info.
630@@ -441,6 +445,10 @@
631
632 * dwarf_hasattr_integrate.c: Integrate DW_AT_specification too.
633
634+2009-08-17 Roland McGrath <roland@redhat.com>
635+
636+ * libdw.h: Disable extern inlines for GCC 4.2.
637+
638 2009-08-10 Roland McGrath <roland@redhat.com>
639
640 * dwarf_getscopevar.c: Use dwarf_diename.
641@@ -1209,6 +1217,11 @@
642
643 2005-05-31 Roland McGrath <roland@redhat.com>
644
645+ * Makefile.am (WEXTRA): New variable, substituted by configure.
646+ (AM_CFLAGS): Use it in place of -Wextra.
647+
648+2005-05-31 Roland McGrath <roland@redhat.com>
649+
650 * dwarf_formref_die.c (dwarf_formref_die): Add CU header offset to
651 formref offset.
652
653Index: elfutils-0.155/libdw/dwarf_begin_elf.c
654===================================================================
655--- elfutils-0.155.orig/libdw/dwarf_begin_elf.c
656+++ elfutils-0.155/libdw/dwarf_begin_elf.c
657@@ -48,6 +48,14 @@
658 #if USE_ZLIB
659 # include <endian.h>
660 # define crc32 loser_crc32
661+# ifndef be64toh
662+# include <byteswap.h>
663+# if __BYTE_ORDER == __LITTLE_ENDIAN
664+# define be64toh(x) bswap_64 (x)
665+# else
666+# define be64toh(x) (x)
667+# endif
668+# endif
669 # include <zlib.h>
670 # undef crc32
671 #endif
672Index: elfutils-0.155/libdw/libdw.h
673===================================================================
674--- elfutils-0.155.orig/libdw/libdw.h
675+++ elfutils-0.155/libdw/libdw.h
676@@ -831,7 +831,7 @@ extern Dwarf_OOM dwarf_new_oom_handler (
677
678
679 /* Inline optimizations. */
680-#ifdef __OPTIMIZE__
681+#if defined __OPTIMIZE__ && !(__GNUC__ == 4 && __GNUC_MINOR__ == 2)
682 /* Return attribute code of given attribute. */
683 __libdw_extern_inline unsigned int
684 dwarf_whatattr (Dwarf_Attribute *attr)
685Index: elfutils-0.155/libdw/Makefile.in
686===================================================================
687--- elfutils-0.155.orig/libdw/Makefile.in
688+++ elfutils-0.155/libdw/Makefile.in
689@@ -39,8 +39,9 @@ host_triplet = @host@
690 DIST_COMMON = $(include_HEADERS) $(noinst_HEADERS) \
691 $(pkginclude_HEADERS) $(srcdir)/Makefile.am \
692 $(srcdir)/Makefile.in $(top_srcdir)/config/eu.am ChangeLog
693-@MUDFLAP_TRUE@am__append_1 = -fmudflap
694-@BUILD_STATIC_TRUE@am__append_2 = -fpic
695+@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
696+@MUDFLAP_TRUE@am__append_2 = -fmudflap
697+@BUILD_STATIC_TRUE@am__append_3 = -fpic
698 @MUDFLAP_FALSE@noinst_PROGRAMS = $(am__EXEEXT_1)
699 @MUDFLAP_TRUE@am_libdw_pic_a_OBJECTS =
700 subdir = libdw
701@@ -198,6 +199,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
702 INSTALL_SCRIPT = @INSTALL_SCRIPT@
703 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
704 LDFLAGS = @LDFLAGS@
705+LD_AS_NEEDED = @LD_AS_NEEDED@
706 LEX = @LEX@
707 LEXLIB = @LEXLIB@
708 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
709@@ -227,6 +229,7 @@ SHELL = @SHELL@
710 STRIP = @STRIP@
711 USE_NLS = @USE_NLS@
712 VERSION = 1
713+WEXTRA = @WEXTRA@
714 XGETTEXT = @XGETTEXT@
715 XGETTEXT_015 = @XGETTEXT_015@
716 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
717@@ -288,10 +291,9 @@ zip_LIBS = @zip_LIBS@
718 INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I.. \
719 -I$(srcdir)/../libelf
720 AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
721- $($(*F)_no_Werror),,-Werror) $(if \
722- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
723+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
724 $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
725- $(am__append_1) $(am__append_2)
726+ $(am__append_1) $(am__append_2) $(am__append_3)
727 @MUDFLAP_FALSE@libmudflap =
728 @MUDFLAP_TRUE@libmudflap = -lmudflap
729 COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
730Index: elfutils-0.155/libdwfl/ChangeLog
731===================================================================
732--- elfutils-0.155.orig/libdwfl/ChangeLog
733+++ elfutils-0.155/libdwfl/ChangeLog
734@@ -1420,6 +1420,11 @@
735
736 2005-07-21 Roland McGrath <roland@redhat.com>
737
738+ * Makefile.am (WEXTRA): New variable, substituted by configure.
739+ (AM_CFLAGS): Use it in place of -Wextra.
740+
741+2005-07-21 Roland McGrath <roland@redhat.com>
742+
743 * Makefile.am (noinst_HEADERS): Add loc2c.c.
744
745 * test2.c (main): Check sscanf result to quiet warning.
746Index: elfutils-0.155/libdwfl/Makefile.in
747===================================================================
748--- elfutils-0.155.orig/libdwfl/Makefile.in
749+++ elfutils-0.155/libdwfl/Makefile.in
750@@ -38,11 +38,12 @@ host_triplet = @host@
751 DIST_COMMON = $(noinst_HEADERS) $(pkginclude_HEADERS) \
752 $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
753 $(top_srcdir)/config/eu.am ChangeLog
754-@MUDFLAP_TRUE@am__append_1 = -fmudflap
755-@MUDFLAP_FALSE@am__append_2 = libdwfl_pic.a
756-@ZLIB_TRUE@am__append_3 = gzip.c
757-@BZLIB_TRUE@am__append_4 = bzip2.c
758-@LZMA_TRUE@am__append_5 = lzma.c
759+@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
760+@MUDFLAP_TRUE@am__append_2 = -fmudflap
761+@MUDFLAP_FALSE@am__append_3 = libdwfl_pic.a
762+@ZLIB_TRUE@am__append_4 = gzip.c
763+@BZLIB_TRUE@am__append_5 = bzip2.c
764+@LZMA_TRUE@am__append_6 = lzma.c
765 @MUDFLAP_TRUE@am_libdwfl_pic_a_OBJECTS =
766 subdir = libdwfl
767 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
768@@ -188,6 +189,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
769 INSTALL_SCRIPT = @INSTALL_SCRIPT@
770 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
771 LDFLAGS = @LDFLAGS@
772+LD_AS_NEEDED = @LD_AS_NEEDED@
773 LEX = @LEX@
774 LEXLIB = @LEXLIB@
775 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
776@@ -217,6 +219,7 @@ SHELL = @SHELL@
777 STRIP = @STRIP@
778 USE_NLS = @USE_NLS@
779 VERSION = 1
780+WEXTRA = @WEXTRA@
781 XGETTEXT = @XGETTEXT@
782 XGETTEXT_015 = @XGETTEXT_015@
783 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
784@@ -279,10 +282,9 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi
785 -I$(srcdir)/../libelf -I$(srcdir)/../libebl \
786 -I$(srcdir)/../libdw
787 AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
788- $($(*F)_no_Werror),,-Werror) $(if \
789- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
790+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
791 $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
792- $(am__append_1)
793+ $(am__append_1) $(am__append_2)
794 @MUDFLAP_FALSE@libmudflap =
795 @MUDFLAP_TRUE@libmudflap = -lmudflap
796 COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
797@@ -290,7 +292,7 @@ COMPILE.os = $(filter-out -fprofile-arcs
798
799 CLEANFILES = *.gcno *.gcda $(am_libdwfl_pic_a_OBJECTS)
800 textrel_check = if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
801-noinst_LIBRARIES = libdwfl.a $(am__append_2)
802+noinst_LIBRARIES = libdwfl.a $(am__append_3)
803 pkginclude_HEADERS = libdwfl.h
804 libdwfl_a_SOURCES = dwfl_begin.c dwfl_end.c dwfl_error.c \
805 dwfl_version.c dwfl_module.c dwfl_report_elf.c relocate.c \
806@@ -311,8 +313,8 @@ libdwfl_a_SOURCES = dwfl_begin.c dwfl_en
807 dwfl_module_getsym.c dwfl_module_addrname.c \
808 dwfl_module_addrsym.c dwfl_module_return_value_location.c \
809 dwfl_module_register_names.c dwfl_segment_report_module.c \
810- link_map.c core-file.c open.c image-header.c $(am__append_3) \
811- $(am__append_4) $(am__append_5)
812+ link_map.c core-file.c open.c image-header.c $(am__append_4) \
813+ $(am__append_5) $(am__append_6)
814 @MUDFLAP_FALSE@libdwfl = $(libdw)
815 @MUDFLAP_TRUE@libdwfl = libdwfl.a $(libdw) $(libebl) $(libelf) $(libeu)
816 @MUDFLAP_FALSE@libdw = ../libdw/libdw.so
817Index: elfutils-0.155/libebl/ChangeLog
818===================================================================
819--- elfutils-0.155.orig/libebl/ChangeLog
820+++ elfutils-0.155/libebl/ChangeLog
821@@ -658,6 +658,11 @@
822 * Makefile.am (libebl_*_so_SOURCES): Set to $(*_SRCS) so dependency
823 tracking works right.
824
825+2005-05-31 Roland McGrath <roland@redhat.com>
826+
827+ * Makefile.am (WEXTRA): New variable, substituted by configure.
828+ (AM_CFLAGS): Use it in place of -Wextra.
829+
830 2005-05-21 Ulrich Drepper <drepper@redhat.com>
831
832 * libebl_x86_64.map: Add x86_64_core_note.
833Index: elfutils-0.155/libebl/Makefile.in
834===================================================================
835--- elfutils-0.155.orig/libebl/Makefile.in
836+++ elfutils-0.155/libebl/Makefile.in
837@@ -38,7 +38,8 @@ host_triplet = @host@
838 DIST_COMMON = $(noinst_HEADERS) $(pkginclude_HEADERS) \
839 $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
840 $(top_srcdir)/config/eu.am ChangeLog
841-@MUDFLAP_TRUE@am__append_1 = -fmudflap
842+@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
843+@MUDFLAP_TRUE@am__append_2 = -fmudflap
844 subdir = libebl
845 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
846 am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
847@@ -150,6 +151,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
848 INSTALL_SCRIPT = @INSTALL_SCRIPT@
849 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
850 LDFLAGS = @LDFLAGS@
851+LD_AS_NEEDED = @LD_AS_NEEDED@
852 LEX = @LEX@
853 LEXLIB = @LEXLIB@
854 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
855@@ -179,6 +181,7 @@ SHELL = @SHELL@
856 STRIP = @STRIP@
857 USE_NLS = @USE_NLS@
858 VERSION = 1
859+WEXTRA = @WEXTRA@
860 XGETTEXT = @XGETTEXT@
861 XGETTEXT_015 = @XGETTEXT_015@
862 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
863@@ -241,10 +244,9 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi
864 -I$(srcdir)/../libelf -I$(srcdir)/../libdw \
865 -I$(srcdir)/../libasm
866 AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
867- $($(*F)_no_Werror),,-Werror) $(if \
868- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
869+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
870 $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
871- $(am__append_1) -fpic
872+ $(am__append_1) $(am__append_2) -fpic
873 @MUDFLAP_FALSE@libmudflap =
874 @MUDFLAP_TRUE@libmudflap = -lmudflap
875 COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
876Index: elfutils-0.155/libelf/ChangeLog
877===================================================================
878--- elfutils-0.155.orig/libelf/ChangeLog
879+++ elfutils-0.155/libelf/ChangeLog
880@@ -34,6 +34,11 @@
881
882 * elf-knowledge.h (SECTION_STRIP_P): Remove < SHT_NUM check.
883
884+2011-03-10 Roland McGrath <roland@redhat.com>
885+
886+ * gnuhash_xlate.h (elf_cvt_gnuhash): Avoid post-increment in bswap_32
887+ argument, since some implementations are buggy macros.
888+
889 2011-02-26 Mark Wielaard <mjw@redhat.com>
890
891 * elf_end.c (elf_end): Call rwlock_unlock before rwlock_fini.
892@@ -711,6 +716,11 @@
893
894 * elf.h: Update from glibc.
895
896+2005-05-31 Roland McGrath <roland@redhat.com>
897+
898+ * Makefile.am (WEXTRA): New variable, substituted by configure.
899+ (AM_CFLAGS): Use it in place of -Wextra.
900+
901 2005-05-08 Roland McGrath <roland@redhat.com>
902
903 * elf_begin.c (read_file) [_MUDFLAP]: Don't use mmap for now.
904Index: elfutils-0.155/libelf/common.h
905===================================================================
906--- elfutils-0.155.orig/libelf/common.h
907+++ elfutils-0.155/libelf/common.h
908@@ -139,7 +139,7 @@ libelf_release_all (Elf *elf)
909 (Var) = (sizeof (Var) == 1 \
910 ? (unsigned char) (Var) \
911 : (sizeof (Var) == 2 \
912- ? bswap_16 (Var) \
913+ ? (unsigned short int) bswap_16 (Var) \
914 : (sizeof (Var) == 4 \
915 ? bswap_32 (Var) \
916 : bswap_64 (Var))))
917@@ -148,7 +148,7 @@ libelf_release_all (Elf *elf)
918 (Dst) = (sizeof (Var) == 1 \
919 ? (unsigned char) (Var) \
920 : (sizeof (Var) == 2 \
921- ? bswap_16 (Var) \
922+ ? (unsigned short int) bswap_16 (Var) \
923 : (sizeof (Var) == 4 \
924 ? bswap_32 (Var) \
925 : bswap_64 (Var))))
926Index: elfutils-0.155/libelf/gnuhash_xlate.h
927===================================================================
928--- elfutils-0.155.orig/libelf/gnuhash_xlate.h
929+++ elfutils-0.155/libelf/gnuhash_xlate.h
930@@ -1,5 +1,5 @@
931 /* Conversion functions for versioning information.
932- Copyright (C) 2006, 2007 Red Hat, Inc.
933+ Copyright (C) 2006-2011 Red Hat, Inc.
934 This file is part of elfutils.
935 Written by Ulrich Drepper <drepper@redhat.com>, 2006.
936
937@@ -68,7 +68,9 @@ elf_cvt_gnuhash (void *dest, const void
938 dest32 = (Elf32_Word *) &dest64[bitmask_words];
939 while (len >= 4)
940 {
941- *dest32++ = bswap_32 (*src32++);
942+ *dest32 = bswap_32 (*src32);
943+ ++dest32;
944+ ++src32;
945 len -= 4;
946 }
947 }
948Index: elfutils-0.155/libelf/Makefile.in
949===================================================================
950--- elfutils-0.155.orig/libelf/Makefile.in
951+++ elfutils-0.155/libelf/Makefile.in
952@@ -39,11 +39,12 @@ host_triplet = @host@
953 DIST_COMMON = $(include_HEADERS) $(noinst_HEADERS) \
954 $(pkginclude_HEADERS) $(srcdir)/Makefile.am \
955 $(srcdir)/Makefile.in $(top_srcdir)/config/eu.am ChangeLog
956-@MUDFLAP_TRUE@am__append_1 = -fmudflap
957-@BUILD_STATIC_TRUE@am__append_2 = -fpic
958+@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
959+@MUDFLAP_TRUE@am__append_2 = -fmudflap
960+@BUILD_STATIC_TRUE@am__append_3 = -fpic
961 @MUDFLAP_FALSE@noinst_PROGRAMS = $(am__EXEEXT_1)
962 @MUDFLAP_TRUE@am_libelf_pic_a_OBJECTS =
963-@MUDFLAP_FALSE@@USE_LOCKS_TRUE@am__append_3 = -lpthread
964+@MUDFLAP_FALSE@@USE_LOCKS_TRUE@am__append_4 = -lpthread
965 subdir = libelf
966 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
967 am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
968@@ -195,6 +196,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
969 INSTALL_SCRIPT = @INSTALL_SCRIPT@
970 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
971 LDFLAGS = @LDFLAGS@
972+LD_AS_NEEDED = @LD_AS_NEEDED@
973 LEX = @LEX@
974 LEXLIB = @LEXLIB@
975 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
976@@ -224,6 +226,7 @@ SHELL = @SHELL@
977 STRIP = @STRIP@
978 USE_NLS = @USE_NLS@
979 VERSION = 1
980+WEXTRA = @WEXTRA@
981 XGETTEXT = @XGETTEXT@
982 XGETTEXT_015 = @XGETTEXT_015@
983 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
984@@ -284,10 +287,9 @@ top_srcdir = @top_srcdir@
985 zip_LIBS = @zip_LIBS@
986 INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I..
987 AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
988- $($(*F)_no_Werror),,-Werror) $(if \
989- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
990+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
991 $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
992- $(am__append_1) $(am__append_2)
993+ $(am__append_1) $(am__append_2) $(am__append_3)
994 @MUDFLAP_FALSE@libmudflap =
995 @MUDFLAP_TRUE@libmudflap = -lmudflap
996 COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
997@@ -352,7 +354,7 @@ libelf_a_SOURCES = elf_version.c elf_has
998
999 @MUDFLAP_FALSE@libelf_pic_a_SOURCES =
1000 @MUDFLAP_FALSE@am_libelf_pic_a_OBJECTS = $(libelf_a_SOURCES:.c=.os)
1001-@MUDFLAP_FALSE@libelf_so_LDLIBS = $(am__append_3)
1002+@MUDFLAP_FALSE@libelf_so_LDLIBS = $(am__append_4)
1003 @MUDFLAP_FALSE@libelf_so_SOURCES =
1004 noinst_HEADERS = elf.h abstract.h common.h exttypes.h gelf_xlate.h libelfP.h \
1005 version_xlate.h gnuhash_xlate.h note_xlate.h dl-hash.h
1006Index: elfutils-0.155/m4/Makefile.in
1007===================================================================
1008--- elfutils-0.155.orig/m4/Makefile.in
1009+++ elfutils-0.155/m4/Makefile.in
1010@@ -75,6 +75,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
1011 INSTALL_SCRIPT = @INSTALL_SCRIPT@
1012 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
1013 LDFLAGS = @LDFLAGS@
1014+LD_AS_NEEDED = @LD_AS_NEEDED@
1015 LEX = @LEX@
1016 LEXLIB = @LEXLIB@
1017 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
1018@@ -104,6 +105,7 @@ SHELL = @SHELL@
1019 STRIP = @STRIP@
1020 USE_NLS = @USE_NLS@
1021 VERSION = @VERSION@
1022+WEXTRA = @WEXTRA@
1023 XGETTEXT = @XGETTEXT@
1024 XGETTEXT_015 = @XGETTEXT_015@
1025 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
1026Index: elfutils-0.155/Makefile.in
1027===================================================================
1028--- elfutils-0.155.orig/Makefile.in
1029+++ elfutils-0.155/Makefile.in
1030@@ -165,6 +165,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
1031 INSTALL_SCRIPT = @INSTALL_SCRIPT@
1032 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
1033 LDFLAGS = @LDFLAGS@
1034+LD_AS_NEEDED = @LD_AS_NEEDED@
1035 LEX = @LEX@
1036 LEXLIB = @LEXLIB@
1037 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
1038@@ -194,6 +195,7 @@ SHELL = @SHELL@
1039 STRIP = @STRIP@
1040 USE_NLS = @USE_NLS@
1041 VERSION = @VERSION@
1042+WEXTRA = @WEXTRA@
1043 XGETTEXT = @XGETTEXT@
1044 XGETTEXT_015 = @XGETTEXT_015@
1045 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
1046Index: elfutils-0.155/src/addr2line.c
1047===================================================================
1048--- elfutils-0.155.orig/src/addr2line.c
1049+++ elfutils-0.155/src/addr2line.c
1050@@ -447,10 +447,10 @@ handle_address (const char *string, Dwfl
1051 bool parsed = false;
1052 int i, j;
1053 char *name = NULL;
1054- if (sscanf (string, "(%m[^)])%" PRIiMAX "%n", &name, &addr, &i) == 2
1055+ if (sscanf (string, "(%a[^)])%" PRIiMAX "%n", &name, &addr, &i) == 2
1056 && string[i] == '\0')
1057 parsed = adjust_to_section (name, &addr, dwfl);
1058- switch (sscanf (string, "%m[^-+]%n%" PRIiMAX "%n", &name, &i, &addr, &j))
1059+ switch (sscanf (string, "%a[^-+]%n%" PRIiMAX "%n", &name, &i, &addr, &j))
1060 {
1061 default:
1062 break;
1063Index: elfutils-0.155/src/ChangeLog
1064===================================================================
1065--- elfutils-0.155.orig/src/ChangeLog
1066+++ elfutils-0.155/src/ChangeLog
1067@@ -606,8 +606,16 @@
1068 * readelf.c (attr_callback): Use print_block only when we don't use
1069 print_ops.
1070
1071+2009-08-17 Roland McGrath <roland@redhat.com>
1072+
1073+ * ld.h: Disable extern inlines for GCC 4.2.
1074+
1075 2009-08-14 Roland McGrath <roland@redhat.com>
1076
1077+ * strings.c (read_block): Conditionalize posix_fadvise use
1078+ on [POSIX_FADV_SEQUENTIAL].
1079+ From Petr Salinger <Petr.Salinger@seznam.cz>.
1080+
1081 * ar.c (do_oper_extract): Use pathconf instead of statfs.
1082
1083 2009-08-01 Ulrich Drepper <drepper@redhat.com>
1084@@ -771,6 +779,8 @@
1085 * readelf.c (print_debug_frame_section): Use t instead of j formats
1086 for ptrdiff_t OFFSET.
1087
1088+ * addr2line.c (handle_address): Use %a instead of %m for compatibility.
1089+
1090 2009-01-21 Ulrich Drepper <drepper@redhat.com>
1091
1092 * elflint.c (check_program_header): Fix typo in .eh_frame_hdr section
1093@@ -954,6 +964,11 @@
1094 that matches its PT_LOAD's p_flags &~ PF_W. On sparc, PF_X really
1095 is valid in RELRO.
1096
1097+2008-03-01 Roland McGrath <roland@redhat.com>
1098+
1099+ * readelf.c (dump_archive_index): Tweak portability hack
1100+ to match [__GNUC__ < 4] too.
1101+
1102 2008-02-29 Roland McGrath <roland@redhat.com>
1103
1104 * readelf.c (print_attributes): Add a cast.
1105@@ -1205,6 +1220,8 @@
1106
1107 * readelf.c (hex_dump): Fix rounding error in whitespace calculation.
1108
1109+ * Makefile.am (readelf_no_Werror): New variable.
1110+
1111 2007-10-15 Roland McGrath <roland@redhat.com>
1112
1113 * make-debug-archive.in: New file.
1114@@ -1644,6 +1661,10 @@
1115 * elflint.c (valid_e_machine): Add EM_ALPHA.
1116 Reported by Christian Aichinger <Greek0@gmx.net>.
1117
1118+ * strings.c (map_file): Define POSIX_MADV_SEQUENTIAL to
1119+ MADV_SEQUENTIAL if undefined. Don't call posix_madvise
1120+ if neither is defined.
1121+
1122 2006-08-08 Ulrich Drepper <drepper@redhat.com>
1123
1124 * elflint.c (check_dynamic): Don't require DT_HASH for DT_SYMTAB.
1125@@ -1720,6 +1741,10 @@
1126 * Makefile.am: Add hacks to create dependency files for non-generic
1127 linker.
1128
1129+2006-04-05 Roland McGrath <roland@redhat.com>
1130+
1131+ * strings.c (MAP_POPULATE): Define to 0 if undefined.
1132+
1133 2006-06-12 Ulrich Drepper <drepper@redhat.com>
1134
1135 * ldgeneric.c (ld_generic_generate_sections): Don't create .interp
1136@@ -2068,6 +2093,11 @@
1137 * readelf.c (print_debug_loc_section): Fix indentation for larger
1138 address size.
1139
1140+2005-05-31 Roland McGrath <roland@redhat.com>
1141+
1142+ * Makefile.am (WEXTRA): New variable, substituted by configure.
1143+ (AM_CFLAGS): Use it in place of -Wextra.
1144+
1145 2005-05-30 Roland McGrath <roland@redhat.com>
1146
1147 * readelf.c (print_debug_line_section): Print section offset of each
1148Index: elfutils-0.155/src/findtextrel.c
1149===================================================================
1150--- elfutils-0.155.orig/src/findtextrel.c
1151+++ elfutils-0.155/src/findtextrel.c
1152@@ -496,7 +496,11 @@ ptrcompare (const void *p1, const void *
1153
1154
1155 static void
1156-check_rel (size_t nsegments, struct segments segments[nsegments],
1157+check_rel (size_t nsegments, struct segments segments[
1158+#if __GNUC__ >= 4
1159+ nsegments
1160+#endif
1161+ ],
1162 GElf_Addr addr, Elf *elf, Elf_Scn *symscn, Dwarf *dw,
1163 const char *fname, bool more_than_one, void **knownsrcs)
1164 {
1165Index: elfutils-0.155/src/ld.h
1166===================================================================
1167--- elfutils-0.155.orig/src/ld.h
1168+++ elfutils-0.155/src/ld.h
1169@@ -1114,6 +1114,7 @@ extern bool dynamically_linked_p (void);
1170
1171 /* Checked whether the symbol is undefined and referenced from a DSO. */
1172 extern bool linked_from_dso_p (struct scninfo *scninfo, size_t symidx);
1173+#if defined __OPTIMIZE__ && !(__GNUC__ == 4 && __GNUC_MINOR__ == 2)
1174 #ifdef __GNUC_STDC_INLINE__
1175 __attribute__ ((__gnu_inline__))
1176 #endif
1177@@ -1131,5 +1132,6 @@ linked_from_dso_p (struct scninfo *scnin
1178
1179 return sym->defined && sym->in_dso;
1180 }
1181+#endif /* Optimizing and not GCC 4.2. */
1182
1183 #endif /* ld.h */
1184Index: elfutils-0.155/src/Makefile.am
1185===================================================================
1186--- elfutils-0.155.orig/src/Makefile.am
1187+++ elfutils-0.155/src/Makefile.am
1188@@ -95,6 +95,9 @@ addr2line_no_Wformat = yes
1189 # XXX While the file is not finished, don't warn about this
1190 ldgeneric_no_Wunused = yes
1191
1192+# Buggy old compilers.
1193+readelf_no_Werror = yes
1194+
1195 readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
1196 nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl \
1197 $(demanglelib)
1198Index: elfutils-0.155/src/Makefile.in
1199===================================================================
1200--- elfutils-0.155.orig/src/Makefile.in
1201+++ elfutils-0.155/src/Makefile.in
1202@@ -40,7 +40,8 @@ host_triplet = @host@
1203 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
1204 $(srcdir)/Makefile.in $(top_srcdir)/config/eu.am ChangeLog \
1205 ldlex.c ldscript.c
1206-@MUDFLAP_TRUE@am__append_1 = -fmudflap
1207+@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
1208+@MUDFLAP_TRUE@am__append_2 = -fmudflap
1209 bin_PROGRAMS = readelf$(EXEEXT) nm$(EXEEXT) size$(EXEEXT) \
1210 strip$(EXEEXT) ld$(EXEEXT) elflint$(EXEEXT) \
1211 findtextrel$(EXEEXT) addr2line$(EXEEXT) elfcmp$(EXEEXT) \
1212@@ -49,9 +50,9 @@ bin_PROGRAMS = readelf$(EXEEXT) nm$(EXEE
1213 @NATIVE_LD_FALSE@noinst_PROGRAMS = $(am__EXEEXT_1)
1214 # We never build this library but we need to get the dependency files
1215 # of all the linker backends that might be used in a non-generic linker.
1216-@NEVER_TRUE@am__append_2 = libdummy.a
1217+@NEVER_TRUE@am__append_3 = libdummy.a
1218 # -ldl is always needed for libebl.
1219-@NATIVE_LD_TRUE@am__append_3 = libld_elf.a
1220+@NATIVE_LD_TRUE@am__append_4 = libld_elf.a
1221 @NATIVE_LD_TRUE@am_libld_elf_i386_pic_a_OBJECTS =
1222 subdir = src
1223 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
1224@@ -115,7 +116,7 @@ am_ld_OBJECTS = ld.$(OBJEXT) ldgeneric.$
1225 versionhash.$(OBJEXT)
1226 ld_OBJECTS = $(am_ld_OBJECTS)
1227 ld_DEPENDENCIES = $(libebl) $(libelf) $(libeu) $(am__DEPENDENCIES_1) \
1228- $(am__append_3)
1229+ $(am__append_4)
1230 ld_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(ld_LDFLAGS) $(LDFLAGS) -o \
1231 $@
1232 am_libld_elf_i386_so_OBJECTS =
1233@@ -235,6 +236,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
1234 INSTALL_SCRIPT = @INSTALL_SCRIPT@
1235 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
1236 LDFLAGS = @LDFLAGS@
1237+LD_AS_NEEDED = @LD_AS_NEEDED@
1238 LEX = @LEX@
1239 LEXLIB = @LEXLIB@
1240 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
1241@@ -264,6 +266,7 @@ SHELL = @SHELL@
1242 STRIP = @STRIP@
1243 USE_NLS = @USE_NLS@
1244 VERSION = @VERSION@
1245+WEXTRA = @WEXTRA@
1246 XGETTEXT = @XGETTEXT@
1247 XGETTEXT_015 = @XGETTEXT_015@
1248 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
1249@@ -327,10 +330,9 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi
1250 -I$(srcdir)/../libdw -I$(srcdir)/../libdwfl \
1251 -I$(srcdir)/../libasm
1252 AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
1253- $($(*F)_no_Werror),,-Werror) $(if \
1254- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
1255+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
1256 $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
1257- $(am__append_1)
1258+ $(am__append_1) $(am__append_2)
1259 @MUDFLAP_FALSE@libmudflap =
1260 @MUDFLAP_TRUE@libmudflap = -lmudflap
1261 COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
1262@@ -346,8 +348,8 @@ AM_LFLAGS = -Pld -olex.yy.c
1263 native_ld = @native_ld@
1264 ld_dsos = libld_elf_i386_pic.a
1265 @NATIVE_LD_FALSE@noinst_LIBRARIES = libld_elf.a libar.a $(ld_dsos) \
1266-@NATIVE_LD_FALSE@ $(am__append_2)
1267-@NATIVE_LD_TRUE@noinst_LIBRARIES = libld_elf.a libar.a $(am__append_2)
1268+@NATIVE_LD_FALSE@ $(am__append_3)
1269+@NATIVE_LD_TRUE@noinst_LIBRARIES = libld_elf.a libar.a $(am__append_3)
1270 @NATIVE_LD_TRUE@native_ld_cflags = -DBASE_ELF_NAME=elf_$(base_cpu)
1271 @NEVER_TRUE@libdummy_a_SOURCES = i386_ld.c
1272 ld_SOURCES = ld.c ldgeneric.c ldlex.l ldscript.y symbolhash.c sectionhash.c \
1273@@ -376,6 +378,9 @@ strings_no_Wformat = yes
1274 addr2line_no_Wformat = yes
1275 # XXX While the file is not finished, don't warn about this
1276 ldgeneric_no_Wunused = yes
1277+
1278+# Buggy old compilers.
1279+readelf_no_Werror = yes
1280 readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
1281 nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl \
1282 $(demanglelib)
1283@@ -383,7 +388,7 @@ nm_LDADD = $(libdw) $(libebl) $(libelf)
1284 size_LDADD = $(libelf) $(libeu) $(libmudflap)
1285 strip_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
1286 ld_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl \
1287- $(am__append_3)
1288+ $(am__append_4)
1289 ld_LDFLAGS = -rdynamic
1290 elflint_LDADD = $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
1291 findtextrel_LDADD = $(libdw) $(libelf) $(libmudflap)
1292Index: elfutils-0.155/src/readelf.c
1293===================================================================
1294--- elfutils-0.155.orig/src/readelf.c
1295+++ elfutils-0.155/src/readelf.c
1296@@ -3949,10 +3949,11 @@ struct listptr
1297 #define listptr_offset_size(p) ((p)->dwarf64 ? 8 : 4)
1298 #define listptr_address_size(p) ((p)->addr64 ? 8 : 4)
1299
1300+static const char *listptr_name;
1301 static int
1302-compare_listptr (const void *a, const void *b, void *arg)
1303+compare_listptr (const void *a, const void *b)
1304 {
1305- const char *name = arg;
1306+ const char *const name = listptr_name;
1307 struct listptr *p1 = (void *) a;
1308 struct listptr *p2 = (void *) b;
1309
1310@@ -4033,8 +4034,11 @@ static void
1311 sort_listptr (struct listptr_table *table, const char *name)
1312 {
1313 if (table->n > 0)
1314- qsort_r (table->table, table->n, sizeof table->table[0],
1315- &compare_listptr, (void *) name);
1316+ {
1317+ listptr_name = name;
1318+ qsort (table->table, table->n, sizeof table->table[0],
1319+ &compare_listptr);
1320+ }
1321 }
1322
1323 static bool
1324@@ -8442,7 +8446,7 @@ dump_archive_index (Elf *elf, const char
1325 if (unlikely (elf_rand (elf, as_off) == 0)
1326 || unlikely ((subelf = elf_begin (-1, ELF_C_READ_MMAP, elf))
1327 == NULL))
1328-#if __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 7)
1329+#if __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 7) || __GNUC__ < 4
1330 while (1)
1331 #endif
1332 error (EXIT_FAILURE, 0,
1333Index: elfutils-0.155/src/strings.c
1334===================================================================
1335--- elfutils-0.155.orig/src/strings.c
1336+++ elfutils-0.155/src/strings.c
1337@@ -43,6 +43,10 @@
1338
1339 #include <system.h>
1340
1341+#ifndef MAP_POPULATE
1342+# define MAP_POPULATE 0
1343+#endif
1344+
1345
1346 /* Prototypes of local functions. */
1347 static int read_fd (int fd, const char *fname, off64_t fdlen);
1348@@ -483,8 +487,13 @@ map_file (int fd, off64_t start_off, off
1349 fd, start_off);
1350 if (mem != MAP_FAILED)
1351 {
1352+#if !defined POSIX_MADV_SEQUENTIAL && defined MADV_SEQUENTIAL
1353+# define POSIX_MADV_SEQUENTIAL MADV_SEQUENTIAL
1354+#endif
1355+#ifdef POSIX_MADV_SEQUENTIAL
1356 /* We will go through the mapping sequentially. */
1357 (void) posix_madvise (mem, map_size, POSIX_MADV_SEQUENTIAL);
1358+#endif
1359 break;
1360 }
1361 if (errno != EINVAL && errno != ENOMEM)
1362@@ -576,9 +585,11 @@ read_block (int fd, const char *fname, o
1363 elfmap_off = from & ~(ps - 1);
1364 elfmap_base = elfmap = map_file (fd, elfmap_off, fdlen, &elfmap_size);
1365
1366+#ifdef POSIX_FADV_SEQUENTIAL
1367 if (unlikely (elfmap == MAP_FAILED))
1368 /* Let the kernel know we are going to read everything in sequence. */
1369 (void) posix_fadvise (fd, 0, 0, POSIX_FADV_SEQUENTIAL);
1370+#endif
1371 }
1372
1373 if (unlikely (elfmap == MAP_FAILED))
1374Index: elfutils-0.155/src/strip.c
1375===================================================================
1376--- elfutils-0.155.orig/src/strip.c
1377+++ elfutils-0.155/src/strip.c
1378@@ -45,6 +45,12 @@
1379 #include <libebl.h>
1380 #include <system.h>
1381
1382+#ifdef HAVE_FUTIMES
1383+# define FUTIMES(fd, fname, tvp) futimes (fd, tvp)
1384+#else
1385+# define FUTIMES(fd, fname, tvp) utimes (fname, tvp)
1386+#endif
1387+
1388 typedef uint8_t GElf_Byte;
1389
1390 /* Name and version of program. */
1391@@ -318,8 +324,18 @@ process_file (const char *fname)
1392
1393 /* If we have to preserve the timestamp, we need it in the
1394 format utimes() understands. */
1395+#ifdef HAVE_STRUCT_STAT_ST_ATIM
1396 TIMESPEC_TO_TIMEVAL (&tv[0], &pre_st.st_atim);
1397+#else
1398+ tv[0].tv_sec = pre_st.st_atime;
1399+ tv[0].tv_usec = 0;
1400+#endif
1401+#ifdef HAVE_STRUCT_STAT_ST_MTIM
1402 TIMESPEC_TO_TIMEVAL (&tv[1], &pre_st.st_mtim);
1403+#else
1404+ tv[1].tv_sec = pre_st.st_atime;
1405+ tv[1].tv_usec = 0;
1406+#endif
1407 }
1408
1409 /* Open the file. */
1410@@ -2055,7 +2071,7 @@ while computing checksum for debug infor
1411 /* If requested, preserve the timestamp. */
1412 if (tvp != NULL)
1413 {
1414- if (futimes (fd, tvp) != 0)
1415+ if (FUTIMES (fd, output_fname, tvp) != 0)
1416 {
1417 error (0, errno, gettext ("\
1418 cannot set access and modification date of '%s'"),
1419@@ -2112,7 +2128,7 @@ handle_ar (int fd, Elf *elf, const char
1420
1421 if (tvp != NULL)
1422 {
1423- if (unlikely (futimes (fd, tvp) != 0))
1424+ if (unlikely (FUTIMES (fd, fname, tvp) != 0))
1425 {
1426 error (0, errno, gettext ("\
1427 cannot set access and modification date of '%s'"), fname);
1428Index: elfutils-0.155/tests/ChangeLog
1429===================================================================
1430--- elfutils-0.155.orig/tests/ChangeLog
1431+++ elfutils-0.155/tests/ChangeLog
1432@@ -439,6 +439,8 @@
1433
1434 2008-01-21 Roland McGrath <roland@redhat.com>
1435
1436+ * line2addr.c (main): Revert last change.
1437+
1438 * testfile45.S.bz2: Add tests for cltq, cqto.
1439 * testfile45.expect.bz2: Adjust.
1440
1441@@ -1147,6 +1149,11 @@
1442 * Makefile.am (TESTS): Add run-elflint-test.sh.
1443 (EXTRA_DIST): Add run-elflint-test.sh and testfile18.bz2.
1444
1445+2005-05-31 Roland McGrath <roland@redhat.com>
1446+
1447+ * Makefile.am (WEXTRA): New variable, substituted by configure.
1448+ (AM_CFLAGS): Use it in place of -Wextra.
1449+
1450 2005-05-24 Ulrich Drepper <drepper@redhat.com>
1451
1452 * get-files.c (main): Use correct format specifier.
1453Index: elfutils-0.155/tests/line2addr.c
1454===================================================================
1455--- elfutils-0.155.orig/tests/line2addr.c
1456+++ elfutils-0.155/tests/line2addr.c
1457@@ -124,7 +124,7 @@ main (int argc, char *argv[])
1458 {
1459 struct args a = { .arg = argv[cnt] };
1460
1461- switch (sscanf (a.arg, "%m[^:]:%d", &a.file, &a.line))
1462+ switch (sscanf (a.arg, "%a[^:]:%d", &a.file, &a.line))
1463 {
1464 default:
1465 case 0:
1466Index: elfutils-0.155/tests/Makefile.in
1467===================================================================
1468--- elfutils-0.155.orig/tests/Makefile.in
1469+++ elfutils-0.155/tests/Makefile.in
1470@@ -35,14 +35,15 @@ build_triplet = @build@
1471 host_triplet = @host@
1472 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
1473 $(top_srcdir)/config/eu.am ChangeLog
1474-@MUDFLAP_TRUE@am__append_1 = -fmudflap
1475-@STANDALONE_FALSE@am__append_2 = -I$(top_srcdir)/libasm -I$(top_srcdir)/libdw \
1476+@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
1477+@MUDFLAP_TRUE@am__append_2 = -fmudflap
1478+@STANDALONE_FALSE@am__append_3 = -I$(top_srcdir)/libasm -I$(top_srcdir)/libdw \
1479 @STANDALONE_FALSE@ -I$(top_srcdir)/libdwfl \
1480 @STANDALONE_FALSE@ -I$(top_srcdir)/libebl -I$(top_srcdir)/libelf \
1481 @STANDALONE_FALSE@ -I$(top_srcdir)/lib -I..
1482
1483-@STANDALONE_FALSE@am__append_3 = -Wl,-rpath-link,../libasm:../libdw:../libelf
1484-@TESTS_RPATH_TRUE@am__append_4 = -Wl,-rpath,$(BUILD_RPATH)
1485+@STANDALONE_FALSE@am__append_4 = -Wl,-rpath-link,../libasm:../libdw:../libelf
1486+@TESTS_RPATH_TRUE@am__append_5 = -Wl,-rpath,$(BUILD_RPATH)
1487 check_PROGRAMS = arextract$(EXEEXT) arsymtest$(EXEEXT) \
1488 newfile$(EXEEXT) saridx$(EXEEXT) scnnames$(EXEEXT) \
1489 sectiondump$(EXEEXT) showptable$(EXEEXT) update1$(EXEEXT) \
1490@@ -92,12 +93,12 @@ TESTS = run-arextract.sh run-arsymtest.s
1491 run-readelf-gdb_index.sh run-unstrip-n.sh run-low_high_pc.sh \
1492 run-macro-test.sh run-elf_cntl_gelf_getshdr.sh \
1493 run-test-archive64.sh $(am__EXEEXT_1) $(am__EXEEXT_3) \
1494- $(am__append_9)
1495-@STANDALONE_FALSE@am__append_5 = msg_tst md5-sha1-test
1496+ $(am__append_10)
1497 @STANDALONE_FALSE@am__append_6 = msg_tst md5-sha1-test
1498-@HAVE_LIBASM_TRUE@am__append_7 = $(asm_TESTS)
1499+@STANDALONE_FALSE@am__append_7 = msg_tst md5-sha1-test
1500 @HAVE_LIBASM_TRUE@am__append_8 = $(asm_TESTS)
1501-@ENABLE_DWZ_TRUE@am__append_9 = run-readelf-dwz-multi.sh
1502+@HAVE_LIBASM_TRUE@am__append_9 = $(asm_TESTS)
1503+@ENABLE_DWZ_TRUE@am__append_10 = run-readelf-dwz-multi.sh
1504 subdir = tests
1505 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
1506 am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
1507@@ -412,6 +413,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
1508 INSTALL_SCRIPT = @INSTALL_SCRIPT@
1509 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
1510 LDFLAGS = @LDFLAGS@
1511+LD_AS_NEEDED = @LD_AS_NEEDED@
1512 LEX = @LEX@
1513 LEXLIB = @LEXLIB@
1514 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
1515@@ -441,6 +443,7 @@ SHELL = @SHELL@
1516 STRIP = @STRIP@
1517 USE_NLS = @USE_NLS@
1518 VERSION = @VERSION@
1519+WEXTRA = @WEXTRA@
1520 XGETTEXT = @XGETTEXT@
1521 XGETTEXT_015 = @XGETTEXT_015@
1522 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
1523@@ -499,12 +502,11 @@ top_build_prefix = @top_build_prefix@
1524 top_builddir = @top_builddir@
1525 top_srcdir = @top_srcdir@
1526 zip_LIBS = @zip_LIBS@
1527-INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I.. $(am__append_2)
1528+INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I.. $(am__append_3)
1529 AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
1530- $($(*F)_no_Werror),,-Werror) $(if \
1531- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
1532+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
1533 $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
1534- $(am__append_1)
1535+ $(am__append_1) $(am__append_2)
1536 @MUDFLAP_FALSE@libmudflap =
1537 @MUDFLAP_TRUE@libmudflap = -lmudflap
1538 COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
1539@@ -514,7 +516,7 @@ CLEANFILES = *.gcno *.gcda
1540 textrel_check = if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
1541 @MUDFLAP_FALSE@BUILD_RPATH = \$$ORIGIN/../libasm:\$$ORIGIN/../libdw:\$$ORIGIN/../backends:\$$ORIGIN/../libelf
1542 @MUDFLAP_TRUE@BUILD_RPATH = \$$ORIGIN/../backends
1543-AM_LDFLAGS = $(am__append_3) $(am__append_4)
1544+AM_LDFLAGS = $(am__append_4) $(am__append_5)
1545 @TESTS_RPATH_FALSE@tests_rpath = no
1546 @TESTS_RPATH_TRUE@tests_rpath = yes
1547 asm_TESTS = asm-tst1 asm-tst2 asm-tst3 asm-tst4 asm-tst5 \
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.155/redhat-robustify.diff b/meta/recipes-devtools/elfutils/elfutils-0.155/redhat-robustify.diff
new file mode 100644
index 0000000000..8636998f66
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils-0.155/redhat-robustify.diff
@@ -0,0 +1,1824 @@
1Upstream-Status: Backport
2
3Index: elfutils-0.155/libelf/ChangeLog
4===================================================================
5--- elfutils-0.155.orig/libdwfl/ChangeLog
6+++ elfutils-0.155/libdwfl/ChangeLog
7@@ -52,6 +52,11 @@
8 * dwfl_module_getdwarf.c (open_elf): Clear errno before CBFAIL.
9 Reported by Kurt Roeckx <kurt@roeckx.be>.
10
11+2011-03-23 Petr Machata <pmachata@redhat.com>
12+
13+ * relocate.c (relocate_section): Use gelf_fsize instead of relying
14+ on shdr->sh_entsize.
15+
16 2011-02-11 Roland McGrath <roland@redhat.com>
17
18 * linux-kernel-modules.c (try_kernel_name): Try .gz, .bz2, .xz
19--- elfutils/libdwfl/relocate.c
20+++ elfutils/libdwfl/relocate.c
21@@ -1,5 +1,5 @@
22 /* Relocate debug information.
23- Copyright (C) 2005-2010 Red Hat, Inc.
24+ Copyright (C) 2005-2011 Red Hat, Inc.
25 This file is part of elfutils.
26
27 This file is free software; you can redistribute it and/or modify
28@@ -457,7 +457,10 @@ relocate_section (Dwfl_Module *mod, Elf
29 }
30 }
31
32- size_t nrels = shdr->sh_size / shdr->sh_entsize;
33+ size_t sh_entsize
34+ = gelf_fsize (relocated, shdr->sh_type == SHT_REL ? ELF_T_REL : ELF_T_RELA,
35+ 1, EV_CURRENT);
36+ size_t nrels = shdr->sh_size / sh_entsize;
37 size_t complete = 0;
38 if (shdr->sh_type == SHT_REL)
39 for (size_t relidx = 0; !result && relidx < nrels; ++relidx)
40@@ -559,7 +562,7 @@ relocate_section (Dwfl_Module *mod, Elf
41 nrels = next;
42 }
43
44- shdr->sh_size = reldata->d_size = nrels * shdr->sh_entsize;
45+ shdr->sh_size = reldata->d_size = nrels * sh_entsize;
46 gelf_update_shdr (scn, shdr);
47 }
48
49Index: elfutils-0.155/libelf/ChangeLog
50===================================================================
51--- elfutils-0.155.orig/libelf/ChangeLog 2010-07-03 13:07:10.000000000 +0000
52+++ elfutils-0.155/libelf/ChangeLog 2010-07-03 13:07:11.000000000 +0000
53@@ -703,10 +703,53 @@
54 If section content hasn't been read yet, do it before looking for the
55 block size. If no section data present, infer size of section header.
56
57+2005-05-14 Jakub Jelinek <jakub@redhat.com>
58+
59+ * libelfP.h (INVALID_NDX): Define.
60+ * gelf_getdyn.c (gelf_getdyn): Use it. Remove ndx < 0 test if any.
61+ * gelf_getlib.c (gelf_getlib): Likewise.
62+ * gelf_getmove.c (gelf_getmove): Likewise.
63+ * gelf_getrel.c (gelf_getrel): Likewise.
64+ * gelf_getrela.c (gelf_getrela): Likewise.
65+ * gelf_getsym.c (gelf_getsym): Likewise.
66+ * gelf_getsyminfo.c (gelf_getsyminfo): Likewise.
67+ * gelf_getsymshndx.c (gelf_getsymshndx): Likewise.
68+ * gelf_getversym.c (gelf_getversym): Likewise.
69+ * gelf_update_dyn.c (gelf_update_dyn): Likewise.
70+ * gelf_update_lib.c (gelf_update_lib): Likewise.
71+ * gelf_update_move.c (gelf_update_move): Likewise.
72+ * gelf_update_rel.c (gelf_update_rel): Likewise.
73+ * gelf_update_rela.c (gelf_update_rela): Likewise.
74+ * gelf_update_sym.c (gelf_update_sym): Likewise.
75+ * gelf_update_syminfo.c (gelf_update_syminfo): Likewise.
76+ * gelf_update_symshndx.c (gelf_update_symshndx): Likewise.
77+ * gelf_update_versym.c (gelf_update_versym): Likewise.
78+ * elf_newscn.c (elf_newscn): Check for overflow.
79+ * elf32_updatefile.c (__elfw2(LIBELFBITS,updatemmap)): Likewise.
80+ (__elfw2(LIBELFBITS,updatefile)): Likewise.
81+ * elf_begin.c (file_read_elf): Likewise.
82+ * elf32_newphdr.c (elfw2(LIBELFBITS,newphdr)): Likewise.
83+ * elf_getarsym.c (elf_getarsym): Likewise.
84+ * elf32_getshdr.c (elfw2(LIBELFBITS,getshdr)): Likewise.
85 2005-05-11 Ulrich Drepper <drepper@redhat.com>
86
87 * elf.h: Update again.
88
89+2005-05-17 Jakub Jelinek <jakub@redhat.com>
90+
91+ * elf32_getphdr.c (elfw2(LIBELFBITS,getphdr)): Check if program header
92+ table fits into object's bounds.
93+ * elf_getshstrndx.c (elf_getshstrndx): Add elf->start_offset to
94+ elf->map_address. Check if first section header fits into object's
95+ bounds.
96+ * elf32_getshdr.c (elfw2(LIBELFBITS,getshdr)):
97+ Check if section header table fits into object's bounds.
98+ * elf_begin.c (get_shnum): Ensure section headers fits into
99+ object's bounds.
100+ (file_read_elf): Make sure scncnt is small enough to allocate both
101+ ElfXX_Shdr and Elf_Scn array. Make sure section and program header
102+ tables fit into object's bounds. Avoid memory leak on failure.
103+
104 2005-05-09 Ulrich Drepper <drepper@redhat.com>
105
106 * elf.h: Update from glibc.
107Index: elfutils-0.155/libelf/elf32_getphdr.c
108===================================================================
109--- elfutils-0.155.orig/libelf/elf32_getphdr.c 2010-04-21 14:26:40.000000000 +0000
110+++ elfutils-0.155/libelf/elf32_getphdr.c 2010-07-03 13:07:11.000000000 +0000
111@@ -93,6 +93,16 @@ __elfw2(LIBELFBITS,getphdr_wrlock) (elf)
112
113 if (elf->map_address != NULL)
114 {
115+ /* First see whether the information in the ELF header is
116+ valid and it does not ask for too much. */
117+ if (unlikely (ehdr->e_phoff >= elf->maximum_size)
118+ || unlikely (elf->maximum_size - ehdr->e_phoff < size))
119+ {
120+ /* Something is wrong. */
121+ __libelf_seterrno (ELF_E_INVALID_PHDR);
122+ goto out;
123+ }
124+
125 /* All the data is already mapped. Use it. */
126 void *file_phdr = ((char *) elf->map_address
127 + elf->start_offset + ehdr->e_phoff);
128Index: elfutils-0.155/libelf/elf32_getshdr.c
129===================================================================
130--- elfutils-0.155.orig/libelf/elf32_getshdr.c 2009-06-13 22:41:42.000000000 +0000
131+++ elfutils-0.155/libelf/elf32_getshdr.c 2010-07-03 13:07:11.000000000 +0000
132@@ -60,7 +60,8 @@ load_shdr_wrlock (Elf_Scn *scn)
133 goto out;
134
135 size_t shnum;
136- if (__elf_getshdrnum_rdlock (elf, &shnum) != 0)
137+ if (__elf_getshdrnum_rdlock (elf, &shnum) != 0
138+ || shnum > SIZE_MAX / sizeof (ElfW2(LIBELFBITS,Shdr)))
139 goto out;
140 size_t size = shnum * sizeof (ElfW2(LIBELFBITS,Shdr));
141
142@@ -77,6 +78,16 @@ load_shdr_wrlock (Elf_Scn *scn)
143
144 if (elf->map_address != NULL)
145 {
146+ /* First see whether the information in the ELF header is
147+ valid and it does not ask for too much. */
148+ if (unlikely (ehdr->e_shoff >= elf->maximum_size)
149+ || unlikely (elf->maximum_size - ehdr->e_shoff < size))
150+ {
151+ /* Something is wrong. */
152+ __libelf_seterrno (ELF_E_INVALID_SECTION_HEADER);
153+ goto free_and_out;
154+ }
155+
156 ElfW2(LIBELFBITS,Shdr) *notcvt;
157
158 /* All the data is already mapped. If we could use it
159Index: elfutils-0.155/libelf/elf32_newphdr.c
160===================================================================
161--- elfutils-0.155.orig/libelf/elf32_newphdr.c 2010-01-12 16:57:54.000000000 +0000
162+++ elfutils-0.155/libelf/elf32_newphdr.c 2010-07-03 13:07:11.000000000 +0000
163@@ -114,6 +114,12 @@ elfw2(LIBELFBITS,newphdr) (elf, count)
164 || count == PN_XNUM
165 || elf->state.ELFW(elf,LIBELFBITS).phdr == NULL)
166 {
167+ if (unlikely (count > SIZE_MAX / sizeof (ElfW2(LIBELFBITS,Phdr))))
168+ {
169+ result = NULL;
170+ goto out;
171+ }
172+
173 /* Allocate a new program header with the appropriate number of
174 elements. */
175 result = (ElfW2(LIBELFBITS,Phdr) *)
176Index: elfutils-0.155/libelf/elf32_updatefile.c
177===================================================================
178--- elfutils-0.155.orig/libelf/elf32_updatefile.c 2010-01-12 16:57:54.000000000 +0000
179+++ elfutils-0.155/libelf/elf32_updatefile.c 2010-07-03 13:07:11.000000000 +0000
180@@ -202,6 +202,9 @@ __elfw2(LIBELFBITS,updatemmap) (Elf *elf
181 /* Write all the sections. Well, only those which are modified. */
182 if (shnum > 0)
183 {
184+ if (unlikely (shnum > SIZE_MAX / sizeof (Elf_Scn *)))
185+ return 1;
186+
187 Elf_ScnList *list = &elf->state.ELFW(elf,LIBELFBITS).scns;
188 Elf_Scn **scns = (Elf_Scn **) alloca (shnum * sizeof (Elf_Scn *));
189 char *const shdr_start = ((char *) elf->map_address + elf->start_offset
190@@ -624,6 +627,10 @@ __elfw2(LIBELFBITS,updatefile) (Elf *elf
191 /* Write all the sections. Well, only those which are modified. */
192 if (shnum > 0)
193 {
194+ if (unlikely (shnum > SIZE_MAX / (sizeof (Elf_Scn *)
195+ + sizeof (ElfW2(LIBELFBITS,Shdr)))))
196+ return 1;
197+
198 off_t shdr_offset = elf->start_offset + ehdr->e_shoff;
199 #if EV_NUM != 2
200 xfct_t shdr_fctp = __elf_xfctstom[__libelf_version - 1][EV_CURRENT - 1][ELFW(ELFCLASS, LIBELFBITS) - 1][ELF_T_SHDR];
201Index: elfutils-0.155/libelf/elf_begin.c
202===================================================================
203--- elfutils-0.155.orig/libelf/elf_begin.c 2010-04-21 14:26:40.000000000 +0000
204+++ elfutils-0.155/libelf/elf_begin.c 2010-07-03 13:07:11.000000000 +0000
205@@ -144,7 +144,8 @@ get_shnum (void *map_address, unsigned c
206
207 if (unlikely (result == 0) && ehdr.e32->e_shoff != 0)
208 {
209- if (ehdr.e32->e_shoff + sizeof (Elf32_Shdr) > maxsize)
210+ if (unlikely (ehdr.e32->e_shoff >= maxsize)
211+ || unlikely (maxsize - ehdr.e32->e_shoff < sizeof (Elf32_Shdr)))
212 /* Cannot read the first section header. */
213 return 0;
214
215@@ -192,7 +193,8 @@ get_shnum (void *map_address, unsigned c
216
217 if (unlikely (result == 0) && ehdr.e64->e_shoff != 0)
218 {
219- if (ehdr.e64->e_shoff + sizeof (Elf64_Shdr) > maxsize)
220+ if (unlikely (ehdr.e64->e_shoff >= maxsize)
221+ || unlikely (ehdr.e64->e_shoff + sizeof (Elf64_Shdr) > maxsize))
222 /* Cannot read the first section header. */
223 return 0;
224
225@@ -264,6 +266,15 @@ file_read_elf (int fildes, void *map_add
226 /* Could not determine the number of sections. */
227 return NULL;
228
229+ /* Check for too many sections. */
230+ if (e_ident[EI_CLASS] == ELFCLASS32)
231+ {
232+ if (scncnt > SIZE_MAX / (sizeof (Elf_Scn) + sizeof (Elf32_Shdr)))
233+ return NULL;
234+ }
235+ else if (scncnt > SIZE_MAX / (sizeof (Elf_Scn) + sizeof (Elf64_Shdr)))
236+ return NULL;
237+
238 /* We can now allocate the memory. Even if there are no section headers,
239 we allocate space for a zeroth section in case we need it later. */
240 const size_t scnmax = (scncnt ?: (cmd == ELF_C_RDWR || cmd == ELF_C_RDWR_MMAP)
241@@ -303,6 +314,16 @@ file_read_elf (int fildes, void *map_add
242 {
243 /* We can use the mmapped memory. */
244 elf->state.elf32.ehdr = ehdr;
245+
246+ if (unlikely (ehdr->e_shoff >= maxsize)
247+ || unlikely (maxsize - ehdr->e_shoff
248+ < scncnt * sizeof (Elf32_Shdr)))
249+ {
250+ free_and_out:
251+ free (elf);
252+ __libelf_seterrno (ELF_E_INVALID_FILE);
253+ return NULL;
254+ }
255 elf->state.elf32.shdr
256 = (Elf32_Shdr *) ((char *) ehdr + ehdr->e_shoff);
257
258@@ -389,6 +410,11 @@ file_read_elf (int fildes, void *map_add
259 {
260 /* We can use the mmapped memory. */
261 elf->state.elf64.ehdr = ehdr;
262+
263+ if (unlikely (ehdr->e_shoff >= maxsize)
264+ || unlikely (ehdr->e_shoff
265+ + scncnt * sizeof (Elf32_Shdr) > maxsize))
266+ goto free_and_out;
267 elf->state.elf64.shdr
268 = (Elf64_Shdr *) ((char *) ehdr + ehdr->e_shoff);
269
270Index: elfutils-0.155/libelf/elf_getarsym.c
271===================================================================
272--- elfutils-0.155.orig/libelf/elf_getarsym.c 2009-01-08 20:56:37.000000000 +0000
273+++ elfutils-0.155/libelf/elf_getarsym.c 2010-07-03 13:07:11.000000000 +0000
274@@ -181,6 +181,9 @@ elf_getarsym (elf, ptr)
275 size_t index_size = atol (tmpbuf);
276
277 if (SARMAG + sizeof (struct ar_hdr) + index_size > elf->maximum_size
278+#if SIZE_MAX <= 4294967295U
279+ || n >= SIZE_MAX / sizeof (Elf_Arsym)
280+#endif
281 || n * w > index_size)
282 {
283 /* This index table cannot be right since it does not fit into
284Index: elfutils-0.155/libelf/elf_getshdrstrndx.c
285===================================================================
286--- elfutils-0.155.orig/libelf/elf_getshdrstrndx.c 2009-06-13 22:31:35.000000000 +0000
287+++ elfutils-0.155/libelf/elf_getshdrstrndx.c 2010-07-03 13:07:11.000000000 +0000
288@@ -104,10 +104,25 @@ elf_getshdrstrndx (elf, dst)
289 if (elf->map_address != NULL
290 && elf->state.elf32.ehdr->e_ident[EI_DATA] == MY_ELFDATA
291 && (ALLOW_UNALIGNED
292- || (((size_t) ((char *) elf->map_address + offset))
293+ || (((size_t) ((char *) elf->map_address
294+ + elf->start_offset + offset))
295 & (__alignof__ (Elf32_Shdr) - 1)) == 0))
296- /* We can directly access the memory. */
297- num = ((Elf32_Shdr *) (elf->map_address + offset))->sh_link;
298+ {
299+ /* First see whether the information in the ELF header is
300+ valid and it does not ask for too much. */
301+ if (unlikely (elf->maximum_size - offset
302+ < sizeof (Elf32_Shdr)))
303+ {
304+ /* Something is wrong. */
305+ __libelf_seterrno (ELF_E_INVALID_SECTION_HEADER);
306+ result = -1;
307+ goto out;
308+ }
309+
310+ /* We can directly access the memory. */
311+ num = ((Elf32_Shdr *) (elf->map_address + elf->start_offset
312+ + offset))->sh_link;
313+ }
314 else
315 {
316 /* We avoid reading in all the section headers. Just read
317@@ -142,10 +157,25 @@ elf_getshdrstrndx (elf, dst)
318 if (elf->map_address != NULL
319 && elf->state.elf64.ehdr->e_ident[EI_DATA] == MY_ELFDATA
320 && (ALLOW_UNALIGNED
321- || (((size_t) ((char *) elf->map_address + offset))
322+ || (((size_t) ((char *) elf->map_address
323+ + elf->start_offset + offset))
324 & (__alignof__ (Elf64_Shdr) - 1)) == 0))
325- /* We can directly access the memory. */
326- num = ((Elf64_Shdr *) (elf->map_address + offset))->sh_link;
327+ {
328+ /* First see whether the information in the ELF header is
329+ valid and it does not ask for too much. */
330+ if (unlikely (elf->maximum_size - offset
331+ < sizeof (Elf64_Shdr)))
332+ {
333+ /* Something is wrong. */
334+ __libelf_seterrno (ELF_E_INVALID_SECTION_HEADER);
335+ result = -1;
336+ goto out;
337+ }
338+
339+ /* We can directly access the memory. */
340+ num = ((Elf64_Shdr *) (elf->map_address + elf->start_offset
341+ + offset))->sh_link;
342+ }
343 else
344 {
345 /* We avoid reading in all the section headers. Just read
346Index: elfutils-0.155/libelf/elf_newscn.c
347===================================================================
348--- elfutils-0.155.orig/libelf/elf_newscn.c 2009-01-08 20:56:37.000000000 +0000
349+++ elfutils-0.155/libelf/elf_newscn.c 2010-07-03 13:07:11.000000000 +0000
350@@ -83,10 +83,18 @@ elf_newscn (elf)
351 else
352 {
353 /* We must allocate a new element. */
354- Elf_ScnList *newp;
355+ Elf_ScnList *newp = NULL;
356
357 assert (elf->state.elf.scnincr > 0);
358
359+ if (
360+#if SIZE_MAX <= 4294967295U
361+ likely (elf->state.elf.scnincr
362+ < SIZE_MAX / 2 / sizeof (Elf_Scn) - sizeof (Elf_ScnList))
363+#else
364+ 1
365+#endif
366+ )
367 newp = (Elf_ScnList *) calloc (sizeof (Elf_ScnList)
368 + ((elf->state.elf.scnincr *= 2)
369 * sizeof (Elf_Scn)), 1);
370Index: elfutils-0.155/libelf/gelf_getdyn.c
371===================================================================
372--- elfutils-0.155.orig/libelf/gelf_getdyn.c 2009-01-08 20:56:37.000000000 +0000
373+++ elfutils-0.155/libelf/gelf_getdyn.c 2010-07-03 13:07:11.000000000 +0000
374@@ -1,5 +1,5 @@
375 /* Get information from dynamic table at the given index.
376- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
377+ Copyright (C) 2000-2009 Red Hat, Inc.
378 This file is part of elfutils.
379 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
380
381@@ -72,7 +72,7 @@ gelf_getdyn (data, ndx, dst)
382 table entries has to be adopted. The user better has provided
383 a buffer where we can store the information. While copying the
384 data we are converting the format. */
385- if (unlikely ((ndx + 1) * sizeof (Elf32_Dyn) > data_scn->d.d_size))
386+ if (INVALID_NDX (ndx, Elf32_Dyn, &data_scn->d))
387 {
388 __libelf_seterrno (ELF_E_INVALID_INDEX);
389 goto out;
390@@ -93,7 +93,7 @@ gelf_getdyn (data, ndx, dst)
391
392 /* The data is already in the correct form. Just make sure the
393 index is OK. */
394- if (unlikely ((ndx + 1) * sizeof (GElf_Dyn) > data_scn->d.d_size))
395+ if (INVALID_NDX (ndx, GElf_Dyn, &data_scn->d))
396 {
397 __libelf_seterrno (ELF_E_INVALID_INDEX);
398 goto out;
399Index: elfutils-0.155/libelf/gelf_getlib.c
400===================================================================
401--- elfutils-0.155.orig/libelf/gelf_getlib.c 2009-01-08 20:56:37.000000000 +0000
402+++ elfutils-0.155/libelf/gelf_getlib.c 2010-07-03 13:07:11.000000000 +0000
403@@ -1,5 +1,5 @@
404 /* Get library from table at the given index.
405- Copyright (C) 2004 Red Hat, Inc.
406+ Copyright (C) 2004-2009 Red Hat, Inc.
407 This file is part of elfutils.
408 Written by Ulrich Drepper <drepper@redhat.com>, 2004.
409
410@@ -65,7 +65,7 @@ gelf_getlib (data, ndx, dst)
411 /* The data is already in the correct form. Just make sure the
412 index is OK. */
413 GElf_Lib *result = NULL;
414- if (unlikely ((ndx + 1) * sizeof (GElf_Lib) > data->d_size))
415+ if (INVALID_NDX (ndx, GElf_Lib, data))
416 __libelf_seterrno (ELF_E_INVALID_INDEX);
417 else
418 {
419Index: elfutils-0.155/libelf/gelf_getmove.c
420===================================================================
421--- elfutils-0.155.orig/libelf/gelf_getmove.c 2009-01-08 20:56:37.000000000 +0000
422+++ elfutils-0.155/libelf/gelf_getmove.c 2010-07-03 13:07:11.000000000 +0000
423@@ -1,5 +1,5 @@
424 /* Get move structure at the given index.
425- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
426+ Copyright (C) 2000-2009 Red Hat, Inc.
427 This file is part of elfutils.
428 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
429
430@@ -62,7 +62,7 @@ gelf_getmove (data, ndx, dst)
431
432 /* The data is already in the correct form. Just make sure the
433 index is OK. */
434- if (unlikely ((ndx + 1) * sizeof (GElf_Move) > data->d_size))
435+ if (INVALID_NDX (ndx, GElf_Move, data))
436 {
437 __libelf_seterrno (ELF_E_INVALID_INDEX);
438 goto out;
439Index: elfutils-0.155/libelf/gelf_getrela.c
440===================================================================
441--- elfutils-0.155.orig/libelf/gelf_getrela.c 2009-01-08 20:56:37.000000000 +0000
442+++ elfutils-0.155/libelf/gelf_getrela.c 2010-07-03 13:07:11.000000000 +0000
443@@ -1,5 +1,5 @@
444 /* Get RELA relocation information at given index.
445- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
446+ Copyright (C) 2000-2009 Red Hat, Inc.
447 This file is part of elfutils.
448 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
449
450@@ -50,12 +50,6 @@ gelf_getrela (data, ndx, dst)
451 if (data_scn == NULL)
452 return NULL;
453
454- if (unlikely (ndx < 0))
455- {
456- __libelf_seterrno (ELF_E_INVALID_INDEX);
457- return NULL;
458- }
459-
460 if (unlikely (data_scn->d.d_type != ELF_T_RELA))
461 {
462 __libelf_seterrno (ELF_E_INVALID_HANDLE);
463@@ -72,7 +66,7 @@ gelf_getrela (data, ndx, dst)
464 if (scn->elf->class == ELFCLASS32)
465 {
466 /* We have to convert the data. */
467- if (unlikely ((ndx + 1) * sizeof (Elf32_Rela) > data_scn->d.d_size))
468+ if (INVALID_NDX (ndx, Elf32_Rela, &data_scn->d))
469 {
470 __libelf_seterrno (ELF_E_INVALID_INDEX);
471 result = NULL;
472@@ -93,7 +87,7 @@ gelf_getrela (data, ndx, dst)
473 {
474 /* Simply copy the data after we made sure we are actually getting
475 correct data. */
476- if (unlikely ((ndx + 1) * sizeof (Elf64_Rela) > data_scn->d.d_size))
477+ if (INVALID_NDX (ndx, Elf64_Rela, &data_scn->d))
478 {
479 __libelf_seterrno (ELF_E_INVALID_INDEX);
480 result = NULL;
481Index: elfutils-0.155/libelf/gelf_getrel.c
482===================================================================
483--- elfutils-0.155.orig/libelf/gelf_getrel.c 2009-01-08 20:56:37.000000000 +0000
484+++ elfutils-0.155/libelf/gelf_getrel.c 2010-07-03 13:07:11.000000000 +0000
485@@ -1,5 +1,5 @@
486 /* Get REL relocation information at given index.
487- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
488+ Copyright (C) 2000-2009 Red Hat, Inc.
489 This file is part of elfutils.
490 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
491
492@@ -50,12 +50,6 @@ gelf_getrel (data, ndx, dst)
493 if (data_scn == NULL)
494 return NULL;
495
496- if (unlikely (ndx < 0))
497- {
498- __libelf_seterrno (ELF_E_INVALID_INDEX);
499- return NULL;
500- }
501-
502 if (unlikely (data_scn->d.d_type != ELF_T_REL))
503 {
504 __libelf_seterrno (ELF_E_INVALID_HANDLE);
505@@ -72,7 +66,7 @@ gelf_getrel (data, ndx, dst)
506 if (scn->elf->class == ELFCLASS32)
507 {
508 /* We have to convert the data. */
509- if (unlikely ((ndx + 1) * sizeof (Elf32_Rel) > data_scn->d.d_size))
510+ if (INVALID_NDX (ndx, Elf32_Rel, &data_scn->d))
511 {
512 __libelf_seterrno (ELF_E_INVALID_INDEX);
513 result = NULL;
514@@ -92,7 +86,7 @@ gelf_getrel (data, ndx, dst)
515 {
516 /* Simply copy the data after we made sure we are actually getting
517 correct data. */
518- if (unlikely ((ndx + 1) * sizeof (Elf64_Rel) > data_scn->d.d_size))
519+ if (INVALID_NDX (ndx, Elf64_Rel, &data_scn->d))
520 {
521 __libelf_seterrno (ELF_E_INVALID_INDEX);
522 result = NULL;
523Index: elfutils-0.155/libelf/gelf_getsym.c
524===================================================================
525--- elfutils-0.155.orig/libelf/gelf_getsym.c 2009-01-08 20:56:37.000000000 +0000
526+++ elfutils-0.155/libelf/gelf_getsym.c 2010-07-03 13:07:11.000000000 +0000
527@@ -1,5 +1,5 @@
528 /* Get symbol information from symbol table at the given index.
529- Copyright (C) 1999, 2000, 2001, 2002 Red Hat, Inc.
530+ Copyright (C) 1999-2009 Red Hat, Inc.
531 This file is part of elfutils.
532 Written by Ulrich Drepper <drepper@redhat.com>, 1999.
533
534@@ -69,7 +69,7 @@ gelf_getsym (data, ndx, dst)
535 table entries has to be adopted. The user better has provided
536 a buffer where we can store the information. While copying the
537 data we are converting the format. */
538- if (unlikely ((ndx + 1) * sizeof (Elf32_Sym) > data->d_size))
539+ if (INVALID_NDX (ndx, Elf32_Sym, data))
540 {
541 __libelf_seterrno (ELF_E_INVALID_INDEX);
542 goto out;
543@@ -98,7 +98,7 @@ gelf_getsym (data, ndx, dst)
544
545 /* The data is already in the correct form. Just make sure the
546 index is OK. */
547- if (unlikely ((ndx + 1) * sizeof (GElf_Sym) > data->d_size))
548+ if (INVALID_NDX (ndx, GElf_Sym, data))
549 {
550 __libelf_seterrno (ELF_E_INVALID_INDEX);
551 goto out;
552Index: elfutils-0.155/libelf/gelf_getsyminfo.c
553===================================================================
554--- elfutils-0.155.orig/libelf/gelf_getsyminfo.c 2009-01-08 20:56:37.000000000 +0000
555+++ elfutils-0.155/libelf/gelf_getsyminfo.c 2010-07-03 13:07:11.000000000 +0000
556@@ -1,5 +1,5 @@
557 /* Get additional symbol information from symbol table at the given index.
558- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
559+ Copyright (C) 2000-2009 Red Hat, Inc.
560 This file is part of elfutils.
561 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
562
563@@ -63,7 +63,7 @@ gelf_getsyminfo (data, ndx, dst)
564
565 /* The data is already in the correct form. Just make sure the
566 index is OK. */
567- if (unlikely ((ndx + 1) * sizeof (GElf_Syminfo) > data->d_size))
568+ if (INVALID_NDX (ndx, GElf_Syminfo, data))
569 {
570 __libelf_seterrno (ELF_E_INVALID_INDEX);
571 goto out;
572Index: elfutils-0.155/libelf/gelf_getsymshndx.c
573===================================================================
574--- elfutils-0.155.orig/libelf/gelf_getsymshndx.c 2009-01-08 20:56:37.000000000 +0000
575+++ elfutils-0.155/libelf/gelf_getsymshndx.c 2010-07-03 13:07:11.000000000 +0000
576@@ -1,6 +1,6 @@
577 /* Get symbol information and separate section index from symbol table
578 at the given index.
579- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
580+ Copyright (C) 2000-2009 Red Hat, Inc.
581 This file is part of elfutils.
582 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
583
584@@ -69,7 +69,7 @@ gelf_getsymshndx (symdata, shndxdata, nd
585 section index table. */
586 if (likely (shndxdata_scn != NULL))
587 {
588- if (unlikely ((ndx + 1) * sizeof (Elf32_Word) > shndxdata_scn->d.d_size))
589+ if (INVALID_NDX (ndx, Elf32_Word, &shndxdata_scn->d))
590 {
591 __libelf_seterrno (ELF_E_INVALID_INDEX);
592 goto out;
593@@ -89,7 +89,7 @@ gelf_getsymshndx (symdata, shndxdata, nd
594 table entries has to be adopted. The user better has provided
595 a buffer where we can store the information. While copying the
596 data we are converting the format. */
597- if (unlikely ((ndx + 1) * sizeof (Elf32_Sym) > symdata->d_size))
598+ if (INVALID_NDX (ndx, Elf32_Sym, symdata))
599 {
600 __libelf_seterrno (ELF_E_INVALID_INDEX);
601 goto out;
602@@ -118,7 +118,7 @@ gelf_getsymshndx (symdata, shndxdata, nd
603
604 /* The data is already in the correct form. Just make sure the
605 index is OK. */
606- if (unlikely ((ndx + 1) * sizeof (GElf_Sym) > symdata->d_size))
607+ if (INVALID_NDX (ndx, GElf_Sym, symdata))
608 {
609 __libelf_seterrno (ELF_E_INVALID_INDEX);
610 goto out;
611Index: elfutils-0.155/libelf/gelf_getversym.c
612===================================================================
613--- elfutils-0.155.orig/libelf/gelf_getversym.c 2009-01-08 20:56:37.000000000 +0000
614+++ elfutils-0.155/libelf/gelf_getversym.c 2010-07-03 13:07:11.000000000 +0000
615@@ -1,5 +1,5 @@
616 /* Get symbol version information at the given index.
617- Copyright (C) 1999, 2000, 2001, 2002 Red Hat, Inc.
618+ Copyright (C) 1999-2009 Red Hat, Inc.
619 This file is part of elfutils.
620 Written by Ulrich Drepper <drepper@redhat.com>, 1999.
621
622@@ -71,7 +71,7 @@ gelf_getversym (data, ndx, dst)
623
624 /* The data is already in the correct form. Just make sure the
625 index is OK. */
626- if (unlikely ((ndx + 1) * sizeof (GElf_Versym) > data->d_size))
627+ if (INVALID_NDX (ndx, GElf_Versym, data))
628 {
629 __libelf_seterrno (ELF_E_INVALID_INDEX);
630 result = NULL;
631Index: elfutils-0.155/libelf/gelf_update_dyn.c
632===================================================================
633--- elfutils-0.155.orig/libelf/gelf_update_dyn.c 2009-01-08 20:56:37.000000000 +0000
634+++ elfutils-0.155/libelf/gelf_update_dyn.c 2010-07-03 13:07:11.000000000 +0000
635@@ -1,5 +1,5 @@
636 /* Update information in dynamic table at the given index.
637- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
638+ Copyright (C) 2000-2009 Red Hat, Inc.
639 This file is part of elfutils.
640 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
641
642@@ -50,12 +50,6 @@ gelf_update_dyn (data, ndx, src)
643 if (data == NULL)
644 return 0;
645
646- if (unlikely (ndx < 0))
647- {
648- __libelf_seterrno (ELF_E_INVALID_INDEX);
649- return 0;
650- }
651-
652 if (unlikely (data_scn->d.d_type != ELF_T_DYN))
653 {
654 /* The type of the data better should match. */
655@@ -81,7 +75,7 @@ gelf_update_dyn (data, ndx, src)
656 }
657
658 /* Check whether we have to resize the data buffer. */
659- if (unlikely ((ndx + 1) * sizeof (Elf32_Dyn) > data_scn->d.d_size))
660+ if (INVALID_NDX (ndx, Elf32_Dyn, &data_scn->d))
661 {
662 __libelf_seterrno (ELF_E_INVALID_INDEX);
663 goto out;
664@@ -95,7 +89,7 @@ gelf_update_dyn (data, ndx, src)
665 else
666 {
667 /* Check whether we have to resize the data buffer. */
668- if (unlikely ((ndx + 1) * sizeof (Elf64_Dyn) > data_scn->d.d_size))
669+ if (INVALID_NDX (ndx, Elf64_Dyn, &data_scn->d))
670 {
671 __libelf_seterrno (ELF_E_INVALID_INDEX);
672 goto out;
673Index: elfutils-0.155/libelf/gelf_update_lib.c
674===================================================================
675--- elfutils-0.155.orig/libelf/gelf_update_lib.c 2009-01-08 20:56:37.000000000 +0000
676+++ elfutils-0.155/libelf/gelf_update_lib.c 2010-07-03 13:07:11.000000000 +0000
677@@ -1,5 +1,5 @@
678 /* Update library in table at the given index.
679- Copyright (C) 2004 Red Hat, Inc.
680+ Copyright (C) 2004-2009 Red Hat, Inc.
681 This file is part of elfutils.
682 Written by Ulrich Drepper <drepper@redhat.com>, 2004.
683
684@@ -47,12 +47,6 @@ gelf_update_lib (data, ndx, src)
685 if (data == NULL)
686 return 0;
687
688- if (unlikely (ndx < 0))
689- {
690- __libelf_seterrno (ELF_E_INVALID_INDEX);
691- return 0;
692- }
693-
694 Elf_Data_Scn *data_scn = (Elf_Data_Scn *) data;
695 if (unlikely (data_scn->d.d_type != ELF_T_LIB))
696 {
697@@ -66,7 +60,7 @@ gelf_update_lib (data, ndx, src)
698
699 /* Check whether we have to resize the data buffer. */
700 int result = 0;
701- if (unlikely ((ndx + 1) * sizeof (Elf64_Lib) > data_scn->d.d_size))
702+ if (INVALID_NDX (ndx, Elf64_Lib, &data_scn->d))
703 __libelf_seterrno (ELF_E_INVALID_INDEX);
704 else
705 {
706Index: elfutils-0.155/libelf/gelf_update_move.c
707===================================================================
708--- elfutils-0.155.orig/libelf/gelf_update_move.c 2009-01-08 20:56:37.000000000 +0000
709+++ elfutils-0.155/libelf/gelf_update_move.c 2010-07-03 13:07:11.000000000 +0000
710@@ -1,5 +1,5 @@
711 /* Update move structure at the given index.
712- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
713+ Copyright (C) 2000-2009 Red Hat, Inc.
714 This file is part of elfutils.
715 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
716
717@@ -54,8 +54,7 @@ gelf_update_move (data, ndx, src)
718 assert (sizeof (GElf_Move) == sizeof (Elf64_Move));
719
720 /* Check whether we have to resize the data buffer. */
721- if (unlikely (ndx < 0)
722- || unlikely ((ndx + 1) * sizeof (GElf_Move) > data_scn->d.d_size))
723+ if (INVALID_NDX (ndx, GElf_Move, &data_scn->d))
724 {
725 __libelf_seterrno (ELF_E_INVALID_INDEX);
726 return 0;
727Index: elfutils-0.155/libelf/gelf_update_rela.c
728===================================================================
729--- elfutils-0.155.orig/libelf/gelf_update_rela.c 2009-01-08 20:56:37.000000000 +0000
730+++ elfutils-0.155/libelf/gelf_update_rela.c 2010-07-03 13:07:11.000000000 +0000
731@@ -1,5 +1,5 @@
732 /* Update RELA relocation information at given index.
733- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
734+ Copyright (C) 2000-2009 Red Hat, Inc.
735 This file is part of elfutils.
736 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
737
738@@ -47,12 +47,6 @@ gelf_update_rela (Elf_Data *dst, int ndx
739 if (dst == NULL)
740 return 0;
741
742- if (unlikely (ndx < 0))
743- {
744- __libelf_seterrno (ELF_E_INVALID_INDEX);
745- return 0;
746- }
747-
748 if (unlikely (data_scn->d.d_type != ELF_T_RELA))
749 {
750 /* The type of the data better should match. */
751@@ -80,7 +74,7 @@ gelf_update_rela (Elf_Data *dst, int ndx
752 }
753
754 /* Check whether we have to resize the data buffer. */
755- if (unlikely ((ndx + 1) * sizeof (Elf32_Rela) > data_scn->d.d_size))
756+ if (INVALID_NDX (ndx, Elf32_Rela, &data_scn->d))
757 {
758 __libelf_seterrno (ELF_E_INVALID_INDEX);
759 goto out;
760@@ -96,7 +90,7 @@ gelf_update_rela (Elf_Data *dst, int ndx
761 else
762 {
763 /* Check whether we have to resize the data buffer. */
764- if (unlikely ((ndx + 1) * sizeof (Elf64_Rela) > data_scn->d.d_size))
765+ if (INVALID_NDX (ndx, Elf64_Rela, &data_scn->d))
766 {
767 __libelf_seterrno (ELF_E_INVALID_INDEX);
768 goto out;
769Index: elfutils-0.155/libelf/gelf_update_rel.c
770===================================================================
771--- elfutils-0.155.orig/libelf/gelf_update_rel.c 2009-01-08 20:56:37.000000000 +0000
772+++ elfutils-0.155/libelf/gelf_update_rel.c 2010-07-03 13:07:11.000000000 +0000
773@@ -1,5 +1,5 @@
774 /* Update REL relocation information at given index.
775- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
776+ Copyright (C) 2000-2009 Red Hat, Inc.
777 This file is part of elfutils.
778 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
779
780@@ -47,12 +47,6 @@ gelf_update_rel (Elf_Data *dst, int ndx,
781 if (dst == NULL)
782 return 0;
783
784- if (unlikely (ndx < 0))
785- {
786- __libelf_seterrno (ELF_E_INVALID_INDEX);
787- return 0;
788- }
789-
790 if (unlikely (data_scn->d.d_type != ELF_T_REL))
791 {
792 /* The type of the data better should match. */
793@@ -78,7 +72,7 @@ gelf_update_rel (Elf_Data *dst, int ndx,
794 }
795
796 /* Check whether we have to resize the data buffer. */
797- if (unlikely ((ndx + 1) * sizeof (Elf32_Rel) > data_scn->d.d_size))
798+ if (INVALID_NDX (ndx, Elf32_Rel, &data_scn->d))
799 {
800 __libelf_seterrno (ELF_E_INVALID_INDEX);
801 goto out;
802@@ -93,7 +87,7 @@ gelf_update_rel (Elf_Data *dst, int ndx,
803 else
804 {
805 /* Check whether we have to resize the data buffer. */
806- if (unlikely ((ndx + 1) * sizeof (Elf64_Rel) > data_scn->d.d_size))
807+ if (INVALID_NDX (ndx, Elf64_Rel, &data_scn->d))
808 {
809 __libelf_seterrno (ELF_E_INVALID_INDEX);
810 goto out;
811Index: elfutils-0.155/libelf/gelf_update_sym.c
812===================================================================
813--- elfutils-0.155.orig/libelf/gelf_update_sym.c 2009-01-08 20:56:37.000000000 +0000
814+++ elfutils-0.155/libelf/gelf_update_sym.c 2010-07-03 13:07:11.000000000 +0000
815@@ -1,5 +1,5 @@
816 /* Update symbol information in symbol table at the given index.
817- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
818+ Copyright (C) 2000-2009 Red Hat, Inc.
819 This file is part of elfutils.
820 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
821
822@@ -51,12 +51,6 @@ gelf_update_sym (data, ndx, src)
823 if (data == NULL)
824 return 0;
825
826- if (unlikely (ndx < 0))
827- {
828- __libelf_seterrno (ELF_E_INVALID_INDEX);
829- return 0;
830- }
831-
832 if (unlikely (data_scn->d.d_type != ELF_T_SYM))
833 {
834 /* The type of the data better should match. */
835@@ -81,7 +75,7 @@ gelf_update_sym (data, ndx, src)
836 }
837
838 /* Check whether we have to resize the data buffer. */
839- if (unlikely ((ndx + 1) * sizeof (Elf32_Sym) > data_scn->d.d_size))
840+ if (INVALID_NDX (ndx, Elf32_Sym, &data_scn->d))
841 {
842 __libelf_seterrno (ELF_E_INVALID_INDEX);
843 goto out;
844@@ -104,7 +98,7 @@ gelf_update_sym (data, ndx, src)
845 else
846 {
847 /* Check whether we have to resize the data buffer. */
848- if (unlikely ((ndx + 1) * sizeof (Elf64_Sym) > data_scn->d.d_size))
849+ if (INVALID_NDX (ndx, Elf64_Sym, &data_scn->d))
850 {
851 __libelf_seterrno (ELF_E_INVALID_INDEX);
852 goto out;
853Index: elfutils-0.155/libelf/gelf_update_syminfo.c
854===================================================================
855--- elfutils-0.155.orig/libelf/gelf_update_syminfo.c 2009-01-08 20:56:37.000000000 +0000
856+++ elfutils-0.155/libelf/gelf_update_syminfo.c 2010-07-03 13:07:11.000000000 +0000
857@@ -1,5 +1,5 @@
858 /* Update additional symbol information in symbol table at the given index.
859- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
860+ Copyright (C) 2000-2009 Red Hat, Inc.
861 This file is part of elfutils.
862 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
863
864@@ -51,12 +51,6 @@ gelf_update_syminfo (data, ndx, src)
865 if (data == NULL)
866 return 0;
867
868- if (unlikely (ndx < 0))
869- {
870- __libelf_seterrno (ELF_E_INVALID_INDEX);
871- return 0;
872- }
873-
874 if (unlikely (data_scn->d.d_type != ELF_T_SYMINFO))
875 {
876 /* The type of the data better should match. */
877@@ -72,7 +66,7 @@ gelf_update_syminfo (data, ndx, src)
878 rwlock_wrlock (scn->elf->lock);
879
880 /* Check whether we have to resize the data buffer. */
881- if (unlikely ((ndx + 1) * sizeof (GElf_Syminfo) > data_scn->d.d_size))
882+ if (INVALID_NDX (ndx, GElf_Syminfo, &data_scn->d))
883 {
884 __libelf_seterrno (ELF_E_INVALID_INDEX);
885 goto out;
886Index: elfutils-0.155/libelf/gelf_update_symshndx.c
887===================================================================
888--- elfutils-0.155.orig/libelf/gelf_update_symshndx.c 2009-01-08 20:56:37.000000000 +0000
889+++ elfutils-0.155/libelf/gelf_update_symshndx.c 2010-07-03 13:07:11.000000000 +0000
890@@ -1,6 +1,6 @@
891 /* Update symbol information and section index in symbol table at the
892 given index.
893- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
894+ Copyright (C) 2000-2009 Red Hat, Inc.
895 This file is part of elfutils.
896 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
897
898@@ -56,12 +56,6 @@ gelf_update_symshndx (symdata, shndxdata
899 if (symdata == NULL)
900 return 0;
901
902- if (unlikely (ndx < 0))
903- {
904- __libelf_seterrno (ELF_E_INVALID_INDEX);
905- return 0;
906- }
907-
908 if (unlikely (symdata_scn->d.d_type != ELF_T_SYM))
909 {
910 /* The type of the data better should match. */
911@@ -107,7 +101,7 @@ gelf_update_symshndx (symdata, shndxdata
912 }
913
914 /* Check whether we have to resize the data buffer. */
915- if (unlikely ((ndx + 1) * sizeof (Elf32_Sym) > symdata_scn->d.d_size))
916+ if (INVALID_NDX (ndx, Elf32_Sym, &symdata_scn->d))
917 {
918 __libelf_seterrno (ELF_E_INVALID_INDEX);
919 goto out;
920@@ -130,7 +124,7 @@ gelf_update_symshndx (symdata, shndxdata
921 else
922 {
923 /* Check whether we have to resize the data buffer. */
924- if (unlikely ((ndx + 1) * sizeof (Elf64_Sym) > symdata_scn->d.d_size))
925+ if (INVALID_NDX (ndx, Elf64_Sym, &symdata_scn->d))
926 {
927 __libelf_seterrno (ELF_E_INVALID_INDEX);
928 goto out;
929Index: elfutils-0.155/libelf/gelf_update_versym.c
930===================================================================
931--- elfutils-0.155.orig/libelf/gelf_update_versym.c 2009-01-08 20:56:37.000000000 +0000
932+++ elfutils-0.155/libelf/gelf_update_versym.c 2010-07-03 13:07:11.000000000 +0000
933@@ -1,5 +1,5 @@
934 /* Update symbol version information.
935- Copyright (C) 2001, 2002 Red Hat, Inc.
936+ Copyright (C) 2001-2009 Red Hat, Inc.
937 This file is part of elfutils.
938 Written by Ulrich Drepper <drepper@redhat.com>, 2001.
939
940@@ -54,8 +54,7 @@ gelf_update_versym (data, ndx, src)
941 assert (sizeof (GElf_Versym) == sizeof (Elf64_Versym));
942
943 /* Check whether we have to resize the data buffer. */
944- if (unlikely (ndx < 0)
945- || unlikely ((ndx + 1) * sizeof (GElf_Versym) > data_scn->d.d_size))
946+ if (INVALID_NDX (ndx, GElf_Versym, &data_scn->d))
947 {
948 __libelf_seterrno (ELF_E_INVALID_INDEX);
949 return 0;
950Index: elfutils-0.155/libelf/libelfP.h
951===================================================================
952--- elfutils-0.155.orig/libelf/libelfP.h 2010-01-12 16:57:54.000000000 +0000
953+++ elfutils-0.155/libelf/libelfP.h 2010-07-03 13:07:11.000000000 +0000
954@@ -608,4 +608,8 @@
955 /* Align offset to 4 bytes as needed for note name and descriptor data. */
956 #define NOTE_ALIGN(n) (((n) + 3) & -4U)
957
958+/* Convenience macro. */
959+#define INVALID_NDX(ndx, type, data) \
960+ unlikely ((data)->d_size / sizeof (type) <= (unsigned int) (ndx))
961+
962 #endif /* libelfP.h */
963Index: elfutils-0.155/src/ChangeLog
964===================================================================
965--- elfutils-0.155.orig/src/ChangeLog 2010-07-03 13:07:10.000000000 +0000
966+++ elfutils-0.155/src/ChangeLog 2010-07-03 13:07:11.000000000 +0000
967@@ -344,6 +344,12 @@
968
969 * readelf.c (dwarf_attr_string): Grok DW_AT_GNU_odr_signature.
970
971+2011-03-23 Petr Machata <pmachata@redhat.com>
972+
973+ * readelf.c (handle_dynamic, handle_relocs_rel)
974+ (handle_relocs_rela, handle_versym, print_liblist):
975+ Use gelf_fsize instead of relying on shdr->sh_entsize.
976+
977 2011-02-11 Roland McGrath <roland@redhat.com>
978
979 * elfcmp.c (verbose): New variable.
980@@ -2056,6 +2062,16 @@
981 object symbols or symbols with unknown type.
982 (check_rel): Likewise.
983
984+2005-06-09 Roland McGrath <roland@redhat.com>
985+
986+ * readelf.c (handle_dynamic, handle_symtab): Check for bogus sh_link.
987+ (handle_verneed, handle_verdef, handle_versym, handle_hash): Likewise.
988+ (handle_scngrp): Check for bogus sh_info.
989+
990+ * strip.c (handle_elf): Check for bogus values in sh_link, sh_info,
991+ st_shndx, e_shstrndx, and SHT_GROUP or SHT_SYMTAB_SHNDX data.
992+ Don't use assert on input values, instead bail with "illformed" error.
993+
994 2005-06-08 Roland McGrath <roland@redhat.com>
995
996 * readelf.c (print_ops): Add consts.
997@@ -2101,6 +2117,19 @@
998
999 * readelf.c (dwarf_tag_string): Add new tags.
1000
1001+2005-05-17 Jakub Jelinek <jakub@redhat.com>
1002+
1003+ * elflint.c (check_hash): Don't check entries beyond end of section.
1004+ (check_note): Don't crash if gelf_rawchunk fails.
1005+ (section_name): Return <invalid> if gelf_getshdr returns NULL.
1006+
1007+2005-05-14 Jakub Jelinek <jakub@redhat.com>
1008+
1009+ * elflint.c (section_name): Return "<invalid>" instead of
1010+ crashing on invalid section name.
1011+ (check_symtab, is_rel_dyn, check_rela, check_rel, check_dynamic,
1012+ check_symtab_shndx, check_hash, check_versym): Robustify.
1013+
1014 2005-05-08 Roland McGrath <roland@redhat.com>
1015
1016 * strip.c (handle_elf): Don't translate hash and versym data formats,
1017Index: elfutils-0.155/src/elflint.c
1018===================================================================
1019--- elfutils-0.155.orig/src/elflint.c 2010-04-13 20:08:02.000000000 +0000
1020+++ elfutils-0.155/src/elflint.c 2010-07-03 13:07:11.000000000 +0000
1021@@ -123,6 +123,10 @@ static uint32_t shstrndx;
1022 /* Array to count references in section groups. */
1023 static int *scnref;
1024
1025+/* Numbers of sections and program headers. */
1026+static unsigned int shnum;
1027+static unsigned int phnum;
1028+
1029
1030 int
1031 main (int argc, char *argv[])
1032@@ -311,10 +315,19 @@ section_name (Ebl *ebl, int idx)
1033 {
1034 GElf_Shdr shdr_mem;
1035 GElf_Shdr *shdr;
1036+ const char *ret;
1037+
1038+ if ((unsigned int) idx > shnum)
1039+ return "<invalid>";
1040
1041 shdr = gelf_getshdr (elf_getscn (ebl->elf, idx), &shdr_mem);
1042+ if (shdr == NULL)
1043+ return "<invalid>";
1044
1045- return elf_strptr (ebl->elf, shstrndx, shdr->sh_name);
1046+ ret = elf_strptr (ebl->elf, shstrndx, shdr->sh_name);
1047+ if (ret == NULL)
1048+ return "<invalid>";
1049+ return ret;
1050 }
1051
1052
1053@@ -337,11 +350,6 @@ static const int valid_e_machine[] =
1054 (sizeof (valid_e_machine) / sizeof (valid_e_machine[0]))
1055
1056
1057-/* Numbers of sections and program headers. */
1058-static unsigned int shnum;
1059-static unsigned int phnum;
1060-
1061-
1062 static void
1063 check_elf_header (Ebl *ebl, GElf_Ehdr *ehdr, size_t size)
1064 {
1065@@ -625,7 +633,8 @@ section [%2d] '%s': symbol table cannot
1066 }
1067 }
1068
1069- if (shdr->sh_entsize != gelf_fsize (ebl->elf, ELF_T_SYM, 1, EV_CURRENT))
1070+ size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_SYM, 1, EV_CURRENT);
1071+ if (shdr->sh_entsize != sh_entsize)
1072 ERROR (gettext ("\
1073 section [%2u] '%s': entry size is does not match ElfXX_Sym\n"),
1074 idx, section_name (ebl, idx));
1075@@ -663,7 +672,7 @@ section [%2d] '%s': XINDEX for zeroth en
1076 xndxscnidx, section_name (ebl, xndxscnidx));
1077 }
1078
1079- for (size_t cnt = 1; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt)
1080+ for (size_t cnt = 1; cnt < shdr->sh_size / sh_entsize; ++cnt)
1081 {
1082 sym = gelf_getsymshndx (data, xndxdata, cnt, &sym_mem, &xndx);
1083 if (sym == NULL)
1084@@ -683,7 +692,8 @@ section [%2d] '%s': symbol %zu: invalid
1085 else
1086 {
1087 name = elf_strptr (ebl->elf, shdr->sh_link, sym->st_name);
1088- assert (name != NULL);
1089+ assert (name != NULL
1090+ || strshdr->sh_type != SHT_STRTAB);
1091 }
1092
1093 if (sym->st_shndx == SHN_XINDEX)
1094@@ -1032,9 +1042,11 @@ is_rel_dyn (Ebl *ebl, const GElf_Ehdr *e
1095 {
1096 GElf_Shdr rcshdr_mem;
1097 const GElf_Shdr *rcshdr = gelf_getshdr (scn, &rcshdr_mem);
1098- assert (rcshdr != NULL);
1099
1100- if (rcshdr->sh_type == SHT_DYNAMIC)
1101+ if (rcshdr == NULL)
1102+ break;
1103+
1104+ if (rcshdr->sh_type == SHT_DYNAMIC && rcshdr->sh_entsize)
1105 {
1106 /* Found the dynamic section. Look through it. */
1107 Elf_Data *d = elf_getdata (scn, NULL);
1108@@ -1044,7 +1056,9 @@ is_rel_dyn (Ebl *ebl, const GElf_Ehdr *e
1109 {
1110 GElf_Dyn dyn_mem;
1111 GElf_Dyn *dyn = gelf_getdyn (d, cnt, &dyn_mem);
1112- assert (dyn != NULL);
1113+
1114+ if (dyn == NULL)
1115+ break;
1116
1117 if (dyn->d_tag == DT_RELCOUNT)
1118 {
1119@@ -1058,7 +1072,9 @@ section [%2d] '%s': DT_RELCOUNT used for
1120 /* Does the number specified number of relative
1121 relocations exceed the total number of
1122 relocations? */
1123- if (dyn->d_un.d_val > shdr->sh_size / shdr->sh_entsize)
1124+ if (shdr->sh_entsize != 0
1125+ && dyn->d_un.d_val > (shdr->sh_size
1126+ / shdr->sh_entsize))
1127 ERROR (gettext ("\
1128 section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n"),
1129 idx, section_name (ebl, idx),
1130@@ -1218,7 +1234,8 @@ section [%2d] '%s': no relocations for m
1131 }
1132 }
1133
1134- if (shdr->sh_entsize != gelf_fsize (ebl->elf, reltype, 1, EV_CURRENT))
1135+ size_t sh_entsize = gelf_fsize (ebl->elf, reltype, 1, EV_CURRENT);
1136+ if (shdr->sh_entsize != sh_entsize)
1137 ERROR (gettext (reltype == ELF_T_RELA ? "\
1138 section [%2d] '%s': section entry size does not match ElfXX_Rela\n" : "\
1139 section [%2d] '%s': section entry size does not match ElfXX_Rel\n"),
1140@@ -1441,7 +1458,8 @@ check_rela (Ebl *ebl, GElf_Ehdr *ehdr, G
1141 Elf_Data *symdata = elf_getdata (symscn, NULL);
1142 enum load_state state = state_undecided;
1143
1144- for (size_t cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt)
1145+ size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_RELA, 1, EV_CURRENT);
1146+ for (size_t cnt = 0; cnt < shdr->sh_size / sh_entsize; ++cnt)
1147 {
1148 GElf_Rela rela_mem;
1149 GElf_Rela *rela = gelf_getrela (data, cnt, &rela_mem);
1150@@ -1491,7 +1509,8 @@ check_rel (Ebl *ebl, GElf_Ehdr *ehdr, GE
1151 Elf_Data *symdata = elf_getdata (symscn, NULL);
1152 enum load_state state = state_undecided;
1153
1154- for (size_t cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt)
1155+ size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_REL, 1, EV_CURRENT);
1156+ for (size_t cnt = 0; cnt < shdr->sh_size / sh_entsize; ++cnt)
1157 {
1158 GElf_Rel rel_mem;
1159 GElf_Rel *rel = gelf_getrel (data, cnt, &rel_mem);
1160@@ -1590,7 +1609,8 @@ section [%2d] '%s': referenced as string
1161 shdr->sh_link, section_name (ebl, shdr->sh_link),
1162 idx, section_name (ebl, idx));
1163
1164- if (shdr->sh_entsize != gelf_fsize (ebl->elf, ELF_T_DYN, 1, EV_CURRENT))
1165+ size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_DYN, 1, EV_CURRENT);
1166+ if (shdr->sh_entsize != sh_entsize)
1167 ERROR (gettext ("\
1168 section [%2d] '%s': section entry size does not match ElfXX_Dyn\n"),
1169 idx, section_name (ebl, idx));
1170@@ -1600,7 +1620,7 @@ section [%2d] '%s': section entry size d
1171 idx, section_name (ebl, idx));
1172
1173 bool non_null_warned = false;
1174- for (cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt)
1175+ for (cnt = 0; cnt < shdr->sh_size / sh_entsize; ++cnt)
1176 {
1177 GElf_Dyn dyn_mem;
1178 GElf_Dyn *dyn = gelf_getdyn (data, cnt, &dyn_mem);
1179@@ -1872,6 +1892,8 @@ section [%2d] '%s': entry size does not
1180 idx, section_name (ebl, idx));
1181
1182 if (symshdr != NULL
1183+ && shdr->sh_entsize
1184+ && symshdr->sh_entsize
1185 && (shdr->sh_size / shdr->sh_entsize
1186 < symshdr->sh_size / symshdr->sh_entsize))
1187 ERROR (gettext ("\
1188@@ -1898,6 +1920,12 @@ section [%2d] '%s': extended section ind
1189 }
1190
1191 Elf_Data *data = elf_getdata (elf_getscn (ebl->elf, idx), NULL);
1192+ if (data == NULL)
1193+ {
1194+ ERROR (gettext ("section [%2d] '%s': cannot get section data\n"),
1195+ idx, section_name (ebl, idx));
1196+ return;
1197+ }
1198
1199 if (*((Elf32_Word *) data->d_buf) != 0)
1200 ERROR (gettext ("symbol 0 should have zero extended section index\n"));
1201@@ -1940,7 +1968,7 @@ section [%2d] '%s': hash table section i
1202
1203 size_t maxidx = nchain;
1204
1205- if (symshdr != NULL)
1206+ if (symshdr != NULL && symshdr->sh_entsize != 0)
1207 {
1208 size_t symsize = symshdr->sh_size / symshdr->sh_entsize;
1209
1210@@ -1951,18 +1979,28 @@ section [%2d] '%s': hash table section i
1211 maxidx = symsize;
1212 }
1213
1214+ Elf32_Word *buf = (Elf32_Word *) data->d_buf;
1215+ Elf32_Word *end = (Elf32_Word *) ((char *) data->d_buf + shdr->sh_size);
1216 size_t cnt;
1217 for (cnt = 2; cnt < 2 + nbucket; ++cnt)
1218- if (((Elf32_Word *) data->d_buf)[cnt] >= maxidx)
1219+ {
1220+ if (buf + cnt >= end)
1221+ break;
1222+ else if (buf[cnt] >= maxidx)
1223 ERROR (gettext ("\
1224 section [%2d] '%s': hash bucket reference %zu out of bounds\n"),
1225 idx, section_name (ebl, idx), cnt - 2);
1226+ }
1227
1228 for (; cnt < 2 + nbucket + nchain; ++cnt)
1229- if (((Elf32_Word *) data->d_buf)[cnt] >= maxidx)
1230+ {
1231+ if (buf + cnt >= end)
1232+ break;
1233+ else if (buf[cnt] >= maxidx)
1234 ERROR (gettext ("\
1235 section [%2d] '%s': hash chain reference %zu out of bounds\n"),
1236 idx, section_name (ebl, idx), cnt - 2 - nbucket);
1237+ }
1238 }
1239
1240
1241@@ -1992,18 +2030,28 @@ section [%2d] '%s': hash table section i
1242 maxidx = symsize;
1243 }
1244
1245+ Elf64_Xword *buf = (Elf64_Xword *) data->d_buf;
1246+ Elf64_Xword *end = (Elf64_Xword *) ((char *) data->d_buf + shdr->sh_size);
1247 size_t cnt;
1248 for (cnt = 2; cnt < 2 + nbucket; ++cnt)
1249- if (((Elf64_Xword *) data->d_buf)[cnt] >= maxidx)
1250+ {
1251+ if (buf + cnt >= end)
1252+ break;
1253+ else if (buf[cnt] >= maxidx)
1254 ERROR (gettext ("\
1255 section [%2d] '%s': hash bucket reference %zu out of bounds\n"),
1256 idx, section_name (ebl, idx), cnt - 2);
1257+ }
1258
1259 for (; cnt < 2 + nbucket + nchain; ++cnt)
1260- if (((Elf64_Xword *) data->d_buf)[cnt] >= maxidx)
1261+ {
1262+ if (buf + cnt >= end)
1263+ break;
1264+ else if (buf[cnt] >= maxidx)
1265 ERROR (gettext ("\
1266 section [%2d] '%s': hash chain reference %" PRIu64 " out of bounds\n"),
1267- idx, section_name (ebl, idx), (uint64_t) (cnt - 2 - nbucket));
1268+ idx, section_name (ebl, idx), (uint64_t) cnt - 2 - nbucket);
1269+ }
1270 }
1271
1272
1273@@ -2028,7 +2076,7 @@ section [%2d] '%s': bitmask size not pow
1274 if (shdr->sh_size < (4 + bitmask_words + nbuckets) * sizeof (Elf32_Word))
1275 {
1276 ERROR (gettext ("\
1277-section [%2d] '%s': hash table section is too small (is %ld, expected at least%ld)\n"),
1278+section [%2d] '%s': hash table section is too small (is %ld, expected at least %ld)\n"),
1279 idx, section_name (ebl, idx), (long int) shdr->sh_size,
1280 (long int) ((4 + bitmask_words + nbuckets) * sizeof (Elf32_Word)));
1281 return;
1282@@ -2700,8 +2748,9 @@ section [%2d] '%s' refers in sh_link to
1283
1284 /* The number of elements in the version symbol table must be the
1285 same as the number of symbols. */
1286- if (shdr->sh_size / shdr->sh_entsize
1287- != symshdr->sh_size / symshdr->sh_entsize)
1288+ if (shdr->sh_entsize && symshdr->sh_entsize
1289+ && (shdr->sh_size / shdr->sh_entsize
1290+ != symshdr->sh_size / symshdr->sh_entsize))
1291 ERROR (gettext ("\
1292 section [%2d] '%s' has different number of entries than symbol table [%2d] '%s'\n"),
1293 idx, section_name (ebl, idx),
1294Index: elfutils-0.155/src/readelf.c
1295===================================================================
1296--- elfutils-0.155.orig/src/readelf.c 2010-07-03 13:07:10.000000000 +0000
1297+++ elfutils-0.155/src/readelf.c 2010-07-03 13:07:11.000000000 +0000
1298@@ -1189,6 +1189,8 @@ handle_scngrp (Ebl *ebl, Elf_Scn *scn, G
1299 Elf32_Word *grpref = (Elf32_Word *) data->d_buf;
1300
1301 GElf_Sym sym_mem;
1302+ GElf_Sym *sym = gelf_getsym (symdata, shdr->sh_info, &sym_mem);
1303+
1304 printf ((grpref[0] & GRP_COMDAT)
1305 ? ngettext ("\
1306 \nCOMDAT section group [%2zu] '%s' with signature '%s' contains %zu entry:\n",
1307@@ -1201,8 +1203,8 @@ handle_scngrp (Ebl *ebl, Elf_Scn *scn, G
1308 data->d_size / sizeof (Elf32_Word) - 1),
1309 elf_ndxscn (scn),
1310 elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
1311- elf_strptr (ebl->elf, symshdr->sh_link,
1312- gelf_getsym (symdata, shdr->sh_info, &sym_mem)->st_name)
1313+ (sym == NULL ? NULL
1314+ : elf_strptr (ebl->elf, symshdr->sh_link, sym->st_name))
1315 ?: gettext ("<INVALID SYMBOL>"),
1316 data->d_size / sizeof (Elf32_Word) - 1);
1317
1318@@ -1353,10 +1355,12 @@ static void
1319 handle_dynamic (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr)
1320 {
1321 int class = gelf_getclass (ebl->elf);
1322- GElf_Shdr glink;
1323+ GElf_Shdr glink_mem;
1324+ GElf_Shdr *glink;
1325 Elf_Data *data;
1326 size_t cnt;
1327 size_t shstrndx;
1328+ size_t sh_entsize;
1329
1330 /* Get the data of the section. */
1331 data = elf_getdata (scn, NULL);
1332@@ -1368,21 +1372,26 @@ handle_dynamic (Ebl *ebl, Elf_Scn *scn,
1333 error (EXIT_FAILURE, 0,
1334 gettext ("cannot get section header string table index"));
1335
1336+ sh_entsize = gelf_fsize (ebl->elf, ELF_T_DYN, 1, EV_CURRENT);
1337+
1338+ glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), &glink_mem);
1339+ if (glink == NULL)
1340+ error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %Zu"),
1341+ elf_ndxscn (scn));
1342+
1343 printf (ngettext ("\
1344 \nDynamic segment contains %lu entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
1345 "\
1346 \nDynamic segment contains %lu entries:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
1347- shdr->sh_size / shdr->sh_entsize),
1348- (unsigned long int) (shdr->sh_size / shdr->sh_entsize),
1349+ shdr->sh_size / sh_entsize),
1350+ (unsigned long int) (shdr->sh_size / sh_entsize),
1351 class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
1352 shdr->sh_offset,
1353 (int) shdr->sh_link,
1354- elf_strptr (ebl->elf, shstrndx,
1355- gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
1356- &glink)->sh_name));
1357+ elf_strptr (ebl->elf, shstrndx, glink->sh_name));
1358 fputs_unlocked (gettext (" Type Value\n"), stdout);
1359
1360- for (cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt)
1361+ for (cnt = 0; cnt < shdr->sh_size / sh_entsize; ++cnt)
1362 {
1363 GElf_Dyn dynmem;
1364 GElf_Dyn *dyn = gelf_getdyn (data, cnt, &dynmem);
1365@@ -1531,7 +1540,8 @@ static void
1366 handle_relocs_rel (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, GElf_Shdr *shdr)
1367 {
1368 int class = gelf_getclass (ebl->elf);
1369- int nentries = shdr->sh_size / shdr->sh_entsize;
1370+ size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_REL, 1, EV_CURRENT);
1371+ int nentries = shdr->sh_size / sh_entsize;
1372
1373 /* Get the data of the section. */
1374 Elf_Data *data = elf_getdata (scn, NULL);
1375@@ -1717,7 +1727,8 @@ static void
1376 handle_relocs_rela (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, GElf_Shdr *shdr)
1377 {
1378 int class = gelf_getclass (ebl->elf);
1379- int nentries = shdr->sh_size / shdr->sh_entsize;
1380+ size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_RELA, 1, EV_CURRENT);
1381+ int nentries = shdr->sh_size / sh_entsize;
1382
1383 /* Get the data of the section. */
1384 Elf_Data *data = elf_getdata (scn, NULL);
1385@@ -1964,6 +1975,13 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, G
1386 error (EXIT_FAILURE, 0,
1387 gettext ("cannot get section header string table index"));
1388
1389+ GElf_Shdr glink_mem;
1390+ GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
1391+ &glink_mem);
1392+ if (glink == NULL)
1393+ error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %Zu"),
1394+ elf_ndxscn (scn));
1395+
1396 /* Now we can compute the number of entries in the section. */
1397 unsigned int nsyms = data->d_size / (class == ELFCLASS32
1398 ? sizeof (Elf32_Sym)
1399@@ -1974,15 +1992,12 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, G
1400 nsyms),
1401 (unsigned int) elf_ndxscn (scn),
1402 elf_strptr (ebl->elf, shstrndx, shdr->sh_name), nsyms);
1403- GElf_Shdr glink;
1404 printf (ngettext (" %lu local symbol String table: [%2u] '%s'\n",
1405 " %lu local symbols String table: [%2u] '%s'\n",
1406 shdr->sh_info),
1407 (unsigned long int) shdr->sh_info,
1408 (unsigned int) shdr->sh_link,
1409- elf_strptr (ebl->elf, shstrndx,
1410- gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
1411- &glink)->sh_name));
1412+ elf_strptr (ebl->elf, shstrndx, glink->sh_name));
1413
1414 fputs_unlocked (class == ELFCLASS32
1415 ? gettext ("\
1416@@ -2218,7 +2233,13 @@ handle_verneed (Ebl *ebl, Elf_Scn *scn,
1417 error (EXIT_FAILURE, 0,
1418 gettext ("cannot get section header string table index"));
1419
1420- GElf_Shdr glink;
1421+ GElf_Shdr glink_mem;
1422+ GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
1423+ &glink_mem);
1424+ if (glink == NULL)
1425+ error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %Zu"),
1426+ elf_ndxscn (scn));
1427+
1428 printf (ngettext ("\
1429 \nVersion needs section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
1430 "\
1431@@ -2229,9 +2250,7 @@ handle_verneed (Ebl *ebl, Elf_Scn *scn,
1432 class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
1433 shdr->sh_offset,
1434 (unsigned int) shdr->sh_link,
1435- elf_strptr (ebl->elf, shstrndx,
1436- gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
1437- &glink)->sh_name));
1438+ elf_strptr (ebl->elf, shstrndx, glink->sh_name));
1439
1440 unsigned int offset = 0;
1441 for (int cnt = shdr->sh_info; --cnt >= 0; )
1442@@ -2284,8 +2303,14 @@ handle_verdef (Ebl *ebl, Elf_Scn *scn, G
1443 error (EXIT_FAILURE, 0,
1444 gettext ("cannot get section header string table index"));
1445
1446+ GElf_Shdr glink_mem;
1447+ GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
1448+ &glink_mem);
1449+ if (glink == NULL)
1450+ error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %Zu"),
1451+ elf_ndxscn (scn));
1452+
1453 int class = gelf_getclass (ebl->elf);
1454- GElf_Shdr glink;
1455 printf (ngettext ("\
1456 \nVersion definition section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
1457 "\
1458@@ -2297,9 +2322,7 @@ handle_verdef (Ebl *ebl, Elf_Scn *scn, G
1459 class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
1460 shdr->sh_offset,
1461 (unsigned int) shdr->sh_link,
1462- elf_strptr (ebl->elf, shstrndx,
1463- gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
1464- &glink)->sh_name));
1465+ elf_strptr (ebl->elf, shstrndx, glink->sh_name));
1466
1467 unsigned int offset = 0;
1468 for (int cnt = shdr->sh_info; --cnt >= 0; )
1469@@ -2561,25 +2584,30 @@ handle_versym (Ebl *ebl, Elf_Scn *scn, G
1470 filename = NULL;
1471 }
1472
1473+ GElf_Shdr glink_mem;
1474+ GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
1475+ &glink_mem);
1476+ size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_HALF, 1, EV_CURRENT);
1477+ if (glink == NULL)
1478+ error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %Zu"),
1479+ elf_ndxscn (scn));
1480+
1481 /* Print the header. */
1482- GElf_Shdr glink;
1483 printf (ngettext ("\
1484 \nVersion symbols section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'",
1485 "\
1486 \nVersion symbols section [%2u] '%s' contains %d entries:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'",
1487- shdr->sh_size / shdr->sh_entsize),
1488+ shdr->sh_size / sh_entsize),
1489 (unsigned int) elf_ndxscn (scn),
1490 elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
1491- (int) (shdr->sh_size / shdr->sh_entsize),
1492+ (int) (shdr->sh_size / sh_entsize),
1493 class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
1494 shdr->sh_offset,
1495 (unsigned int) shdr->sh_link,
1496- elf_strptr (ebl->elf, shstrndx,
1497- gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
1498- &glink)->sh_name));
1499+ elf_strptr (ebl->elf, shstrndx, glink->sh_name));
1500
1501 /* Now we can finally look at the actual contents of this section. */
1502- for (unsigned int cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt)
1503+ for (unsigned int cnt = 0; cnt < shdr->sh_size / sh_entsize; ++cnt)
1504 {
1505 if (cnt % 2 == 0)
1506 printf ("\n %4d:", cnt);
1507@@ -2628,7 +2656,17 @@ print_hash_info (Ebl *ebl, Elf_Scn *scn,
1508 for (Elf32_Word cnt = 0; cnt < nbucket; ++cnt)
1509 ++counts[lengths[cnt]];
1510
1511- GElf_Shdr glink;
1512+ GElf_Shdr glink_mem;
1513+ GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf,
1514+ shdr->sh_link),
1515+ &glink_mem);
1516+ if (glink == NULL)
1517+ {
1518+ error (0, 0, gettext ("invalid sh_link value in section %Zu"),
1519+ elf_ndxscn (scn));
1520+ return;
1521+ }
1522+
1523 printf (ngettext ("\
1524 \nHistogram for bucket list length in section [%2u] '%s' (total of %d bucket):\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
1525 "\
1526@@ -2641,9 +2679,7 @@ print_hash_info (Ebl *ebl, Elf_Scn *scn,
1527 shdr->sh_addr,
1528 shdr->sh_offset,
1529 (unsigned int) shdr->sh_link,
1530- elf_strptr (ebl->elf, shstrndx,
1531- gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
1532- &glink)->sh_name));
1533+ elf_strptr (ebl->elf, shstrndx, glink->sh_name));
1534
1535 if (extrastr != NULL)
1536 fputs (extrastr, stdout);
1537@@ -2903,7 +2939,8 @@ print_liblist (Ebl *ebl)
1538
1539 if (shdr != NULL && shdr->sh_type == SHT_GNU_LIBLIST)
1540 {
1541- int nentries = shdr->sh_size / shdr->sh_entsize;
1542+ size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_LIB, 1, EV_CURRENT);
1543+ int nentries = shdr->sh_size / sh_entsize;
1544 printf (ngettext ("\
1545 \nLibrary list section [%2zu] '%s' at offset %#0" PRIx64 " contains %d entry:\n",
1546 "\
1547@@ -4164,6 +4201,16 @@ print_debug_aranges_section (Dwfl_Module
1548 return;
1549 }
1550
1551+ GElf_Shdr glink_mem;
1552+ GElf_Shdr *glink;
1553+ glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), &glink_mem);
1554+ if (glink == NULL)
1555+ {
1556+ error (0, 0, gettext ("invalid sh_link value in section %Zu"),
1557+ elf_ndxscn (scn));
1558+ return;
1559+ }
1560+
1561 printf (ngettext ("\
1562 \nDWARF section [%2zu] '%s' at offset %#" PRIx64 " contains %zu entry:\n",
1563 "\
1564Index: elfutils-0.155/src/strip.c
1565===================================================================
1566--- elfutils-0.155.orig/src/strip.c 2010-07-03 13:07:10.000000000 +0000
1567+++ elfutils-0.155/src/strip.c 2010-07-03 13:07:11.000000000 +0000
1568@@ -564,6 +564,11 @@ handle_elf (int fd, Elf *elf, const char
1569 goto fail_close;
1570 }
1571
1572+ if (shstrndx >= shnum)
1573+ goto illformed;
1574+
1575+#define elf_assert(test) do { if (!(test)) goto illformed; } while (0)
1576+
1577 /* Storage for section information. We leave room for two more
1578 entries since we unconditionally create a section header string
1579 table. Maybe some weird tool created an ELF file without one.
1580@@ -585,7 +590,7 @@ handle_elf (int fd, Elf *elf, const char
1581 {
1582 /* This should always be true (i.e., there should not be any
1583 holes in the numbering). */
1584- assert (elf_ndxscn (scn) == cnt);
1585+ elf_assert (elf_ndxscn (scn) == cnt);
1586
1587 shdr_info[cnt].scn = scn;
1588
1589@@ -598,6 +603,7 @@ handle_elf (int fd, Elf *elf, const char
1590 shdr_info[cnt].shdr.sh_name);
1591 if (shdr_info[cnt].name == NULL)
1592 {
1593+ illformed:
1594 error (0, 0, gettext ("illformed file '%s'"), fname);
1595 goto fail_close;
1596 }
1597@@ -607,6 +613,8 @@ handle_elf (int fd, Elf *elf, const char
1598
1599 /* Remember the shdr.sh_link value. */
1600 shdr_info[cnt].old_sh_link = shdr_info[cnt].shdr.sh_link;
1601+ if (shdr_info[cnt].old_sh_link >= shnum)
1602+ goto illformed;
1603
1604 /* Sections in files other than relocatable object files which
1605 are not loaded can be freely moved by us. In relocatable
1606@@ -619,7 +627,7 @@ handle_elf (int fd, Elf *elf, const char
1607 appropriate reference. */
1608 if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_SYMTAB_SHNDX))
1609 {
1610- assert (shdr_info[shdr_info[cnt].shdr.sh_link].symtab_idx == 0);
1611+ elf_assert (shdr_info[shdr_info[cnt].shdr.sh_link].symtab_idx == 0);
1612 shdr_info[shdr_info[cnt].shdr.sh_link].symtab_idx = cnt;
1613 }
1614 else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GROUP))
1615@@ -636,7 +644,12 @@ handle_elf (int fd, Elf *elf, const char
1616 for (inner = 1;
1617 inner < shdr_info[cnt].data->d_size / sizeof (Elf32_Word);
1618 ++inner)
1619+ {
1620+ if (grpref[inner] < shnum)
1621 shdr_info[grpref[inner]].group_idx = cnt;
1622+ else
1623+ goto illformed;
1624+ }
1625
1626 if (inner == 1 || (inner == 2 && (grpref[0] & GRP_COMDAT) == 0))
1627 /* If the section group contains only one element and this
1628@@ -647,7 +660,7 @@ handle_elf (int fd, Elf *elf, const char
1629 }
1630 else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GNU_versym))
1631 {
1632- assert (shdr_info[shdr_info[cnt].shdr.sh_link].version_idx == 0);
1633+ elf_assert (shdr_info[shdr_info[cnt].shdr.sh_link].version_idx == 0);
1634 shdr_info[shdr_info[cnt].shdr.sh_link].version_idx = cnt;
1635 }
1636
1637@@ -655,7 +668,7 @@ handle_elf (int fd, Elf *elf, const char
1638 discarded right away. */
1639 if ((shdr_info[cnt].shdr.sh_flags & SHF_GROUP) != 0)
1640 {
1641- assert (shdr_info[cnt].group_idx != 0);
1642+ elf_assert (shdr_info[cnt].group_idx != 0);
1643
1644 if (shdr_info[shdr_info[cnt].group_idx].idx == 0)
1645 {
1646@@ -731,10 +744,14 @@ handle_elf (int fd, Elf *elf, const char
1647 {
1648 /* If a relocation section is marked as being removed make
1649 sure the section it is relocating is removed, too. */
1650- if ((shdr_info[cnt].shdr.sh_type == SHT_REL
1651+ if (shdr_info[cnt].shdr.sh_type == SHT_REL
1652 || shdr_info[cnt].shdr.sh_type == SHT_RELA)
1653- && shdr_info[shdr_info[cnt].shdr.sh_info].idx != 0)
1654- shdr_info[cnt].idx = 1;
1655+ {
1656+ if (shdr_info[cnt].shdr.sh_info >= shnum)
1657+ goto illformed;
1658+ else if (shdr_info[shdr_info[cnt].shdr.sh_info].idx != 0)
1659+ shdr_info[cnt].idx = 1;
1660+ }
1661
1662 /* If a group section is marked as being removed make
1663 sure all the sections it contains are being removed, too. */
1664@@ -778,7 +795,7 @@ handle_elf (int fd, Elf *elf, const char
1665 if (shdr_info[cnt].symtab_idx != 0
1666 && shdr_info[shdr_info[cnt].symtab_idx].data == NULL)
1667 {
1668- assert (shdr_info[cnt].shdr.sh_type == SHT_SYMTAB);
1669+ elf_assert (shdr_info[cnt].shdr.sh_type == SHT_SYMTAB);
1670
1671 shdr_info[shdr_info[cnt].symtab_idx].data
1672 = elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn,
1673@@ -818,6 +835,9 @@ handle_elf (int fd, Elf *elf, const char
1674 else if (scnidx == SHN_XINDEX)
1675 scnidx = xndx;
1676
1677+ if (scnidx >= shnum)
1678+ goto illformed;
1679+
1680 if (shdr_info[scnidx].idx == 0)
1681 /* This symbol table has a real symbol in
1682 a discarded section. So preserve the
1683@@ -848,12 +868,16 @@ handle_elf (int fd, Elf *elf, const char
1684 }
1685
1686 /* Handle references through sh_info. */
1687- if (SH_INFO_LINK_P (&shdr_info[cnt].shdr)
1688- && shdr_info[shdr_info[cnt].shdr.sh_info].idx == 0)
1689+ if (SH_INFO_LINK_P (&shdr_info[cnt].shdr))
1690+ {
1691+ if (shdr_info[cnt].shdr.sh_info >= shnum)
1692+ goto illformed;
1693+ else if ( shdr_info[shdr_info[cnt].shdr.sh_info].idx == 0)
1694 {
1695 shdr_info[shdr_info[cnt].shdr.sh_info].idx = 1;
1696 changes |= shdr_info[cnt].shdr.sh_info < cnt;
1697 }
1698+ }
1699
1700 /* Mark the section as investigated. */
1701 shdr_info[cnt].idx = 2;
1702@@ -994,7 +1018,7 @@ handle_elf (int fd, Elf *elf, const char
1703 error (EXIT_FAILURE, 0, gettext ("while generating output file: %s"),
1704 elf_errmsg (-1));
1705
1706- assert (elf_ndxscn (shdr_info[cnt].newscn) == shdr_info[cnt].idx);
1707+ elf_assert (elf_ndxscn (shdr_info[cnt].newscn) == shdr_info[cnt].idx);
1708
1709 /* Add this name to the section header string table. */
1710 shdr_info[cnt].se = ebl_strtabadd (shst, shdr_info[cnt].name, 0);
1711@@ -1031,7 +1055,7 @@ handle_elf (int fd, Elf *elf, const char
1712 error (EXIT_FAILURE, 0,
1713 gettext ("while create section header section: %s"),
1714 elf_errmsg (-1));
1715- assert (elf_ndxscn (shdr_info[cnt].newscn) == shdr_info[cnt].idx);
1716+ elf_assert (elf_ndxscn (shdr_info[cnt].newscn) == shdr_info[cnt].idx);
1717
1718 shdr_info[cnt].data = elf_newdata (shdr_info[cnt].newscn);
1719 if (shdr_info[cnt].data == NULL)
1720@@ -1087,7 +1111,7 @@ handle_elf (int fd, Elf *elf, const char
1721 error (EXIT_FAILURE, 0,
1722 gettext ("while create section header section: %s"),
1723 elf_errmsg (-1));
1724- assert (elf_ndxscn (shdr_info[cnt].newscn) == idx);
1725+ elf_assert (elf_ndxscn (shdr_info[cnt].newscn) == idx);
1726
1727 /* Finalize the string table and fill in the correct indices in the
1728 section headers. */
1729@@ -1177,20 +1201,20 @@ handle_elf (int fd, Elf *elf, const char
1730 shndxdata = elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn,
1731 NULL);
1732
1733- assert ((versiondata->d_size / sizeof (Elf32_Word))
1734+ elf_assert ((versiondata->d_size / sizeof (Elf32_Word))
1735 >= shdr_info[cnt].data->d_size / elsize);
1736 }
1737
1738 if (shdr_info[cnt].version_idx != 0)
1739 {
1740- assert (shdr_info[cnt].shdr.sh_type == SHT_DYNSYM);
1741+ elf_assert (shdr_info[cnt].shdr.sh_type == SHT_DYNSYM);
1742 /* This section has associated version
1743 information. We have to modify that
1744 information, too. */
1745 versiondata = elf_getdata (shdr_info[shdr_info[cnt].version_idx].scn,
1746 NULL);
1747
1748- assert ((versiondata->d_size / sizeof (GElf_Versym))
1749+ elf_assert ((versiondata->d_size / sizeof (GElf_Versym))
1750 >= shdr_info[cnt].data->d_size / elsize);
1751 }
1752
1753@@ -1245,7 +1269,7 @@ handle_elf (int fd, Elf *elf, const char
1754 sec = shdr_info[sym->st_shndx].idx;
1755 else
1756 {
1757- assert (shndxdata != NULL);
1758+ elf_assert (shndxdata != NULL);
1759
1760 sec = shdr_info[xshndx].idx;
1761 }
1762@@ -1266,7 +1290,7 @@ handle_elf (int fd, Elf *elf, const char
1763 nxshndx = sec;
1764 }
1765
1766- assert (sec < SHN_LORESERVE || shndxdata != NULL);
1767+ elf_assert (sec < SHN_LORESERVE || shndxdata != NULL);
1768
1769 if ((inner != destidx || nshndx != sym->st_shndx
1770 || (shndxdata != NULL && nxshndx != xshndx))
1771@@ -1293,9 +1317,11 @@ handle_elf (int fd, Elf *elf, const char
1772 {
1773 size_t sidx = (sym->st_shndx != SHN_XINDEX
1774 ? sym->st_shndx : xshndx);
1775- assert (GELF_ST_TYPE (sym->st_info) == STT_SECTION
1776- || (shdr_info[sidx].shdr.sh_type == SHT_GROUP
1777- && shdr_info[sidx].shdr.sh_info == inner));
1778+ elf_assert (GELF_ST_TYPE (sym->st_info) == STT_SECTION
1779+ || ((shdr_info[sidx].shdr.sh_type
1780+ == SHT_GROUP)
1781+ && (shdr_info[sidx].shdr.sh_info
1782+ == inner)));
1783 }
1784 }
1785
1786@@ -1483,11 +1509,11 @@ handle_elf (int fd, Elf *elf, const char
1787 {
1788 GElf_Sym sym_mem;
1789 GElf_Sym *sym = gelf_getsym (symd, inner, &sym_mem);
1790- assert (sym != NULL);
1791+ elf_assert (sym != NULL);
1792
1793 const char *name = elf_strptr (elf, strshndx,
1794 sym->st_name);
1795- assert (name != NULL);
1796+ elf_assert (name != NULL);
1797 size_t hidx = elf_hash (name) % nbucket;
1798
1799 if (bucket[hidx] == 0)
1800@@ -1506,8 +1532,8 @@ handle_elf (int fd, Elf *elf, const char
1801 else
1802 {
1803 /* Alpha and S390 64-bit use 64-bit SHT_HASH entries. */
1804- assert (shdr_info[cnt].shdr.sh_entsize
1805- == sizeof (Elf64_Xword));
1806+ elf_assert (shdr_info[cnt].shdr.sh_entsize
1807+ == sizeof (Elf64_Xword));
1808
1809 Elf64_Xword *bucket = (Elf64_Xword *) hashd->d_buf;
1810
1811@@ -1537,11 +1563,11 @@ handle_elf (int fd, Elf *elf, const char
1812 {
1813 GElf_Sym sym_mem;
1814 GElf_Sym *sym = gelf_getsym (symd, inner, &sym_mem);
1815- assert (sym != NULL);
1816+ elf_assert (sym != NULL);
1817
1818 const char *name = elf_strptr (elf, strshndx,
1819 sym->st_name);
1820- assert (name != NULL);
1821+ elf_assert (name != NULL);
1822 size_t hidx = elf_hash (name) % nbucket;
1823
1824 if (bucket[hidx] == 0)
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.155/uclibc-support.patch b/meta/recipes-devtools/elfutils/elfutils-0.155/uclibc-support.patch
new file mode 100644
index 0000000000..fbaf1e9dcd
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils-0.155/uclibc-support.patch
@@ -0,0 +1,91 @@
1on uclibc systems libintl and libuargp are separate from libc.
2so they need to be specified on commandline when we use proxy-libintl
3then libintl is a static archive so it should be listed last since
4elfutils does not respect disable-nls we need to link in libintl
5
6We add a new option --enable-uclibc which will be used to control
7the uclibc specific configurations during build.
8
9Signed-off-by: Khem Raj <raj.khem>
10
11Upstream-Status: Inappropriate [uclibc specific]
12
13Index: elfutils-0.155/configure.ac
14===================================================================
15--- elfutils-0.155.orig/configure.ac
16+++ elfutils-0.155/configure.ac
17@@ -55,9 +55,16 @@ AS_IF([test "$use_locks" = yes], [AC_DEF
18
19 AH_TEMPLATE([USE_LOCKS], [Defined if libraries should be thread-safe.])
20
21+AC_ARG_ENABLE([uclibc],
22+AS_HELP_STRING([--enable-uclibc], [Use uclibc for system libraries]),
23+use_uclibc=yes, use_uclibc=no)
24+AM_CONDITIONAL(USE_UCLIBC, test "$use_uclibc" = yes)
25+AS_IF([test "$use_uclibc" = yes], [AC_DEFINE(USE_UCLIBC)])
26+
27+AH_TEMPLATE([USE_UCLIBC], [Defined if uclibc libraries are used.])
28+
29 dnl Add all the languages for which translations are available.
30 ALL_LINGUAS=
31-
32 AC_PROG_CC
33 AC_PROG_RANLIB
34 AC_PROG_YACC
35Index: elfutils-0.155/libelf/Makefile.am
36===================================================================
37--- elfutils-0.155.orig/libelf/Makefile.am
38+++ elfutils-0.155/libelf/Makefile.am
39@@ -93,7 +93,12 @@ if !MUDFLAP
40 libelf_pic_a_SOURCES =
41 am_libelf_pic_a_OBJECTS = $(libelf_a_SOURCES:.c=.os)
42
43+
44 libelf_so_LDLIBS =
45+if USE_UCLIBC
46+libelf_so_LDLIBS += -lintl -luargp
47+endif
48+
49 if USE_LOCKS
50 libelf_so_LDLIBS += -lpthread
51 endif
52Index: elfutils-0.155/libdw/Makefile.am
53===================================================================
54--- elfutils-0.155.orig/libdw/Makefile.am
55+++ elfutils-0.155/libdw/Makefile.am
56@@ -98,6 +98,11 @@ if !MUDFLAP
57 libdw_pic_a_SOURCES =
58 am_libdw_pic_a_OBJECTS = $(libdw_a_SOURCES:.c=.os)
59
60+libdw_so_LDLIBS =
61+if USE_UCLIBC
62+libdw_so_LDLIBS += -lintl -luargp
63+endif
64+
65 libdw_so_SOURCES =
66 libdw.so: $(srcdir)/libdw.map libdw_pic.a \
67 ../libdwfl/libdwfl_pic.a ../libebl/libebl.a \
68@@ -108,7 +113,7 @@ libdw.so: $(srcdir)/libdw.map libdw_pic.
69 -Wl,--enable-new-dtags,-rpath,$(pkglibdir) \
70 -Wl,--version-script,$<,--no-undefined \
71 -Wl,--whole-archive $(filter-out $<,$^) -Wl,--no-whole-archive\
72- -ldl $(zip_LIBS)
73+ -ldl $(zip_LIBS) $(libdw_so_LDLIBS)
74 if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
75 ln -fs $@ $@.$(VERSION)
76
77Index: elfutils-0.155/libcpu/Makefile.am
78===================================================================
79--- elfutils-0.155.orig/libcpu/Makefile.am
80+++ elfutils-0.155/libcpu/Makefile.am
81@@ -63,6 +63,10 @@ i386_parse_CFLAGS = -DNMNES="`wc -l < i3
82 i386_lex.o: i386_parse.h
83 i386_gendis_LDADD = $(libeu) -lm $(libmudflap)
84
85+if USE_UCLIBC
86+i386_gendis_LDADD += -luargp -lintl
87+endif
88+
89 i386_parse.h: i386_parse.c ;
90
91 noinst_HEADERS = memory-access.h i386_parse.h i386_data.h
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.155/x86_64_dis.h b/meta/recipes-devtools/elfutils/elfutils-0.155/x86_64_dis.h
new file mode 100644
index 0000000000..a0198bed97
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils-0.155/x86_64_dis.h
@@ -0,0 +1,1632 @@
1#define MNEMONIC_BITS 10
2#define SUFFIX_BITS 3
3#define FCT1_BITS 7
4#define STR1_BITS 4
5#define OFF1_1_BITS 7
6#define OFF1_1_BIAS 3
7#define OFF1_2_BITS 7
8#define OFF1_2_BIAS 4
9#define OFF1_3_BITS 1
10#define OFF1_3_BIAS 7
11#define FCT2_BITS 6
12#define STR2_BITS 2
13#define OFF2_1_BITS 7
14#define OFF2_1_BIAS 5
15#define OFF2_2_BITS 7
16#define OFF2_2_BIAS 4
17#define OFF2_3_BITS 4
18#define OFF2_3_BIAS 7
19#define FCT3_BITS 4
20#define STR3_BITS 1
21#define OFF3_1_BITS 6
22#define OFF3_1_BIAS 10
23#define OFF3_2_BITS 1
24#define OFF3_2_BIAS 21
25
26#include <i386_data.h>
27
28#define suffix_none 0
29#define suffix_w 1
30#define suffix_w0 2
31#define suffix_W 3
32#define suffix_tttn 4
33#define suffix_D 7
34#define suffix_w1 5
35#define suffix_W1 6
36
37static const opfct_t op1_fct[] =
38{
39 NULL,
40 FCT_MOD$R_M,
41 FCT_Mod$R_m,
42 FCT_abs,
43 FCT_ax,
44 FCT_ax$w,
45 FCT_ccc,
46 FCT_ddd,
47 FCT_disp8,
48 FCT_ds_bx,
49 FCT_ds_si,
50 FCT_dx,
51 FCT_es_di,
52 FCT_freg,
53 FCT_imm$s,
54 FCT_imm$w,
55 FCT_imm16,
56 FCT_imm64$w,
57 FCT_imm8,
58 FCT_imms8,
59 FCT_mmxreg,
60 FCT_mod$16r_m,
61 FCT_mod$64r_m,
62 FCT_mod$8r_m,
63 FCT_mod$r_m,
64 FCT_mod$r_m$w,
65 FCT_reg,
66 FCT_reg$w,
67 FCT_reg64,
68 FCT_rel,
69 FCT_sel,
70 FCT_sreg2,
71 FCT_sreg3,
72 FCT_string,
73 FCT_xmmreg,
74};
75static const char op1_str[] =
76 "%ax\0"
77 "%cl\0"
78 "%rax\0"
79 "%st\0"
80 "%xmm0\0"
81 "*";
82static const uint8_t op1_str_idx[] = {
83 0,
84 4,
85 8,
86 13,
87 17,
88 23,
89};
90static const opfct_t op2_fct[] =
91{
92 NULL,
93 FCT_MOD$R_M,
94 FCT_Mod$R_m,
95 FCT_abs,
96 FCT_absval,
97 FCT_ax$w,
98 FCT_ccc,
99 FCT_ddd,
100 FCT_ds_si,
101 FCT_dx,
102 FCT_es_di,
103 FCT_freg,
104 FCT_imm8,
105 FCT_mmxreg,
106 FCT_mod$64r_m,
107 FCT_mod$r_m,
108 FCT_mod$r_m$w,
109 FCT_oreg,
110 FCT_oreg$w,
111 FCT_reg,
112 FCT_reg$w,
113 FCT_reg64,
114 FCT_sreg3,
115 FCT_string,
116 FCT_xmmreg,
117};
118static const char op2_str[] =
119 "%rcx\0"
120 "%st";
121static const uint8_t op2_str_idx[] = {
122 0,
123 5,
124};
125static const opfct_t op3_fct[] =
126{
127 NULL,
128 FCT_mmxreg,
129 FCT_mod$r_m,
130 FCT_reg,
131 FCT_string,
132 FCT_xmmreg,
133};
134static const char op3_str[] =
135 "%rdx";
136static const uint8_t op3_str_idx[] = {
137 0,
138};
139static const struct instr_enc instrtab[] =
140{
141 { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
142 { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
143 { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
144 { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
145 { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
146 { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
147 { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
148 { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
149 { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
150 { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
151 { .mnemonic = MNE_addsubpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
152 { .mnemonic = MNE_addsubps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
153 { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
154 { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
155 { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
156 { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
157 { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
158 { .mnemonic = MNE_andpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
159 { .mnemonic = MNE_andps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
160 { .mnemonic = MNE_andnpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
161 { .mnemonic = MNE_andnps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
162 { .mnemonic = MNE_movslq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 21, .str2 = 0, .off2_1 = 5, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
163 { .mnemonic = MNE_bsf, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
164 { .mnemonic = MNE_bsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
165 { .mnemonic = MNE_bswap, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 26, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
166 { .mnemonic = MNE_bt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
167 { .mnemonic = MNE_bt, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
168 { .mnemonic = MNE_btc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
169 { .mnemonic = MNE_btc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
170 { .mnemonic = MNE_btr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
171 { .mnemonic = MNE_btr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
172 { .mnemonic = MNE_bts, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
173 { .mnemonic = MNE_bts, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
174 { .mnemonic = MNE_call, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 29, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
175 { .mnemonic = MNE_call, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 22, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
176 { .mnemonic = MNE_lcall, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 22, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
177 { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
178 { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
179 { .mnemonic = MNE_clc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
180 { .mnemonic = MNE_cld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
181 { .mnemonic = MNE_cli, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
182 { .mnemonic = MNE_syscall, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
183 { .mnemonic = MNE_clts, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
184 { .mnemonic = MNE_sysret, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
185 { .mnemonic = MNE_sysenter, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
186 { .mnemonic = MNE_sysexit, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
187 { .mnemonic = MNE_cmc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
188 { .mnemonic = MNE_cmov, .rep = 0, .repe = 0, .suffix = 4, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
189 { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
190 { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
191 { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
192 { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
193 { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
194 { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
195 { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
196 { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
197 { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
198 { .mnemonic = MNE_cmps, .rep = 0, .repe = 1, .suffix = 1, .modrm = 0, .fct1 = 12, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 8, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
199 { .mnemonic = MNE_cmpxchg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 15, .off1_2 = 11, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 8, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
200 { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
201 { .mnemonic = MNE_cpuid, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
202 { .mnemonic = MNE_cvtdq2pd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
203 { .mnemonic = MNE_cvtpd2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
204 { .mnemonic = MNE_cvttpd2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
205 { .mnemonic = MNE_dec, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
206 { .mnemonic = MNE_div, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
207 { .mnemonic = MNE_emms, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
208 { .mnemonic = MNE_enter, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 16, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 12, .str2 = 0, .off2_1 = 19, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
209 { .mnemonic = MNE_fnop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
210 { .mnemonic = MNE_fchs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
211 { .mnemonic = MNE_fabs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
212 { .mnemonic = MNE_ftst, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
213 { .mnemonic = MNE_fxam, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
214 { .mnemonic = MNE_fld1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
215 { .mnemonic = MNE_fldl2t, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
216 { .mnemonic = MNE_fldl2e, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
217 { .mnemonic = MNE_fldpi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
218 { .mnemonic = MNE_fldlg2, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
219 { .mnemonic = MNE_fldln2, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
220 { .mnemonic = MNE_fldz, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
221 { .mnemonic = MNE_f2xm1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
222 { .mnemonic = MNE_fyl2x, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
223 { .mnemonic = MNE_fptan, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
224 { .mnemonic = MNE_fpatan, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
225 { .mnemonic = MNE_fxtract, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
226 { .mnemonic = MNE_fprem1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
227 { .mnemonic = MNE_fdecstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
228 { .mnemonic = MNE_fincstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
229 { .mnemonic = MNE_fprem, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
230 { .mnemonic = MNE_fyl2xp1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
231 { .mnemonic = MNE_fsqrt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
232 { .mnemonic = MNE_fsincos, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
233 { .mnemonic = MNE_frndint, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
234 { .mnemonic = MNE_fscale, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
235 { .mnemonic = MNE_fsin, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
236 { .mnemonic = MNE_fcos, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
237 { .mnemonic = MNE_fadd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
238 { .mnemonic = MNE_fadd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
239 { .mnemonic = MNE_fadd, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
240 { .mnemonic = MNE_fmul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
241 { .mnemonic = MNE_fmul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
242 { .mnemonic = MNE_fmul, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
243 { .mnemonic = MNE_fsub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
244 { .mnemonic = MNE_fsub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
245 { .mnemonic = MNE_fsub, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
246 { .mnemonic = MNE_fsubr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
247 { .mnemonic = MNE_fsubr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
248 { .mnemonic = MNE_fsubr, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
249 { .mnemonic = MNE_fst, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
250 { .mnemonic = MNE_fst, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
251 { .mnemonic = MNE_fstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
252 { .mnemonic = MNE_fstp, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
253 { .mnemonic = MNE_fldenv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
254 { .mnemonic = MNE_fldcw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
255 { .mnemonic = MNE_fnstenv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
256 { .mnemonic = MNE_fnstcw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
257 { .mnemonic = MNE_fxch, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
258 { .mnemonic = MNE_faddp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
259 { .mnemonic = MNE_fcmovb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
260 { .mnemonic = MNE_fiadd, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
261 { .mnemonic = MNE_fcmove, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
262 { .mnemonic = MNE_fmulp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
263 { .mnemonic = MNE_fimul, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
264 { .mnemonic = MNE_fsubp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
265 { .mnemonic = MNE_fisub, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
266 { .mnemonic = MNE_fsubrp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
267 { .mnemonic = MNE_fisubr, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
268 { .mnemonic = MNE_fnstsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 1, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
269 { .mnemonic = MNE_fbld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
270 { .mnemonic = MNE_fcomip, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
271 { .mnemonic = MNE_fbstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
272 { .mnemonic = MNE_fchs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
273 { .mnemonic = MNE_fclex, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
274 { .mnemonic = MNE_finit, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
275 { .mnemonic = MNE_fwait, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
276 { .mnemonic = MNE_fnclex, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
277 { .mnemonic = MNE_fcmovb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
278 { .mnemonic = MNE_fcmove, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
279 { .mnemonic = MNE_fcmovbe, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
280 { .mnemonic = MNE_fcmovu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
281 { .mnemonic = MNE_fcmovnb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
282 { .mnemonic = MNE_fcmovne, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
283 { .mnemonic = MNE_fcmovnbe, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
284 { .mnemonic = MNE_fcmovnu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
285 { .mnemonic = MNE_fcom, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
286 { .mnemonic = MNE_fcom, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
287 { .mnemonic = MNE_fcomp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
288 { .mnemonic = MNE_fcomp, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
289 { .mnemonic = MNE_fcompp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
290 { .mnemonic = MNE_fcomi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
291 { .mnemonic = MNE_fcomip, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
292 { .mnemonic = MNE_fucomi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
293 { .mnemonic = MNE_fucomip, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
294 { .mnemonic = MNE_fcos, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
295 { .mnemonic = MNE_fdecstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
296 { .mnemonic = MNE_fdiv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
297 { .mnemonic = MNE_fdiv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
298 { .mnemonic = MNE_fdiv, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
299 { .mnemonic = MNE_fidivl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
300 { .mnemonic = MNE_fdivp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
301 { .mnemonic = MNE_fidiv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
302 { .mnemonic = MNE_fdivrp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
303 { .mnemonic = MNE_fdivr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
304 { .mnemonic = MNE_fdivr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
305 { .mnemonic = MNE_fdivr, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
306 { .mnemonic = MNE_fidivrl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
307 { .mnemonic = MNE_fidivr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
308 { .mnemonic = MNE_fdivrp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
309 { .mnemonic = MNE_ffree, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
310 { .mnemonic = MNE_fcmovbe, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
311 { .mnemonic = MNE_ficom, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
312 { .mnemonic = MNE_fcmovu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
313 { .mnemonic = MNE_ficomp, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
314 { .mnemonic = MNE_fild, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
315 { .mnemonic = MNE_fildl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
316 { .mnemonic = MNE_fildll, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
317 { .mnemonic = MNE_fincstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
318 { .mnemonic = MNE_fninit, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
319 { .mnemonic = MNE_fist, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
320 { .mnemonic = MNE_fistp, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
321 { .mnemonic = MNE_fistpll, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
322 { .mnemonic = MNE_fisttp, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
323 { .mnemonic = MNE_fisttpll, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
324 { .mnemonic = MNE_fldt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
325 { .mnemonic = MNE_fstpt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
326 { .mnemonic = MNE_fld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
327 { .mnemonic = MNE_fld, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
328 { .mnemonic = MNE_fucom, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
329 { .mnemonic = MNE_frstor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
330 { .mnemonic = MNE_fucomp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
331 { .mnemonic = MNE_fnsave, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
332 { .mnemonic = MNE_fnstsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
333 { .mnemonic = MNE_hlt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
334 { .mnemonic = MNE_idiv, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
335 { .mnemonic = MNE_imul, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
336 { .mnemonic = MNE_imul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
337 { .mnemonic = MNE_imul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 14, .str1 = 0, .off1_1 = 13, .off1_2 = 2, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 3, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
338 { .mnemonic = MNE_in, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
339 { .mnemonic = MNE_in, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 11, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 3, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
340 { .mnemonic = MNE_inc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
341 { .mnemonic = MNE_ins, .rep = 1, .repe = 0, .suffix = 1, .modrm = 0, .fct1 = 11, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 10, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
342 { .mnemonic = MNE_int, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
343 { .mnemonic = MNE_int3, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
344 { .mnemonic = MNE_invd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
345 { .mnemonic = MNE_swapgs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
346 { .mnemonic = MNE_invlpg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
347 { .mnemonic = MNE_iret, .rep = 0, .repe = 0, .suffix = 6, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
348 { .mnemonic = MNE_j, .rep = 0, .repe = 0, .suffix = 4, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
349 { .mnemonic = MNE_j, .rep = 0, .repe = 0, .suffix = 4, .modrm = 0, .fct1 = 29, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
350 { .mnemonic = MNE_set, .rep = 0, .repe = 0, .suffix = 4, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
351 { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
352 { .mnemonic = MNE_jmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
353 { .mnemonic = MNE_jmp, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 29, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
354 { .mnemonic = MNE_jmp, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 22, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
355 { .mnemonic = MNE_ljmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 30, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 4, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
356 { .mnemonic = MNE_ljmp, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 22, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
357 { .mnemonic = MNE_lahf, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
358 { .mnemonic = MNE_lar, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
359 { .mnemonic = MNE_lea, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
360 { .mnemonic = MNE_leave, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
361 { .mnemonic = MNE_lfs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
362 { .mnemonic = MNE_lgs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
363 { .mnemonic = MNE_lgdt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
364 { .mnemonic = MNE_lidt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
365 { .mnemonic = MNE_lldt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
366 { .mnemonic = MNE_lmsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
367 { .mnemonic = MNE_lock, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
368 { .mnemonic = MNE_lods, .rep = 1, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 10, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 3, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
369 { .mnemonic = MNE_loop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
370 { .mnemonic = MNE_loope, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
371 { .mnemonic = MNE_loopne, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
372 { .mnemonic = MNE_lsl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
373 { .mnemonic = MNE_lss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
374 { .mnemonic = MNE_ltr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
375 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
376 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
377 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
378 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
379 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 3, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 35, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
380 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 37, .off1_2 = 3, .off1_3 = 0, .fct2 = 3, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
381 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 6, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 21, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
382 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 6, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
383 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 7, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 21, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
384 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 7, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
385 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 32, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
386 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 22, .str2 = 0, .off2_1 = 5, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
387 { .mnemonic = MNE_movs, .rep = 1, .repe = 0, .suffix = 1, .modrm = 0, .fct1 = 10, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 10, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
388 { .mnemonic = MNE_movsbl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
389 { .mnemonic = MNE_movswl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
390 { .mnemonic = MNE_movzbl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
391 { .mnemonic = MNE_movzwl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
392 { .mnemonic = MNE_mul, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
393 { .mnemonic = MNE_neg, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
394 { .mnemonic = MNE_pause, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
395 { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
396 { .mnemonic = MNE_popcnt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
397 { .mnemonic = MNE_not, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
398 { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
399 { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
400 { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
401 { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
402 { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
403 { .mnemonic = MNE_out, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 12, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
404 { .mnemonic = MNE_out, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 9, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
405 { .mnemonic = MNE_outs, .rep = 1, .repe = 0, .suffix = 1, .modrm = 0, .fct1 = 10, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 9, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
406 { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
407 { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
408 { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 32, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
409 { .mnemonic = MNE_popf, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
410 { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
411 { .mnemonic = MNE_pushq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
412 { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 2, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
413 { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 2, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
414 { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 14, .str1 = 0, .off1_1 = 5, .off1_2 = 2, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
415 { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 31, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
416 { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 32, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
417 { .mnemonic = MNE_pushf, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
418 { .mnemonic = MNE_rcl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
419 { .mnemonic = MNE_rcl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
420 { .mnemonic = MNE_rcl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
421 { .mnemonic = MNE_rcr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
422 { .mnemonic = MNE_rcr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
423 { .mnemonic = MNE_rcr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
424 { .mnemonic = MNE_rdmsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
425 { .mnemonic = MNE_rdpmc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
426 { .mnemonic = MNE_rdtsc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
427 { .mnemonic = MNE_ret, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
428 { .mnemonic = MNE_ret, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 16, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
429 { .mnemonic = MNE_lret, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
430 { .mnemonic = MNE_lret, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 16, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
431 { .mnemonic = MNE_rol, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
432 { .mnemonic = MNE_rol, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
433 { .mnemonic = MNE_rol, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
434 { .mnemonic = MNE_ror, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
435 { .mnemonic = MNE_ror, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
436 { .mnemonic = MNE_ror, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
437 { .mnemonic = MNE_rsm, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
438 { .mnemonic = MNE_sahf, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
439 { .mnemonic = MNE_sar, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
440 { .mnemonic = MNE_sar, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
441 { .mnemonic = MNE_sar, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
442 { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
443 { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
444 { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
445 { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
446 { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
447 { .mnemonic = MNE_scas, .rep = 0, .repe = 1, .suffix = 0, .modrm = 0, .fct1 = 12, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 3, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
448 { .mnemonic = MNE_set, .rep = 0, .repe = 0, .suffix = 4, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
449 { .mnemonic = MNE_shl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
450 { .mnemonic = MNE_shl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
451 { .mnemonic = MNE_shl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
452 { .mnemonic = MNE_shr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
453 { .mnemonic = MNE_shld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, },
454 { .mnemonic = MNE_shld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, },
455 { .mnemonic = MNE_shr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
456 { .mnemonic = MNE_shr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
457 { .mnemonic = MNE_shrd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, },
458 { .mnemonic = MNE_shrd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, },
459 { .mnemonic = MNE_vmcall, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
460 { .mnemonic = MNE_vmlaunch, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
461 { .mnemonic = MNE_vmresume, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
462 { .mnemonic = MNE_vmxoff, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
463 { .mnemonic = MNE_vmread, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 28, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 14, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
464 { .mnemonic = MNE_vmwrite, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 22, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 21, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
465 { .mnemonic = MNE_sgdt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
466 { .mnemonic = MNE_monitor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 3, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 1, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 4, .str3 = 1, .off3_1 = 0, .off3_2 = 0, },
467 { .mnemonic = MNE_mwait, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 3, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 1, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
468 { .mnemonic = MNE_sidt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
469 { .mnemonic = MNE_sldt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
470 { .mnemonic = MNE_smsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
471 { .mnemonic = MNE_stc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
472 { .mnemonic = MNE_std, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
473 { .mnemonic = MNE_sti, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
474 { .mnemonic = MNE_stos, .rep = 1, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 10, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
475 { .mnemonic = MNE_str, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
476 { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
477 { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
478 { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
479 { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
480 { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
481 { .mnemonic = MNE_test, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
482 { .mnemonic = MNE_test, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
483 { .mnemonic = MNE_test, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
484 { .mnemonic = MNE_ud2a, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
485 { .mnemonic = MNE_verr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
486 { .mnemonic = MNE_verw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
487 { .mnemonic = MNE_wbinvd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
488 { .mnemonic = MNE_prefetch, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
489 { .mnemonic = MNE_prefetchw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
490 { .mnemonic = MNE_prefetchnta, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
491 { .mnemonic = MNE_prefetcht0, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
492 { .mnemonic = MNE_prefetcht1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
493 { .mnemonic = MNE_prefetcht2, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
494 { .mnemonic = MNE_nop, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
495 { .mnemonic = MNE_wrmsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
496 { .mnemonic = MNE_xadd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 15, .off1_2 = 11, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 8, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
497 { .mnemonic = MNE_xchg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
498 { .mnemonic = MNE_xchg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 4, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 17, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
499 { .mnemonic = MNE_xlat, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 9, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
500 { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
501 { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
502 { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
503 { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
504 { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
505 { .mnemonic = MNE_emms, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
506 { .mnemonic = MNE_pand, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
507 { .mnemonic = MNE_pand, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
508 { .mnemonic = MNE_pandn, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
509 { .mnemonic = MNE_pandn, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
510 { .mnemonic = MNE_pmaddwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
511 { .mnemonic = MNE_pmaddwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
512 { .mnemonic = MNE_por, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
513 { .mnemonic = MNE_por, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
514 { .mnemonic = MNE_pxor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
515 { .mnemonic = MNE_pxor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
516 { .mnemonic = MNE_andnps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
517 { .mnemonic = MNE_andps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
518 { .mnemonic = MNE_cmpeqps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
519 { .mnemonic = MNE_cmpltps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
520 { .mnemonic = MNE_cmpleps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
521 { .mnemonic = MNE_cmpunordps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
522 { .mnemonic = MNE_cmpneqps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
523 { .mnemonic = MNE_cmpnltps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
524 { .mnemonic = MNE_cmpnleps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
525 { .mnemonic = MNE_cmpordps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
526 { .mnemonic = MNE_cmpeqss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
527 { .mnemonic = MNE_cmpltss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
528 { .mnemonic = MNE_cmpless, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
529 { .mnemonic = MNE_cmpunordss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
530 { .mnemonic = MNE_cmpneqss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
531 { .mnemonic = MNE_cmpnltss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
532 { .mnemonic = MNE_cmpnless, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
533 { .mnemonic = MNE_cmpordss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
534 { .mnemonic = MNE_fxrstor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
535 { .mnemonic = MNE_fxsave, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
536 { .mnemonic = MNE_ldmxcsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
537 { .mnemonic = MNE_stmxcsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
538 { .mnemonic = MNE_movsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
539 { .mnemonic = MNE_movss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
540 { .mnemonic = MNE_movupd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
541 { .mnemonic = MNE_movups, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
542 { .mnemonic = MNE_movsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
543 { .mnemonic = MNE_movss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
544 { .mnemonic = MNE_movupd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
545 { .mnemonic = MNE_movups, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
546 { .mnemonic = MNE_movddup, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
547 { .mnemonic = MNE_movsldup, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
548 { .mnemonic = MNE_movlpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
549 { .mnemonic = MNE_movhlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
550 { .mnemonic = MNE_movlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
551 { .mnemonic = MNE_movhlpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
552 { .mnemonic = MNE_movhlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
553 { .mnemonic = MNE_movlpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
554 { .mnemonic = MNE_movlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
555 { .mnemonic = MNE_unpcklpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
556 { .mnemonic = MNE_unpcklps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
557 { .mnemonic = MNE_unpckhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
558 { .mnemonic = MNE_unpckhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
559 { .mnemonic = MNE_movshdup, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
560 { .mnemonic = MNE_movhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
561 { .mnemonic = MNE_movlhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
562 { .mnemonic = MNE_movhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
563 { .mnemonic = MNE_movlhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
564 { .mnemonic = MNE_movlhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
565 { .mnemonic = MNE_movhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
566 { .mnemonic = MNE_movhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
567 { .mnemonic = MNE_movapd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
568 { .mnemonic = MNE_movaps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
569 { .mnemonic = MNE_movapd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
570 { .mnemonic = MNE_movaps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
571 { .mnemonic = MNE_cvtsi2sd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
572 { .mnemonic = MNE_cvtsi2ss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
573 { .mnemonic = MNE_cvtpi2pd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
574 { .mnemonic = MNE_cvtpi2ps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
575 { .mnemonic = MNE_movntpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
576 { .mnemonic = MNE_movntps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
577 { .mnemonic = MNE_cvttsd2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
578 { .mnemonic = MNE_cvttss2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
579 { .mnemonic = MNE_cvttpd2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
580 { .mnemonic = MNE_cvttps2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
581 { .mnemonic = MNE_cvtpd2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
582 { .mnemonic = MNE_cvtsd2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
583 { .mnemonic = MNE_cvtss2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
584 { .mnemonic = MNE_cvtps2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
585 { .mnemonic = MNE_ucomisd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
586 { .mnemonic = MNE_ucomiss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
587 { .mnemonic = MNE_comisd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
588 { .mnemonic = MNE_comiss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
589 { .mnemonic = MNE_getsec, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
590 { .mnemonic = MNE_movmskpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
591 { .mnemonic = MNE_movmskps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
592 { .mnemonic = MNE_sqrtpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
593 { .mnemonic = MNE_sqrtsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
594 { .mnemonic = MNE_sqrtss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
595 { .mnemonic = MNE_sqrtps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
596 { .mnemonic = MNE_rsqrtss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
597 { .mnemonic = MNE_rsqrtps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
598 { .mnemonic = MNE_rcpss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
599 { .mnemonic = MNE_rcpps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
600 { .mnemonic = MNE_andpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
601 { .mnemonic = MNE_andps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
602 { .mnemonic = MNE_andnpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
603 { .mnemonic = MNE_andnps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
604 { .mnemonic = MNE_orpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
605 { .mnemonic = MNE_orps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
606 { .mnemonic = MNE_xorpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
607 { .mnemonic = MNE_xorps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
608 { .mnemonic = MNE_addsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
609 { .mnemonic = MNE_addss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
610 { .mnemonic = MNE_addpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
611 { .mnemonic = MNE_addps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
612 { .mnemonic = MNE_mulsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
613 { .mnemonic = MNE_mulss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
614 { .mnemonic = MNE_mulpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
615 { .mnemonic = MNE_mulps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
616 { .mnemonic = MNE_cvtsd2ss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
617 { .mnemonic = MNE_cvtss2sd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
618 { .mnemonic = MNE_cvtpd2ps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
619 { .mnemonic = MNE_cvtps2pd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
620 { .mnemonic = MNE_cvtps2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
621 { .mnemonic = MNE_cvttps2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
622 { .mnemonic = MNE_cvtdq2ps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
623 { .mnemonic = MNE_subsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
624 { .mnemonic = MNE_subss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
625 { .mnemonic = MNE_subpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
626 { .mnemonic = MNE_subps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
627 { .mnemonic = MNE_minsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
628 { .mnemonic = MNE_minss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
629 { .mnemonic = MNE_minpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
630 { .mnemonic = MNE_minps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
631 { .mnemonic = MNE_divsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
632 { .mnemonic = MNE_divss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
633 { .mnemonic = MNE_divpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
634 { .mnemonic = MNE_divps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
635 { .mnemonic = MNE_maxsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
636 { .mnemonic = MNE_maxss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
637 { .mnemonic = MNE_maxpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
638 { .mnemonic = MNE_maxps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
639 { .mnemonic = MNE_punpcklbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
640 { .mnemonic = MNE_punpcklbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
641 { .mnemonic = MNE_punpcklwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
642 { .mnemonic = MNE_punpcklwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
643 { .mnemonic = MNE_punpckldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
644 { .mnemonic = MNE_punpckldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
645 { .mnemonic = MNE_packsswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
646 { .mnemonic = MNE_packsswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
647 { .mnemonic = MNE_pcmpgtb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
648 { .mnemonic = MNE_pcmpgtb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
649 { .mnemonic = MNE_pcmpgtw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
650 { .mnemonic = MNE_pcmpgtw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
651 { .mnemonic = MNE_pcmpgtd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
652 { .mnemonic = MNE_pcmpgtd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
653 { .mnemonic = MNE_packuswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
654 { .mnemonic = MNE_packuswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
655 { .mnemonic = MNE_punpckhbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
656 { .mnemonic = MNE_punpckhbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
657 { .mnemonic = MNE_punpckhwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
658 { .mnemonic = MNE_punpckhwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
659 { .mnemonic = MNE_punpckhdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
660 { .mnemonic = MNE_punpckhdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
661 { .mnemonic = MNE_packssdw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
662 { .mnemonic = MNE_packssdw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
663 { .mnemonic = MNE_punpcklqdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
664 { .mnemonic = MNE_punpckhqdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
665 { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
666 { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
667 { .mnemonic = MNE_movdqa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
668 { .mnemonic = MNE_movdqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
669 { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
670 { .mnemonic = MNE_pshufd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
671 { .mnemonic = MNE_pshuflw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
672 { .mnemonic = MNE_pshufhw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
673 { .mnemonic = MNE_pshufw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 1, .str3 = 0, .off3_1 = 8, .off3_2 = 0, },
674 { .mnemonic = MNE_pcmpeqb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
675 { .mnemonic = MNE_pcmpeqb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
676 { .mnemonic = MNE_pcmpeqw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
677 { .mnemonic = MNE_pcmpeqw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
678 { .mnemonic = MNE_pcmpeqd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
679 { .mnemonic = MNE_pcmpeqd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
680 { .mnemonic = MNE_haddpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
681 { .mnemonic = MNE_haddps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
682 { .mnemonic = MNE_hsubpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
683 { .mnemonic = MNE_hsubps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
684 { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
685 { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
686 { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
687 { .mnemonic = MNE_movdqa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
688 { .mnemonic = MNE_movdqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
689 { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
690 { .mnemonic = MNE_movnti, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
691 { .mnemonic = MNE_pinsrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
692 { .mnemonic = MNE_pinsrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 1, .str3 = 0, .off3_1 = 8, .off3_2 = 0, },
693 { .mnemonic = MNE_pextrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 3, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
694 { .mnemonic = MNE_pextrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 3, .str3 = 0, .off3_1 = 8, .off3_2 = 0, },
695 { .mnemonic = MNE_shufpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
696 { .mnemonic = MNE_shufps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 8, .off3_2 = 0, },
697 { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
698 { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
699 { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
700 { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
701 { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
702 { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
703 { .mnemonic = MNE_paddq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
704 { .mnemonic = MNE_paddq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
705 { .mnemonic = MNE_pmullw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
706 { .mnemonic = MNE_pmullw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
707 { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
708 { .mnemonic = MNE_movdq2q, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
709 { .mnemonic = MNE_movq2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 20, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
710 { .mnemonic = MNE_pmovmskb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
711 { .mnemonic = MNE_pmovmskb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 20, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
712 { .mnemonic = MNE_psubusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
713 { .mnemonic = MNE_psubusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
714 { .mnemonic = MNE_psubusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
715 { .mnemonic = MNE_psubusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
716 { .mnemonic = MNE_pminub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
717 { .mnemonic = MNE_pminub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
718 { .mnemonic = MNE_paddusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
719 { .mnemonic = MNE_paddusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
720 { .mnemonic = MNE_paddusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
721 { .mnemonic = MNE_paddusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
722 { .mnemonic = MNE_pmaxub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
723 { .mnemonic = MNE_pmaxub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
724 { .mnemonic = MNE_pavgb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
725 { .mnemonic = MNE_pavgb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
726 { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
727 { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
728 { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
729 { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
730 { .mnemonic = MNE_pavgw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
731 { .mnemonic = MNE_pavgw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
732 { .mnemonic = MNE_pmulhuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
733 { .mnemonic = MNE_pmulhuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
734 { .mnemonic = MNE_pmulhw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
735 { .mnemonic = MNE_pmulhw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
736 { .mnemonic = MNE_movntdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
737 { .mnemonic = MNE_movntq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
738 { .mnemonic = MNE_psubsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
739 { .mnemonic = MNE_psubsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
740 { .mnemonic = MNE_psubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
741 { .mnemonic = MNE_psubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
742 { .mnemonic = MNE_pminsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
743 { .mnemonic = MNE_pminsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
744 { .mnemonic = MNE_paddsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
745 { .mnemonic = MNE_paddsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
746 { .mnemonic = MNE_paddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
747 { .mnemonic = MNE_paddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
748 { .mnemonic = MNE_pmaxsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
749 { .mnemonic = MNE_pmaxsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
750 { .mnemonic = MNE_lddqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
751 { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
752 { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
753 { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
754 { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
755 { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
756 { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
757 { .mnemonic = MNE_pmuludq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
758 { .mnemonic = MNE_pmuludq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
759 { .mnemonic = MNE_psadbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
760 { .mnemonic = MNE_psadbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
761 { .mnemonic = MNE_maskmovdqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
762 { .mnemonic = MNE_maskmovq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 20, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
763 { .mnemonic = MNE_psubb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
764 { .mnemonic = MNE_psubb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
765 { .mnemonic = MNE_psubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
766 { .mnemonic = MNE_psubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
767 { .mnemonic = MNE_psubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
768 { .mnemonic = MNE_psubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
769 { .mnemonic = MNE_psubq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
770 { .mnemonic = MNE_psubq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
771 { .mnemonic = MNE_paddb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
772 { .mnemonic = MNE_paddb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
773 { .mnemonic = MNE_paddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
774 { .mnemonic = MNE_paddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
775 { .mnemonic = MNE_paddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
776 { .mnemonic = MNE_paddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
777 { .mnemonic = MNE_pshufb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
778 { .mnemonic = MNE_pshufb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
779 { .mnemonic = MNE_phaddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
780 { .mnemonic = MNE_phaddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
781 { .mnemonic = MNE_phaddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
782 { .mnemonic = MNE_phaddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
783 { .mnemonic = MNE_phaddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
784 { .mnemonic = MNE_phaddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
785 { .mnemonic = MNE_pmaddubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
786 { .mnemonic = MNE_pmaddubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
787 { .mnemonic = MNE_phsubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
788 { .mnemonic = MNE_phsubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
789 { .mnemonic = MNE_phsubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
790 { .mnemonic = MNE_phsubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
791 { .mnemonic = MNE_phsubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
792 { .mnemonic = MNE_phsubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
793 { .mnemonic = MNE_psignb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
794 { .mnemonic = MNE_psignb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
795 { .mnemonic = MNE_psignw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
796 { .mnemonic = MNE_psignw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
797 { .mnemonic = MNE_psignd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
798 { .mnemonic = MNE_psignd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
799 { .mnemonic = MNE_pmulhrsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
800 { .mnemonic = MNE_pmulhrsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
801 { .mnemonic = MNE_pabsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
802 { .mnemonic = MNE_pabsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
803 { .mnemonic = MNE_pabsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
804 { .mnemonic = MNE_pabsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
805 { .mnemonic = MNE_pabsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
806 { .mnemonic = MNE_pabsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
807 { .mnemonic = MNE_palignr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
808 { .mnemonic = MNE_palignr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 1, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
809 { .mnemonic = MNE_vmclear, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
810 { .mnemonic = MNE_vmxon, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
811 { .mnemonic = MNE_vmptrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
812 { .mnemonic = MNE_vmptrst, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
813 { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
814 { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
815 { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
816 { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
817 { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
818 { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
819 { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
820 { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
821 { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
822 { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
823 { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
824 { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
825 { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
826 { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
827 { .mnemonic = MNE_psrldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
828 { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
829 { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
830 { .mnemonic = MNE_pslldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
831 { .mnemonic = MNE_lfence, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
832 { .mnemonic = MNE_mfence, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
833 { .mnemonic = MNE_sfence, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
834 { .mnemonic = MNE_clflush, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
835 { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
836 { .mnemonic = MNE_blendps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
837 { .mnemonic = MNE_blendpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
838 { .mnemonic = MNE_blendvps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 5, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
839 { .mnemonic = MNE_blendvpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 5, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
840 { .mnemonic = MNE_dpps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
841 { .mnemonic = MNE_dppd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
842 { .mnemonic = MNE_insertps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
843 { .mnemonic = MNE_movntdqa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
844 { .mnemonic = MNE_mpsadbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
845 { .mnemonic = MNE_packusdw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
846 { .mnemonic = MNE_pblendvb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 5, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
847 { .mnemonic = MNE_pblendw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
848 { .mnemonic = MNE_pcmpeqq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
849 { .mnemonic = MNE_pcmpestri, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
850 { .mnemonic = MNE_pcmpestrm, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
851 { .mnemonic = MNE_pcmpistri, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
852 { .mnemonic = MNE_pcmpistrm, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
853 { .mnemonic = MNE_pcmpgtq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
854 { .mnemonic = MNE_phminposuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
855 { .mnemonic = MNE_pinsrb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
856 { .mnemonic = MNE_pinsrd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
857 { .mnemonic = MNE_pmaxsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
858 { .mnemonic = MNE_pmaxsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
859 { .mnemonic = MNE_pmaxud, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
860 { .mnemonic = MNE_pmaxuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
861 { .mnemonic = MNE_pminsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
862 { .mnemonic = MNE_pminsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
863 { .mnemonic = MNE_pminud, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
864 { .mnemonic = MNE_pminuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
865 { .mnemonic = MNE_pmovsxbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
866 { .mnemonic = MNE_pmovsxbd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
867 { .mnemonic = MNE_pmovsxbq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
868 { .mnemonic = MNE_pmovsxwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
869 { .mnemonic = MNE_pmovsxwq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
870 { .mnemonic = MNE_pmovsxdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
871 { .mnemonic = MNE_pmovzxbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
872 { .mnemonic = MNE_pmovzxbd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
873 { .mnemonic = MNE_pmovzxbq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
874 { .mnemonic = MNE_pmovzxwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
875 { .mnemonic = MNE_pmovzxwq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
876 { .mnemonic = MNE_pmovzxdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
877 { .mnemonic = MNE_pmuldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
878 { .mnemonic = MNE_pmulld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
879 { .mnemonic = MNE_ptest, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
880 { .mnemonic = MNE_roundps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
881 { .mnemonic = MNE_roundpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
882 { .mnemonic = MNE_roundss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
883 { .mnemonic = MNE_roundsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
884 { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 31, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
885};
886static const uint8_t match_data[] =
887{
888 0x1, 0xfe, 0x14,
889 0x2, 0xfe, 0x80, 0x38, 0x10,
890 0x2, 0xfe, 0x82, 0x38, 0x10,
891 0x2, 0xfe, 0x10, 0, 0,
892 0x2, 0xfe, 0x12, 0, 0,
893 0x1, 0xfe, 0x4,
894 0x2, 0xfe, 0x80, 0x38, 0,
895 0x12, 0x83, 0x38, 0,
896 0x2, 0xfe, 0, 0, 0,
897 0x2, 0xfe, 0x2, 0, 0,
898 0x34, 0x66, 0xf, 0xd0, 0, 0,
899 0x34, 0xf2, 0xf, 0xd0, 0, 0,
900 0x1, 0xfe, 0x24,
901 0x2, 0xfe, 0x80, 0x38, 0x20,
902 0x2, 0xfe, 0x82, 0x38, 0x20,
903 0x2, 0xfe, 0x20, 0, 0,
904 0x2, 0xfe, 0x22, 0, 0,
905 0x34, 0x66, 0xf, 0x54, 0, 0,
906 0x23, 0xf, 0x54, 0, 0,
907 0x34, 0x66, 0xf, 0x55, 0, 0,
908 0x23, 0xf, 0x55, 0, 0,
909 0x12, 0x63, 0, 0,
910 0x23, 0xf, 0xbc, 0, 0,
911 0x23, 0xf, 0xbd, 0, 0,
912 0x12, 0xf, 0xf8, 0xc8,
913 0x23, 0xf, 0xa3, 0, 0,
914 0x23, 0xf, 0xba, 0x38, 0x20,
915 0x23, 0xf, 0xbb, 0, 0,
916 0x23, 0xf, 0xba, 0x38, 0x38,
917 0x23, 0xf, 0xb3, 0, 0,
918 0x23, 0xf, 0xba, 0x38, 0x30,
919 0x23, 0xf, 0xab, 0, 0,
920 0x23, 0xf, 0xba, 0x38, 0x28,
921 0x11, 0xe8,
922 0x12, 0xff, 0x38, 0x10,
923 0x12, 0xff, 0x38, 0x18,
924 0x11, 0x98,
925 0x11, 0x99,
926 0x11, 0xf8,
927 0x11, 0xfc,
928 0x11, 0xfa,
929 0x22, 0xf, 0x5,
930 0x22, 0xf, 0x6,
931 0x22, 0xf, 0x7,
932 0x22, 0xf, 0x34,
933 0x22, 0xf, 0x35,
934 0x11, 0xf5,
935 0x13, 0xf, 0xf0, 0x40, 0, 0,
936 0x1, 0xfe, 0x3c,
937 0x2, 0xfe, 0x80, 0x38, 0x38,
938 0x12, 0x83, 0x38, 0x38,
939 0x2, 0xfe, 0x38, 0, 0,
940 0x2, 0xfe, 0x3a, 0, 0,
941 0x34, 0xf2, 0xf, 0xc2, 0, 0,
942 0x34, 0xf3, 0xf, 0xc2, 0, 0,
943 0x34, 0x66, 0xf, 0xc2, 0, 0,
944 0x23, 0xf, 0xc2, 0, 0,
945 0x1, 0xfe, 0xa6,
946 0x13, 0xf, 0xfe, 0xb0, 0, 0,
947 0x23, 0xf, 0xc7, 0x38, 0x8,
948 0x22, 0xf, 0xa2,
949 0x34, 0xf3, 0xf, 0xe6, 0, 0,
950 0x34, 0xf2, 0xf, 0xe6, 0, 0,
951 0x34, 0x66, 0xf, 0xe6, 0, 0,
952 0x2, 0xfe, 0xfe, 0x38, 0x8,
953 0x2, 0xfe, 0xf6, 0x38, 0x30,
954 0x22, 0xf, 0x77,
955 0x11, 0xc8,
956 0x22, 0xd9, 0xd0,
957 0x22, 0xd9, 0xe0,
958 0x22, 0xd9, 0xe1,
959 0x22, 0xd9, 0xe4,
960 0x22, 0xd9, 0xe5,
961 0x22, 0xd9, 0xe8,
962 0x22, 0xd9, 0xe9,
963 0x22, 0xd9, 0xea,
964 0x22, 0xd9, 0xeb,
965 0x22, 0xd9, 0xec,
966 0x22, 0xd9, 0xed,
967 0x22, 0xd9, 0xee,
968 0x22, 0xd9, 0xf0,
969 0x22, 0xd9, 0xf1,
970 0x22, 0xd9, 0xf2,
971 0x22, 0xd9, 0xf3,
972 0x22, 0xd9, 0xf4,
973 0x22, 0xd9, 0xf5,
974 0x22, 0xd9, 0xf6,
975 0x22, 0xd9, 0xf7,
976 0x22, 0xd9, 0xf8,
977 0x22, 0xd9, 0xf9,
978 0x22, 0xd9, 0xfa,
979 0x22, 0xd9, 0xfb,
980 0x22, 0xd9, 0xfc,
981 0x22, 0xd9, 0xfd,
982 0x22, 0xd9, 0xfe,
983 0x22, 0xd9, 0xff,
984 0x12, 0xd8, 0xf8, 0xc0,
985 0x12, 0xdc, 0xf8, 0xc0,
986 0x2, 0xfb, 0xd8, 0x38, 0,
987 0x12, 0xd8, 0xf8, 0xc8,
988 0x12, 0xdc, 0xf8, 0xc8,
989 0x2, 0xfb, 0xd8, 0x38, 0x8,
990 0x12, 0xd8, 0xf8, 0xe0,
991 0x12, 0xdc, 0xf8, 0xe0,
992 0x2, 0xfb, 0xd8, 0x38, 0x20,
993 0x12, 0xd8, 0xf8, 0xe8,
994 0x12, 0xdc, 0xf8, 0xe8,
995 0x2, 0xfb, 0xd8, 0x38, 0x28,
996 0x12, 0xdd, 0xf8, 0xd0,
997 0x2, 0xfb, 0xd9, 0x38, 0x10,
998 0x12, 0xdd, 0xf8, 0xd8,
999 0x2, 0xfb, 0xd9, 0x38, 0x18,
1000 0x12, 0xd9, 0x38, 0x20,
1001 0x12, 0xd9, 0x38, 0x28,
1002 0x12, 0xd9, 0x38, 0x30,
1003 0x12, 0xd9, 0x38, 0x38,
1004 0x12, 0xd9, 0xf8, 0xc8,
1005 0x12, 0xde, 0xf8, 0xc0,
1006 0x12, 0xda, 0xf8, 0xc0,
1007 0x2, 0xfb, 0xda, 0x38, 0,
1008 0x12, 0xda, 0xf8, 0xc8,
1009 0x12, 0xde, 0xf8, 0xc8,
1010 0x2, 0xfb, 0xda, 0x38, 0x8,
1011 0x12, 0xde, 0xf8, 0xe0,
1012 0x2, 0xfb, 0xda, 0x38, 0x20,
1013 0x12, 0xde, 0xf8, 0xe8,
1014 0x2, 0xfb, 0xda, 0x38, 0x28,
1015 0x22, 0xdf, 0xe0,
1016 0x12, 0xdf, 0x38, 0x20,
1017 0x12, 0xdf, 0xf8, 0xf0,
1018 0x12, 0xdf, 0x38, 0x30,
1019 0x22, 0xd9, 0xe0,
1020 0x33, 0x9b, 0xdb, 0xe2,
1021 0x33, 0x9b, 0xdb, 0xe3,
1022 0x11, 0x9b,
1023 0x22, 0xdb, 0xe2,
1024 0x12, 0xda, 0xf8, 0xc0,
1025 0x12, 0xda, 0xf8, 0xc8,
1026 0x12, 0xda, 0xf8, 0xd0,
1027 0x12, 0xda, 0xf8, 0xd8,
1028 0x12, 0xdb, 0xf8, 0xc0,
1029 0x12, 0xdb, 0xf8, 0xc8,
1030 0x12, 0xdb, 0xf8, 0xd0,
1031 0x12, 0xdb, 0xf8, 0xd8,
1032 0x12, 0xd8, 0xf8, 0xd0,
1033 0x2, 0xfb, 0xd8, 0x38, 0x10,
1034 0x12, 0xd8, 0xf8, 0xd8,
1035 0x2, 0xfb, 0xd8, 0x38, 0x18,
1036 0x22, 0xde, 0xd9,
1037 0x12, 0xdb, 0xf8, 0xf0,
1038 0x12, 0xdf, 0xf8, 0xf0,
1039 0x12, 0xdb, 0xf8, 0xe8,
1040 0x12, 0xdf, 0xf8, 0xe8,
1041 0x22, 0xd9, 0xff,
1042 0x22, 0xd9, 0xf6,
1043 0x12, 0xd8, 0xf8, 0xf0,
1044 0x12, 0xdc, 0xf8, 0xf0,
1045 0x2, 0xfb, 0xd8, 0x38, 0x30,
1046 0x12, 0xda, 0x38, 0x30,
1047 0x12, 0xde, 0xf8, 0xf0,
1048 0x12, 0xde, 0x38, 0x30,
1049 0x12, 0xde, 0xf8, 0xf8,
1050 0x12, 0xd8, 0xf8, 0xf8,
1051 0x12, 0xdc, 0xf8, 0xf8,
1052 0x2, 0xfb, 0xd8, 0x38, 0x38,
1053 0x12, 0xda, 0x38, 0x38,
1054 0x12, 0xde, 0x38, 0x38,
1055 0x12, 0xde, 0xf8, 0xf0,
1056 0x12, 0xdd, 0xf8, 0xc0,
1057 0x12, 0xda, 0xf8, 0xd0,
1058 0x2, 0xfb, 0xda, 0x38, 0x10,
1059 0x12, 0xda, 0xf8, 0xd8,
1060 0x2, 0xfb, 0xda, 0x38, 0x18,
1061 0x12, 0xdf, 0x38, 0,
1062 0x12, 0xdb, 0x38, 0,
1063 0x12, 0xdf, 0x38, 0x28,
1064 0x22, 0xd9, 0xf7,
1065 0x22, 0xdb, 0xe3,
1066 0x2, 0xfb, 0xdb, 0x38, 0x10,
1067 0x2, 0xfb, 0xdb, 0x38, 0x18,
1068 0x12, 0xdf, 0x38, 0x38,
1069 0x2, 0xfb, 0xdb, 0x38, 0x8,
1070 0x12, 0xdd, 0x38, 0x8,
1071 0x12, 0xdb, 0x38, 0x28,
1072 0x12, 0xdb, 0x38, 0x38,
1073 0x12, 0xd9, 0xf8, 0xc0,
1074 0x2, 0xfb, 0xd9, 0x38, 0,
1075 0x12, 0xdd, 0xf8, 0xe0,
1076 0x12, 0xdd, 0x38, 0x20,
1077 0x12, 0xdd, 0xf8, 0xe8,
1078 0x12, 0xdd, 0x38, 0x30,
1079 0x12, 0xdd, 0x38, 0x38,
1080 0x11, 0xf4,
1081 0x2, 0xfe, 0xf6, 0x38, 0x38,
1082 0x2, 0xfe, 0xf6, 0x38, 0x28,
1083 0x23, 0xf, 0xaf, 0, 0,
1084 0x2, 0xfd, 0x69, 0, 0,
1085 0x1, 0xfe, 0xe4,
1086 0x1, 0xfe, 0xec,
1087 0x2, 0xfe, 0xfe, 0x38, 0,
1088 0x1, 0xfe, 0x6c,
1089 0x11, 0xcd,
1090 0x11, 0xcc,
1091 0x22, 0xf, 0x8,
1092 0x33, 0xf, 0x1, 0xf8,
1093 0x23, 0xf, 0x1, 0x38, 0x38,
1094 0x11, 0xcf,
1095 0x1, 0xf0, 0x70,
1096 0x12, 0xf, 0xf0, 0x80,
1097 0x13, 0xf, 0xf0, 0x90, 0x38, 0,
1098 0x11, 0xe3,
1099 0x11, 0xeb,
1100 0x11, 0xe9,
1101 0x12, 0xff, 0x38, 0x20,
1102 0x11, 0xea,
1103 0x12, 0xff, 0x38, 0x28,
1104 0x11, 0x9f,
1105 0x23, 0xf, 0x2, 0, 0,
1106 0x12, 0x8d, 0, 0,
1107 0x11, 0xc9,
1108 0x23, 0xf, 0xb4, 0, 0,
1109 0x23, 0xf, 0xb5, 0, 0,
1110 0x23, 0xf, 0x1, 0x38, 0x10,
1111 0x23, 0xf, 0x1, 0x38, 0x18,
1112 0x23, 0xf, 0, 0x38, 0x10,
1113 0x23, 0xf, 0x1, 0x38, 0x30,
1114 0x11, 0xf0,
1115 0x1, 0xfe, 0xac,
1116 0x11, 0xe2,
1117 0x11, 0xe1,
1118 0x11, 0xe0,
1119 0x23, 0xf, 0x3, 0, 0,
1120 0x23, 0xf, 0xb2, 0, 0,
1121 0x23, 0xf, 0, 0x38, 0x18,
1122 0x2, 0xfe, 0x88, 0, 0,
1123 0x2, 0xfe, 0x8a, 0, 0,
1124 0x2, 0xfe, 0xc6, 0x38, 0,
1125 0x1, 0xf0, 0xb0,
1126 0x1, 0xfe, 0xa0,
1127 0x1, 0xfe, 0xa2,
1128 0x23, 0xf, 0x20, 0xc0, 0xc0,
1129 0x23, 0xf, 0x22, 0xc0, 0xc0,
1130 0x23, 0xf, 0x21, 0xc0, 0xc0,
1131 0x23, 0xf, 0x23, 0xc0, 0xc0,
1132 0x12, 0x8c, 0, 0,
1133 0x12, 0x8e, 0, 0,
1134 0x1, 0xfe, 0xa4,
1135 0x23, 0xf, 0xbe, 0, 0,
1136 0x23, 0xf, 0xbf, 0, 0,
1137 0x23, 0xf, 0xb6, 0, 0,
1138 0x23, 0xf, 0xb7, 0, 0,
1139 0x2, 0xfe, 0xf6, 0x38, 0x20,
1140 0x2, 0xfe, 0xf6, 0x38, 0x18,
1141 0x22, 0xf3, 0x90,
1142 0x11, 0x90,
1143 0x34, 0xf3, 0xf, 0xb8, 0, 0,
1144 0x2, 0xfe, 0xf6, 0x38, 0x10,
1145 0x2, 0xfe, 0x8, 0, 0,
1146 0x2, 0xfe, 0xa, 0, 0,
1147 0x2, 0xfe, 0x80, 0x38, 0x8,
1148 0x2, 0xfe, 0x82, 0x38, 0x8,
1149 0x1, 0xfe, 0xc,
1150 0x1, 0xfe, 0xe6,
1151 0x1, 0xfe, 0xee,
1152 0x1, 0xfe, 0x6e,
1153 0x12, 0x8f, 0xf8, 0xc0,
1154 0x12, 0x8f, 0x38, 0,
1155 0x12, 0xf, 0xc7, 0x81,
1156 0x11, 0x9d,
1157 0x12, 0xff, 0xf8, 0xf0,
1158 0x12, 0xff, 0x38, 0x30,
1159 0x1, 0xf8, 0x50,
1160 0x1, 0xf8, 0x58,
1161 0x1, 0xfd, 0x68,
1162 0x1, 0xe7, 0x6,
1163 0x12, 0xf, 0xc7, 0x80,
1164 0x11, 0x9c,
1165 0x2, 0xfe, 0xd0, 0x38, 0x10,
1166 0x2, 0xfe, 0xd2, 0x38, 0x10,
1167 0x2, 0xfe, 0xc0, 0x38, 0x10,
1168 0x2, 0xfe, 0xd0, 0x38, 0x18,
1169 0x2, 0xfe, 0xd2, 0x38, 0x18,
1170 0x2, 0xfe, 0xc0, 0x38, 0x18,
1171 0x22, 0xf, 0x32,
1172 0x22, 0xf, 0x33,
1173 0x22, 0xf, 0x31,
1174 0x11, 0xc3,
1175 0x11, 0xc2,
1176 0x11, 0xcb,
1177 0x11, 0xca,
1178 0x2, 0xfe, 0xd0, 0x38, 0,
1179 0x2, 0xfe, 0xd2, 0x38, 0,
1180 0x2, 0xfe, 0xc0, 0x38, 0,
1181 0x2, 0xfe, 0xd0, 0x38, 0x8,
1182 0x2, 0xfe, 0xd2, 0x38, 0x8,
1183 0x2, 0xfe, 0xc0, 0x38, 0x8,
1184 0x22, 0xf, 0xaa,
1185 0x11, 0x9e,
1186 0x2, 0xfe, 0xd0, 0x38, 0x38,
1187 0x2, 0xfe, 0xd2, 0x38, 0x38,
1188 0x2, 0xfe, 0xc0, 0x38, 0x38,
1189 0x2, 0xfe, 0x18, 0, 0,
1190 0x2, 0xfe, 0x1a, 0, 0,
1191 0x1, 0xfe, 0x1c,
1192 0x2, 0xfe, 0x80, 0x38, 0x18,
1193 0x2, 0xfe, 0x82, 0x38, 0x18,
1194 0x1, 0xfe, 0xae,
1195 0x13, 0xf, 0xf0, 0x90, 0x38, 0,
1196 0x2, 0xfe, 0xd0, 0x38, 0x20,
1197 0x2, 0xfe, 0xd2, 0x38, 0x20,
1198 0x2, 0xfe, 0xc0, 0x38, 0x20,
1199 0x2, 0xfe, 0xd0, 0x38, 0x28,
1200 0x23, 0xf, 0xa4, 0, 0,
1201 0x23, 0xf, 0xa5, 0, 0,
1202 0x2, 0xfe, 0xd2, 0x38, 0x28,
1203 0x2, 0xfe, 0xc0, 0x38, 0x28,
1204 0x23, 0xf, 0xac, 0, 0,
1205 0x23, 0xf, 0xad, 0, 0,
1206 0x33, 0xf, 0x1, 0xc1,
1207 0x33, 0xf, 0x1, 0xc2,
1208 0x33, 0xf, 0x1, 0xc3,
1209 0x33, 0xf, 0x1, 0xc4,
1210 0x23, 0xf, 0x78, 0, 0,
1211 0x23, 0xf, 0x79, 0, 0,
1212 0x23, 0xf, 0x1, 0x38, 0,
1213 0x33, 0xf, 0x1, 0xc8,
1214 0x33, 0xf, 0x1, 0xc9,
1215 0x23, 0xf, 0x1, 0x38, 0x8,
1216 0x23, 0xf, 0, 0x38, 0,
1217 0x23, 0xf, 0x1, 0x38, 0x20,
1218 0x11, 0xf9,
1219 0x11, 0xfd,
1220 0x11, 0xfb,
1221 0x1, 0xfe, 0xaa,
1222 0x23, 0xf, 0, 0x38, 0x8,
1223 0x2, 0xfe, 0x28, 0, 0,
1224 0x2, 0xfe, 0x2a, 0, 0,
1225 0x1, 0xfe, 0x2c,
1226 0x2, 0xfe, 0x80, 0x38, 0x28,
1227 0x2, 0xfe, 0x82, 0x38, 0x28,
1228 0x2, 0xfe, 0x84, 0, 0,
1229 0x1, 0xfe, 0xa8,
1230 0x2, 0xfe, 0xf6, 0x38, 0,
1231 0x22, 0xf, 0xb,
1232 0x23, 0xf, 0, 0x38, 0x20,
1233 0x23, 0xf, 0, 0x38, 0x28,
1234 0x22, 0xf, 0x9,
1235 0x23, 0xf, 0xd, 0x38, 0,
1236 0x23, 0xf, 0xd, 0x38, 0x8,
1237 0x23, 0xf, 0x18, 0x38, 0,
1238 0x23, 0xf, 0x18, 0x38, 0x8,
1239 0x23, 0xf, 0x18, 0x38, 0x10,
1240 0x23, 0xf, 0x18, 0x38, 0x18,
1241 0x23, 0xf, 0x1f, 0, 0,
1242 0x22, 0xf, 0x30,
1243 0x13, 0xf, 0xfe, 0xc0, 0, 0,
1244 0x2, 0xfe, 0x86, 0, 0,
1245 0x1, 0xf8, 0x90,
1246 0x11, 0xd7,
1247 0x2, 0xfe, 0x30, 0, 0,
1248 0x2, 0xfe, 0x32, 0, 0,
1249 0x1, 0xfe, 0x34,
1250 0x2, 0xfe, 0x80, 0x38, 0x30,
1251 0x2, 0xfe, 0x82, 0x38, 0x30,
1252 0x22, 0xf, 0x77,
1253 0x34, 0x66, 0xf, 0xdb, 0, 0,
1254 0x23, 0xf, 0xdb, 0, 0,
1255 0x34, 0x66, 0xf, 0xdf, 0, 0,
1256 0x23, 0xf, 0xdf, 0, 0,
1257 0x34, 0x66, 0xf, 0xf5, 0, 0,
1258 0x23, 0xf, 0xf5, 0, 0,
1259 0x34, 0x66, 0xf, 0xeb, 0, 0,
1260 0x23, 0xf, 0xeb, 0, 0,
1261 0x34, 0x66, 0xf, 0xef, 0, 0,
1262 0x23, 0xf, 0xef, 0, 0,
1263 0x23, 0xf, 0x55, 0, 0,
1264 0x23, 0xf, 0x54, 0, 0,
1265 0x24, 0xf, 0xc2, 0, 0, 0xff, 0,
1266 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x1,
1267 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x2,
1268 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x3,
1269 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x4,
1270 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x5,
1271 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x6,
1272 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x7,
1273 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0,
1274 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x1,
1275 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x2,
1276 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x3,
1277 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x4,
1278 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x5,
1279 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x6,
1280 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x7,
1281 0x23, 0xf, 0xae, 0x38, 0x8,
1282 0x23, 0xf, 0xae, 0x38, 0,
1283 0x23, 0xf, 0xae, 0x38, 0x10,
1284 0x23, 0xf, 0xae, 0x38, 0x18,
1285 0x34, 0xf2, 0xf, 0x10, 0, 0,
1286 0x34, 0xf3, 0xf, 0x10, 0, 0,
1287 0x34, 0x66, 0xf, 0x10, 0, 0,
1288 0x23, 0xf, 0x10, 0, 0,
1289 0x34, 0xf2, 0xf, 0x11, 0, 0,
1290 0x34, 0xf3, 0xf, 0x11, 0, 0,
1291 0x34, 0x66, 0xf, 0x11, 0, 0,
1292 0x23, 0xf, 0x11, 0, 0,
1293 0x34, 0xf2, 0xf, 0x12, 0, 0,
1294 0x34, 0xf3, 0xf, 0x12, 0, 0,
1295 0x34, 0x66, 0xf, 0x12, 0, 0,
1296 0x23, 0xf, 0x12, 0xc0, 0xc0,
1297 0x23, 0xf, 0x12, 0, 0,
1298 0x34, 0x66, 0xf, 0x13, 0xc0, 0xc0,
1299 0x23, 0xf, 0x13, 0xc0, 0xc0,
1300 0x34, 0x66, 0xf, 0x13, 0, 0,
1301 0x23, 0xf, 0x13, 0, 0,
1302 0x34, 0x66, 0xf, 0x14, 0, 0,
1303 0x23, 0xf, 0x14, 0, 0,
1304 0x34, 0x66, 0xf, 0x15, 0, 0,
1305 0x23, 0xf, 0x15, 0, 0,
1306 0x34, 0xf3, 0xf, 0x16, 0, 0,
1307 0x34, 0x66, 0xf, 0x16, 0, 0,
1308 0x23, 0xf, 0x16, 0xc0, 0xc0,
1309 0x23, 0xf, 0x16, 0, 0,
1310 0x34, 0x66, 0xf, 0x17, 0xc0, 0xc0,
1311 0x23, 0xf, 0x17, 0xc0, 0xc0,
1312 0x34, 0x66, 0xf, 0x17, 0, 0,
1313 0x23, 0xf, 0x17, 0, 0,
1314 0x34, 0x66, 0xf, 0x28, 0, 0,
1315 0x23, 0xf, 0x28, 0, 0,
1316 0x34, 0x66, 0xf, 0x29, 0, 0,
1317 0x23, 0xf, 0x29, 0, 0,
1318 0x34, 0xf2, 0xf, 0x2a, 0, 0,
1319 0x34, 0xf3, 0xf, 0x2a, 0, 0,
1320 0x34, 0x66, 0xf, 0x2a, 0, 0,
1321 0x23, 0xf, 0x2a, 0, 0,
1322 0x34, 0x66, 0xf, 0x2b, 0, 0,
1323 0x23, 0xf, 0x2b, 0, 0,
1324 0x34, 0xf2, 0xf, 0x2c, 0, 0,
1325 0x34, 0xf3, 0xf, 0x2c, 0, 0,
1326 0x34, 0x66, 0xf, 0x2c, 0, 0,
1327 0x23, 0xf, 0x2c, 0, 0,
1328 0x34, 0x66, 0xf, 0x2d, 0, 0,
1329 0x34, 0xf2, 0xf, 0x2d, 0, 0,
1330 0x34, 0xf3, 0xf, 0x2d, 0, 0,
1331 0x23, 0xf, 0x2d, 0, 0,
1332 0x34, 0x66, 0xf, 0x2e, 0, 0,
1333 0x23, 0xf, 0x2e, 0, 0,
1334 0x34, 0x66, 0xf, 0x2f, 0, 0,
1335 0x23, 0xf, 0x2f, 0, 0,
1336 0x22, 0xf, 0x37,
1337 0x34, 0x66, 0xf, 0x50, 0xc0, 0xc0,
1338 0x23, 0xf, 0x50, 0xc0, 0xc0,
1339 0x34, 0x66, 0xf, 0x51, 0, 0,
1340 0x34, 0xf2, 0xf, 0x51, 0, 0,
1341 0x34, 0xf3, 0xf, 0x51, 0, 0,
1342 0x23, 0xf, 0x51, 0, 0,
1343 0x34, 0xf3, 0xf, 0x52, 0, 0,
1344 0x23, 0xf, 0x52, 0, 0,
1345 0x34, 0xf3, 0xf, 0x53, 0, 0,
1346 0x23, 0xf, 0x53, 0, 0,
1347 0x34, 0x66, 0xf, 0x54, 0, 0,
1348 0x23, 0xf, 0x54, 0, 0,
1349 0x34, 0x66, 0xf, 0x55, 0, 0,
1350 0x23, 0xf, 0x55, 0, 0,
1351 0x34, 0x66, 0xf, 0x56, 0, 0,
1352 0x23, 0xf, 0x56, 0, 0,
1353 0x34, 0x66, 0xf, 0x57, 0, 0,
1354 0x23, 0xf, 0x57, 0, 0,
1355 0x34, 0xf2, 0xf, 0x58, 0, 0,
1356 0x34, 0xf3, 0xf, 0x58, 0, 0,
1357 0x34, 0x66, 0xf, 0x58, 0, 0,
1358 0x23, 0xf, 0x58, 0, 0,
1359 0x34, 0xf2, 0xf, 0x59, 0, 0,
1360 0x34, 0xf3, 0xf, 0x59, 0, 0,
1361 0x34, 0x66, 0xf, 0x59, 0, 0,
1362 0x23, 0xf, 0x59, 0, 0,
1363 0x34, 0xf2, 0xf, 0x5a, 0, 0,
1364 0x34, 0xf3, 0xf, 0x5a, 0, 0,
1365 0x34, 0x66, 0xf, 0x5a, 0, 0,
1366 0x23, 0xf, 0x5a, 0, 0,
1367 0x34, 0x66, 0xf, 0x5b, 0, 0,
1368 0x34, 0xf3, 0xf, 0x5b, 0, 0,
1369 0x23, 0xf, 0x5b, 0, 0,
1370 0x34, 0xf2, 0xf, 0x5c, 0, 0,
1371 0x34, 0xf3, 0xf, 0x5c, 0, 0,
1372 0x34, 0x66, 0xf, 0x5c, 0, 0,
1373 0x23, 0xf, 0x5c, 0, 0,
1374 0x34, 0xf2, 0xf, 0x5d, 0, 0,
1375 0x34, 0xf3, 0xf, 0x5d, 0, 0,
1376 0x34, 0x66, 0xf, 0x5d, 0, 0,
1377 0x23, 0xf, 0x5d, 0, 0,
1378 0x34, 0xf2, 0xf, 0x5e, 0, 0,
1379 0x34, 0xf3, 0xf, 0x5e, 0, 0,
1380 0x34, 0x66, 0xf, 0x5e, 0, 0,
1381 0x23, 0xf, 0x5e, 0, 0,
1382 0x34, 0xf2, 0xf, 0x5f, 0, 0,
1383 0x34, 0xf3, 0xf, 0x5f, 0, 0,
1384 0x34, 0x66, 0xf, 0x5f, 0, 0,
1385 0x23, 0xf, 0x5f, 0, 0,
1386 0x34, 0x66, 0xf, 0x60, 0, 0,
1387 0x23, 0xf, 0x60, 0, 0,
1388 0x34, 0x66, 0xf, 0x61, 0, 0,
1389 0x23, 0xf, 0x61, 0, 0,
1390 0x34, 0x66, 0xf, 0x62, 0, 0,
1391 0x23, 0xf, 0x62, 0, 0,
1392 0x34, 0x66, 0xf, 0x63, 0, 0,
1393 0x23, 0xf, 0x63, 0, 0,
1394 0x34, 0x66, 0xf, 0x64, 0, 0,
1395 0x23, 0xf, 0x64, 0, 0,
1396 0x34, 0x66, 0xf, 0x65, 0, 0,
1397 0x23, 0xf, 0x65, 0, 0,
1398 0x34, 0x66, 0xf, 0x66, 0, 0,
1399 0x23, 0xf, 0x66, 0, 0,
1400 0x34, 0x66, 0xf, 0x67, 0, 0,
1401 0x23, 0xf, 0x67, 0, 0,
1402 0x34, 0x66, 0xf, 0x68, 0, 0,
1403 0x23, 0xf, 0x68, 0, 0,
1404 0x34, 0x66, 0xf, 0x69, 0, 0,
1405 0x23, 0xf, 0x69, 0, 0,
1406 0x34, 0x66, 0xf, 0x6a, 0, 0,
1407 0x23, 0xf, 0x6a, 0, 0,
1408 0x34, 0x66, 0xf, 0x6b, 0, 0,
1409 0x23, 0xf, 0x6b, 0, 0,
1410 0x34, 0x66, 0xf, 0x6c, 0, 0,
1411 0x34, 0x66, 0xf, 0x6d, 0, 0,
1412 0x34, 0x66, 0xf, 0x6e, 0, 0,
1413 0x23, 0xf, 0x6e, 0, 0,
1414 0x34, 0x66, 0xf, 0x6f, 0, 0,
1415 0x34, 0xf3, 0xf, 0x6f, 0, 0,
1416 0x23, 0xf, 0x6f, 0, 0,
1417 0x34, 0x66, 0xf, 0x70, 0, 0,
1418 0x34, 0xf2, 0xf, 0x70, 0, 0,
1419 0x34, 0xf3, 0xf, 0x70, 0, 0,
1420 0x23, 0xf, 0x70, 0, 0,
1421 0x34, 0x66, 0xf, 0x74, 0, 0,
1422 0x23, 0xf, 0x74, 0, 0,
1423 0x34, 0x66, 0xf, 0x75, 0, 0,
1424 0x23, 0xf, 0x75, 0, 0,
1425 0x34, 0x66, 0xf, 0x76, 0, 0,
1426 0x23, 0xf, 0x76, 0, 0,
1427 0x34, 0x66, 0xf, 0x7c, 0, 0,
1428 0x34, 0xf2, 0xf, 0x7c, 0, 0,
1429 0x34, 0x66, 0xf, 0x7d, 0, 0,
1430 0x34, 0xf2, 0xf, 0x7d, 0, 0,
1431 0x34, 0x66, 0xf, 0x7e, 0, 0,
1432 0x34, 0xf3, 0xf, 0x7e, 0, 0,
1433 0x23, 0xf, 0x7e, 0, 0,
1434 0x34, 0x66, 0xf, 0x7f, 0, 0,
1435 0x34, 0xf3, 0xf, 0x7f, 0, 0,
1436 0x23, 0xf, 0x7f, 0, 0,
1437 0x23, 0xf, 0xc3, 0, 0,
1438 0x34, 0x66, 0xf, 0xc4, 0, 0,
1439 0x23, 0xf, 0xc4, 0, 0,
1440 0x34, 0x66, 0xf, 0xc5, 0xc0, 0xc0,
1441 0x23, 0xf, 0xc5, 0xc0, 0xc0,
1442 0x34, 0x66, 0xf, 0xc6, 0, 0,
1443 0x23, 0xf, 0xc6, 0, 0,
1444 0x34, 0x66, 0xf, 0xd1, 0, 0,
1445 0x23, 0xf, 0xd1, 0, 0,
1446 0x34, 0x66, 0xf, 0xd2, 0, 0,
1447 0x23, 0xf, 0xd2, 0, 0,
1448 0x34, 0x66, 0xf, 0xd3, 0, 0,
1449 0x23, 0xf, 0xd3, 0, 0,
1450 0x34, 0x66, 0xf, 0xd4, 0, 0,
1451 0x23, 0xf, 0xd4, 0, 0,
1452 0x34, 0x66, 0xf, 0xd5, 0, 0,
1453 0x23, 0xf, 0xd5, 0, 0,
1454 0x34, 0x66, 0xf, 0xd6, 0, 0,
1455 0x34, 0xf2, 0xf, 0xd6, 0xc0, 0xc0,
1456 0x34, 0xf3, 0xf, 0xd6, 0xc0, 0xc0,
1457 0x34, 0x66, 0xf, 0xd7, 0xc0, 0xc0,
1458 0x23, 0xf, 0xd7, 0xc0, 0xc0,
1459 0x34, 0x66, 0xf, 0xd8, 0, 0,
1460 0x23, 0xf, 0xd8, 0, 0,
1461 0x34, 0x66, 0xf, 0xd9, 0, 0,
1462 0x23, 0xf, 0xd9, 0, 0,
1463 0x34, 0x66, 0xf, 0xda, 0, 0,
1464 0x23, 0xf, 0xda, 0, 0,
1465 0x34, 0x66, 0xf, 0xdc, 0, 0,
1466 0x23, 0xf, 0xdc, 0, 0,
1467 0x34, 0x66, 0xf, 0xdd, 0, 0,
1468 0x23, 0xf, 0xdd, 0, 0,
1469 0x34, 0x66, 0xf, 0xde, 0, 0,
1470 0x23, 0xf, 0xde, 0, 0,
1471 0x34, 0x66, 0xf, 0xe0, 0, 0,
1472 0x23, 0xf, 0xe0, 0, 0,
1473 0x34, 0x66, 0xf, 0xe1, 0, 0,
1474 0x23, 0xf, 0xe1, 0, 0,
1475 0x34, 0x66, 0xf, 0xe2, 0, 0,
1476 0x23, 0xf, 0xe2, 0, 0,
1477 0x34, 0x66, 0xf, 0xe3, 0, 0,
1478 0x23, 0xf, 0xe3, 0, 0,
1479 0x34, 0x66, 0xf, 0xe4, 0, 0,
1480 0x23, 0xf, 0xe4, 0, 0,
1481 0x34, 0x66, 0xf, 0xe5, 0, 0,
1482 0x23, 0xf, 0xe5, 0, 0,
1483 0x34, 0x66, 0xf, 0xe7, 0, 0,
1484 0x23, 0xf, 0xe7, 0, 0,
1485 0x34, 0x66, 0xf, 0xe8, 0, 0,
1486 0x23, 0xf, 0xe8, 0, 0,
1487 0x34, 0x66, 0xf, 0xe9, 0, 0,
1488 0x23, 0xf, 0xe9, 0, 0,
1489 0x34, 0x66, 0xf, 0xea, 0, 0,
1490 0x23, 0xf, 0xea, 0, 0,
1491 0x34, 0x66, 0xf, 0xec, 0, 0,
1492 0x23, 0xf, 0xec, 0, 0,
1493 0x34, 0x66, 0xf, 0xed, 0, 0,
1494 0x23, 0xf, 0xed, 0, 0,
1495 0x34, 0x66, 0xf, 0xee, 0, 0,
1496 0x23, 0xf, 0xee, 0, 0,
1497 0x34, 0xf2, 0xf, 0xf0, 0, 0,
1498 0x34, 0x66, 0xf, 0xf1, 0, 0,
1499 0x23, 0xf, 0xf1, 0, 0,
1500 0x34, 0x66, 0xf, 0xf2, 0, 0,
1501 0x23, 0xf, 0xf2, 0, 0,
1502 0x34, 0x66, 0xf, 0xf3, 0, 0,
1503 0x23, 0xf, 0xf3, 0, 0,
1504 0x34, 0x66, 0xf, 0xf4, 0, 0,
1505 0x23, 0xf, 0xf4, 0, 0,
1506 0x34, 0x66, 0xf, 0xf6, 0, 0,
1507 0x23, 0xf, 0xf6, 0, 0,
1508 0x34, 0x66, 0xf, 0xf7, 0xc0, 0xc0,
1509 0x23, 0xf, 0xf7, 0xc0, 0xc0,
1510 0x34, 0x66, 0xf, 0xf8, 0, 0,
1511 0x23, 0xf, 0xf8, 0, 0,
1512 0x34, 0x66, 0xf, 0xf9, 0, 0,
1513 0x23, 0xf, 0xf9, 0, 0,
1514 0x34, 0x66, 0xf, 0xfa, 0, 0,
1515 0x23, 0xf, 0xfa, 0, 0,
1516 0x34, 0x66, 0xf, 0xfb, 0, 0,
1517 0x23, 0xf, 0xfb, 0, 0,
1518 0x34, 0x66, 0xf, 0xfc, 0, 0,
1519 0x23, 0xf, 0xfc, 0, 0,
1520 0x34, 0x66, 0xf, 0xfd, 0, 0,
1521 0x23, 0xf, 0xfd, 0, 0,
1522 0x34, 0x66, 0xf, 0xfe, 0, 0,
1523 0x23, 0xf, 0xfe, 0, 0,
1524 0x45, 0x66, 0xf, 0x38, 0, 0, 0,
1525 0x34, 0xf, 0x38, 0, 0, 0,
1526 0x45, 0x66, 0xf, 0x38, 0x1, 0, 0,
1527 0x34, 0xf, 0x38, 0x1, 0, 0,
1528 0x45, 0x66, 0xf, 0x38, 0x2, 0, 0,
1529 0x34, 0xf, 0x38, 0x2, 0, 0,
1530 0x45, 0x66, 0xf, 0x38, 0x3, 0, 0,
1531 0x34, 0xf, 0x38, 0x3, 0, 0,
1532 0x45, 0x66, 0xf, 0x38, 0x4, 0, 0,
1533 0x34, 0xf, 0x38, 0x4, 0, 0,
1534 0x45, 0x66, 0xf, 0x38, 0x5, 0, 0,
1535 0x34, 0xf, 0x38, 0x5, 0, 0,
1536 0x45, 0x66, 0xf, 0x38, 0x6, 0, 0,
1537 0x34, 0xf, 0x38, 0x6, 0, 0,
1538 0x45, 0x66, 0xf, 0x38, 0x7, 0, 0,
1539 0x34, 0xf, 0x38, 0x7, 0, 0,
1540 0x45, 0x66, 0xf, 0x38, 0x8, 0, 0,
1541 0x34, 0xf, 0x38, 0x8, 0, 0,
1542 0x45, 0x66, 0xf, 0x38, 0x9, 0, 0,
1543 0x34, 0xf, 0x38, 0x9, 0, 0,
1544 0x45, 0x66, 0xf, 0x38, 0xa, 0, 0,
1545 0x34, 0xf, 0x38, 0xa, 0, 0,
1546 0x45, 0x66, 0xf, 0x38, 0xb, 0, 0,
1547 0x34, 0xf, 0x38, 0xb, 0, 0,
1548 0x45, 0x66, 0xf, 0x38, 0x1c, 0, 0,
1549 0x34, 0xf, 0x38, 0x1c, 0, 0,
1550 0x45, 0x66, 0xf, 0x38, 0x1d, 0, 0,
1551 0x34, 0xf, 0x38, 0x1d, 0, 0,
1552 0x45, 0x66, 0xf, 0x38, 0x1e, 0, 0,
1553 0x34, 0xf, 0x38, 0x1e, 0, 0,
1554 0x45, 0x66, 0xf, 0x3a, 0xf, 0, 0,
1555 0x34, 0xf, 0x3a, 0xf, 0, 0,
1556 0x34, 0x66, 0xf, 0xc7, 0x38, 0x30,
1557 0x34, 0xf3, 0xf, 0xc7, 0x38, 0x30,
1558 0x23, 0xf, 0xc7, 0x38, 0x30,
1559 0x23, 0xf, 0xc7, 0x38, 0x38,
1560 0x34, 0x66, 0xf, 0x71, 0xf8, 0xd0,
1561 0x23, 0xf, 0x71, 0xf8, 0xd0,
1562 0x34, 0x66, 0xf, 0x71, 0xf8, 0xe0,
1563 0x23, 0xf, 0x71, 0xf8, 0xe0,
1564 0x34, 0x66, 0xf, 0x71, 0xf8, 0xf0,
1565 0x23, 0xf, 0x71, 0xf8, 0xf0,
1566 0x34, 0x66, 0xf, 0x72, 0xf8, 0xd0,
1567 0x23, 0xf, 0x72, 0xf8, 0xd0,
1568 0x34, 0x66, 0xf, 0x72, 0xf8, 0xe0,
1569 0x23, 0xf, 0x72, 0xf8, 0xe0,
1570 0x34, 0x66, 0xf, 0x72, 0xf8, 0xf0,
1571 0x23, 0xf, 0x72, 0xf8, 0xf0,
1572 0x34, 0x66, 0xf, 0x73, 0xf8, 0xd0,
1573 0x23, 0xf, 0x73, 0xf8, 0xd0,
1574 0x34, 0x66, 0xf, 0x73, 0xf8, 0xd8,
1575 0x34, 0x66, 0xf, 0x73, 0xf8, 0xf0,
1576 0x23, 0xf, 0x73, 0xf8, 0xf0,
1577 0x34, 0x66, 0xf, 0x73, 0xf8, 0xf8,
1578 0x33, 0xf, 0xae, 0xe8,
1579 0x33, 0xf, 0xae, 0xf0,
1580 0x33, 0xf, 0xae, 0xf8,
1581 0x23, 0xf, 0xae, 0x38, 0x38,
1582 0x23, 0xf, 0xf, 0, 0,
1583 0x45, 0x66, 0xf, 0x3a, 0xc, 0, 0,
1584 0x45, 0x66, 0xf, 0x3a, 0xd, 0, 0,
1585 0x45, 0x66, 0xf, 0x38, 0x14, 0, 0,
1586 0x45, 0x66, 0xf, 0x38, 0x15, 0, 0,
1587 0x45, 0x66, 0xf, 0x3a, 0x40, 0, 0,
1588 0x45, 0x66, 0xf, 0x3a, 0x41, 0, 0,
1589 0x45, 0x66, 0xf, 0x3a, 0x21, 0, 0,
1590 0x45, 0x66, 0xf, 0x38, 0x2a, 0, 0,
1591 0x45, 0x66, 0xf, 0x3a, 0x42, 0, 0,
1592 0x45, 0x66, 0xf, 0x38, 0x2b, 0, 0,
1593 0x45, 0x66, 0xf, 0x38, 0x10, 0, 0,
1594 0x45, 0x66, 0xf, 0x3a, 0xe, 0, 0,
1595 0x45, 0x66, 0xf, 0x38, 0x29, 0, 0,
1596 0x45, 0x66, 0xf, 0x3a, 0x61, 0, 0,
1597 0x45, 0x66, 0xf, 0x3a, 0x60, 0, 0,
1598 0x45, 0x66, 0xf, 0x3a, 0x63, 0, 0,
1599 0x45, 0x66, 0xf, 0x3a, 0x62, 0, 0,
1600 0x45, 0x66, 0xf, 0x38, 0x37, 0, 0,
1601 0x45, 0x66, 0xf, 0x38, 0x41, 0, 0,
1602 0x45, 0x66, 0xf, 0x3a, 0x20, 0, 0,
1603 0x45, 0x66, 0xf, 0x3a, 0x22, 0, 0,
1604 0x45, 0x66, 0xf, 0x38, 0x3c, 0, 0,
1605 0x45, 0x66, 0xf, 0x38, 0x3d, 0, 0,
1606 0x45, 0x66, 0xf, 0x38, 0x3f, 0, 0,
1607 0x45, 0x66, 0xf, 0x38, 0x3e, 0, 0,
1608 0x45, 0x66, 0xf, 0x38, 0x38, 0, 0,
1609 0x45, 0x66, 0xf, 0x38, 0x39, 0, 0,
1610 0x45, 0x66, 0xf, 0x38, 0x3b, 0, 0,
1611 0x45, 0x66, 0xf, 0x38, 0x3a, 0, 0,
1612 0x45, 0x66, 0xf, 0x38, 0x20, 0, 0,
1613 0x45, 0x66, 0xf, 0x38, 0x21, 0, 0,
1614 0x45, 0x66, 0xf, 0x38, 0x22, 0, 0,
1615 0x45, 0x66, 0xf, 0x38, 0x23, 0, 0,
1616 0x45, 0x66, 0xf, 0x38, 0x24, 0, 0,
1617 0x45, 0x66, 0xf, 0x38, 0x25, 0, 0,
1618 0x45, 0x66, 0xf, 0x38, 0x30, 0, 0,
1619 0x45, 0x66, 0xf, 0x38, 0x31, 0, 0,
1620 0x45, 0x66, 0xf, 0x38, 0x32, 0, 0,
1621 0x45, 0x66, 0xf, 0x38, 0x33, 0, 0,
1622 0x45, 0x66, 0xf, 0x38, 0x34, 0, 0,
1623 0x45, 0x66, 0xf, 0x38, 0x35, 0, 0,
1624 0x45, 0x66, 0xf, 0x38, 0x28, 0, 0,
1625 0x45, 0x66, 0xf, 0x38, 0x40, 0, 0,
1626 0x45, 0x66, 0xf, 0x38, 0x17, 0, 0,
1627 0x45, 0x66, 0xf, 0x3a, 0x8, 0, 0,
1628 0x45, 0x66, 0xf, 0x3a, 0x9, 0, 0,
1629 0x45, 0x66, 0xf, 0x3a, 0xa, 0, 0,
1630 0x45, 0x66, 0xf, 0x3a, 0xb, 0, 0,
1631 0x1, 0xe7, 0x7,
1632};
diff --git a/meta/recipes-devtools/elfutils/elfutils/add-ptest.patch b/meta/recipes-devtools/elfutils/elfutils/add-ptest.patch
new file mode 100644
index 0000000000..88f808d81c
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils/add-ptest.patch
@@ -0,0 +1,23 @@
1Add 'install-ptest' rule.
2
3Signed-off-by: Mihaela Sendrea <mihaela.sendrea@enea.com>
4Upstream-status: Pending
5---
6diff -uNr a/tests/Makefile.am b/tests/Makefile.am
7--- a/tests/Makefile.am 2013-08-19 14:05:23.256292155 +0200
8+++ b/tests/Makefile.am 2013-08-19 15:49:16.084543591 +0200
9@@ -240,3 +240,14 @@
10 coverage:
11 -$(srcdir)/coverage.sh
12 endif
13+
14+install-ptest:
15+ @$(MKDIR_P) $(DESTDIR)/tests
16+ @$(MKDIR_P) $(DESTDIR)/src
17+ @install $(builddir)/*$(EXEEXT) $(DESTDIR)/tests
18+ @install $(srcdir)/*.sh $(DESTDIR)/tests
19+ @install $(builddir)/../src/*$(EXEEXT) $(DESTDIR)/src
20+ @cp $(builddir)/../Makefile $(DESTDIR)
21+ @sed -i -e 's|^Makefile:|_Makefile:|' $(DESTDIR)/tests/Makefile
22+ @sed -i -e 's|$(srcdir)|.|' $(DESTDIR)/tests/Makefile
23+
diff --git a/meta/recipes-devtools/elfutils/elfutils/arm_backend.diff b/meta/recipes-devtools/elfutils/elfutils/arm_backend.diff
new file mode 100644
index 0000000000..d4e4675ad5
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils/arm_backend.diff
@@ -0,0 +1,449 @@
1Upstream-Status: Backport
2
3Index: elfutils-0.146/backends/arm_init.c
4===================================================================
5--- elfutils-0.146.orig/backends/arm_init.c 2009-04-21 14:50:01.000000000 +0000
6+++ elfutils-0.146/backends/arm_init.c 2010-04-24 10:11:13.000000000 +0000
7@@ -32,21 +32,32 @@
8 #define RELOC_PREFIX R_ARM_
9 #include "libebl_CPU.h"
10
11+#include "libebl_arm.h"
12+
13 /* This defines the common reloc hooks based on arm_reloc.def. */
14 #include "common-reloc.c"
15
16
17 const char *
18 arm_init (elf, machine, eh, ehlen)
19- Elf *elf __attribute__ ((unused));
20+ Elf *elf;
21 GElf_Half machine __attribute__ ((unused));
22 Ebl *eh;
23 size_t ehlen;
24 {
25+ int soft_float = 0;
26+
27 /* Check whether the Elf_BH object has a sufficent size. */
28 if (ehlen < sizeof (Ebl))
29 return NULL;
30
31+ if (elf) {
32+ GElf_Ehdr ehdr_mem;
33+ GElf_Ehdr *ehdr = gelf_getehdr (elf, &ehdr_mem);
34+ if (ehdr && (ehdr->e_flags & EF_ARM_SOFT_FLOAT))
35+ soft_float = 1;
36+ }
37+
38 /* We handle it. */
39 eh->name = "ARM";
40 arm_init_reloc (eh);
41@@ -58,7 +69,10 @@
42 HOOK (eh, core_note);
43 HOOK (eh, auxv_info);
44 HOOK (eh, check_object_attribute);
45- HOOK (eh, return_value_location);
46+ if (soft_float)
47+ eh->return_value_location = arm_return_value_location_soft;
48+ else
49+ eh->return_value_location = arm_return_value_location_hard;
50
51 return MODVERSION;
52 }
53Index: elfutils-0.146/backends/arm_regs.c
54===================================================================
55--- elfutils-0.146.orig/backends/arm_regs.c 2009-04-21 14:50:01.000000000 +0000
56+++ elfutils-0.146/backends/arm_regs.c 2010-04-24 10:11:13.000000000 +0000
57@@ -28,6 +28,7 @@
58 #endif
59
60 #include <string.h>
61+#include <stdio.h>
62 #include <dwarf.h>
63
64 #define BACKEND arm_
65@@ -58,7 +59,15 @@
66 namelen = 2;
67 break;
68
69- case 10 ... 12:
70+ case 10 ... 11:
71+ name[0] = 'r';
72+ name[1] = '1';
73+ name[2] = regno % 10 + '0';
74+ namelen = 3;
75+ break;
76+
77+ case 12:
78+ *type = DW_ATE_unsigned;
79 name[0] = 'r';
80 name[1] = '1';
81 name[2] = regno % 10 + '0';
82@@ -73,6 +82,9 @@
83 break;
84
85 case 16 + 0 ... 16 + 7:
86+ /* AADWARF says that there are no registers in that range,
87+ * but gcc maps FPA registers here
88+ */
89 regno += 96 - 16;
90 /* Fall through. */
91 case 96 + 0 ... 96 + 7:
92@@ -84,11 +96,139 @@
93 namelen = 2;
94 break;
95
96+ case 64 + 0 ... 64 + 9:
97+ *setname = "VFP";
98+ *bits = 32;
99+ *type = DW_ATE_float;
100+ name[0] = 's';
101+ name[1] = regno - 64 + '0';
102+ namelen = 2;
103+ break;
104+
105+ case 64 + 10 ... 64 + 31:
106+ *setname = "VFP";
107+ *bits = 32;
108+ *type = DW_ATE_float;
109+ name[0] = 's';
110+ name[1] = (regno - 64) / 10 + '0';
111+ name[2] = (regno - 64) % 10 + '0';
112+ namelen = 3;
113+ break;
114+
115+ case 104 + 0 ... 104 + 7:
116+ /* XXX TODO:
117+ * This can be either intel wireless MMX general purpose/control
118+ * registers or xscale accumulator, which have different usage.
119+ * We only have the intel wireless MMX here now.
120+ * The name needs to be changed for the xscale accumulator too. */
121+ *setname = "MMX";
122+ *type = DW_ATE_unsigned;
123+ *bits = 32;
124+ memcpy(name, "wcgr", 4);
125+ name[4] = regno - 104 + '0';
126+ namelen = 5;
127+ break;
128+
129+ case 112 + 0 ... 112 + 9:
130+ *setname = "MMX";
131+ *type = DW_ATE_unsigned;
132+ *bits = 64;
133+ name[0] = 'w';
134+ name[1] = 'r';
135+ name[2] = regno - 112 + '0';
136+ namelen = 3;
137+ break;
138+
139+ case 112 + 10 ... 112 + 15:
140+ *setname = "MMX";
141+ *type = DW_ATE_unsigned;
142+ *bits = 64;
143+ name[0] = 'w';
144+ name[1] = 'r';
145+ name[2] = '1';
146+ name[3] = regno - 112 - 10 + '0';
147+ namelen = 4;
148+ break;
149+
150 case 128:
151+ *setname = "special";
152 *type = DW_ATE_unsigned;
153 return stpcpy (name, "spsr") + 1 - name;
154
155+ case 129:
156+ *setname = "special";
157+ *type = DW_ATE_unsigned;
158+ return stpcpy(name, "spsr_fiq") + 1 - name;
159+
160+ case 130:
161+ *setname = "special";
162+ *type = DW_ATE_unsigned;
163+ return stpcpy(name, "spsr_irq") + 1 - name;
164+
165+ case 131:
166+ *setname = "special";
167+ *type = DW_ATE_unsigned;
168+ return stpcpy(name, "spsr_abt") + 1 - name;
169+
170+ case 132:
171+ *setname = "special";
172+ *type = DW_ATE_unsigned;
173+ return stpcpy(name, "spsr_und") + 1 - name;
174+
175+ case 133:
176+ *setname = "special";
177+ *type = DW_ATE_unsigned;
178+ return stpcpy(name, "spsr_svc") + 1 - name;
179+
180+ case 144 ... 150:
181+ *setname = "integer";
182+ *type = DW_ATE_signed;
183+ *bits = 32;
184+ return sprintf(name, "r%d_usr", regno - 144 + 8) + 1;
185+
186+ case 151 ... 157:
187+ *setname = "integer";
188+ *type = DW_ATE_signed;
189+ *bits = 32;
190+ return sprintf(name, "r%d_fiq", regno - 151 + 8) + 1;
191+
192+ case 158 ... 159:
193+ *setname = "integer";
194+ *type = DW_ATE_signed;
195+ *bits = 32;
196+ return sprintf(name, "r%d_irq", regno - 158 + 13) + 1;
197+
198+ case 160 ... 161:
199+ *setname = "integer";
200+ *type = DW_ATE_signed;
201+ *bits = 32;
202+ return sprintf(name, "r%d_abt", regno - 160 + 13) + 1;
203+
204+ case 162 ... 163:
205+ *setname = "integer";
206+ *type = DW_ATE_signed;
207+ *bits = 32;
208+ return sprintf(name, "r%d_und", regno - 162 + 13) + 1;
209+
210+ case 164 ... 165:
211+ *setname = "integer";
212+ *type = DW_ATE_signed;
213+ *bits = 32;
214+ return sprintf(name, "r%d_svc", regno - 164 + 13) + 1;
215+
216+ case 192 ... 199:
217+ *setname = "MMX";
218+ *bits = 32;
219+ *type = DW_ATE_unsigned;
220+ name[0] = 'w';
221+ name[1] = 'c';
222+ name[2] = regno - 192 + '0';
223+ namelen = 3;
224+ break;
225+
226 case 256 + 0 ... 256 + 9:
227+ /* XXX TODO: Neon also uses those registers and can contain
228+ * both float and integers */
229 *setname = "VFP";
230 *type = DW_ATE_float;
231 *bits = 64;
232Index: elfutils-0.146/backends/arm_retval.c
233===================================================================
234--- elfutils-0.146.orig/backends/arm_retval.c 2010-01-12 16:57:54.000000000 +0000
235+++ elfutils-0.146/backends/arm_retval.c 2010-04-24 10:11:13.000000000 +0000
236@@ -45,6 +45,13 @@
237 #define nloc_intreg 1
238 #define nloc_intregs(n) (2 * (n))
239
240+/* f1 */ /* XXX TODO: f0 can also have number 96 if program was compiled with -mabi=aapcs */
241+static const Dwarf_Op loc_fpreg[] =
242+ {
243+ { .atom = DW_OP_reg16 },
244+ };
245+#define nloc_fpreg 1
246+
247 /* The return value is a structure and is actually stored in stack space
248 passed in a hidden argument by the caller. But, the compiler
249 helpfully returns the address of that space in r0. */
250@@ -55,8 +62,9 @@
251 #define nloc_aggregate 1
252
253
254-int
255-arm_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
256+static int
257+arm_return_value_location_ (Dwarf_Die *functypedie, const Dwarf_Op **locp,
258+ int soft_float)
259 {
260 /* Start with the function's type, and get the DW_AT_type attribute,
261 which is the type of the return value. */
262@@ -109,14 +117,31 @@
263 else
264 return -1;
265 }
266+ if (tag == DW_TAG_base_type)
267+ {
268+ Dwarf_Word encoding;
269+ if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_encoding,
270+ &attr_mem), &encoding) != 0)
271+ return -1;
272+
273+ if ((encoding == DW_ATE_float) && !soft_float)
274+ {
275+ *locp = loc_fpreg;
276+ if (size <= 8)
277+ return nloc_fpreg;
278+ goto aggregate;
279+ }
280+ }
281 if (size <= 16)
282 {
283 intreg:
284 *locp = loc_intreg;
285 return size <= 4 ? nloc_intreg : nloc_intregs ((size + 3) / 4);
286 }
287+ /* fall through. */
288
289 aggregate:
290+ /* XXX TODO sometimes aggregates are returned in r0 (-mabi=aapcs) */
291 *locp = loc_aggregate;
292 return nloc_aggregate;
293
294@@ -135,3 +160,18 @@
295 DWARF and might be valid. */
296 return -2;
297 }
298+
299+/* return location for -mabi=apcs-gnu -msoft-float */
300+int
301+arm_return_value_location_soft (Dwarf_Die *functypedie, const Dwarf_Op **locp)
302+{
303+ return arm_return_value_location_ (functypedie, locp, 1);
304+}
305+
306+/* return location for -mabi=apcs-gnu -mhard-float (current default) */
307+int
308+arm_return_value_location_hard (Dwarf_Die *functypedie, const Dwarf_Op **locp)
309+{
310+ return arm_return_value_location_ (functypedie, locp, 0);
311+}
312+
313Index: elfutils-0.146/libelf/elf.h
314===================================================================
315--- elfutils-0.146.orig/libelf/elf.h 2010-04-24 10:11:11.000000000 +0000
316+++ elfutils-0.146/libelf/elf.h 2010-04-24 10:11:13.000000000 +0000
317@@ -2290,6 +2290,9 @@
318 #define EF_ARM_EABI_VER4 0x04000000
319 #define EF_ARM_EABI_VER5 0x05000000
320
321+/* EI_OSABI values */
322+#define ELFOSABI_ARM_AEABI 64 /* Contains symbol versioning. */
323+
324 /* Additional symbol types for Thumb. */
325 #define STT_ARM_TFUNC STT_LOPROC /* A Thumb function. */
326 #define STT_ARM_16BIT STT_HIPROC /* A Thumb label. */
327@@ -2307,12 +2310,19 @@
328
329 /* Processor specific values for the Phdr p_type field. */
330 #define PT_ARM_EXIDX (PT_LOPROC + 1) /* ARM unwind segment. */
331+#define PT_ARM_UNWIND PT_ARM_EXIDX
332
333 /* Processor specific values for the Shdr sh_type field. */
334 #define SHT_ARM_EXIDX (SHT_LOPROC + 1) /* ARM unwind section. */
335 #define SHT_ARM_PREEMPTMAP (SHT_LOPROC + 2) /* Preemption details. */
336 #define SHT_ARM_ATTRIBUTES (SHT_LOPROC + 3) /* ARM attributes section. */
337
338+/* Processor specific values for the Dyn d_tag field. */
339+#define DT_ARM_RESERVED1 (DT_LOPROC + 0)
340+#define DT_ARM_SYMTABSZ (DT_LOPROC + 1)
341+#define DT_ARM_PREEMTMAB (DT_LOPROC + 2)
342+#define DT_ARM_RESERVED2 (DT_LOPROC + 3)
343+#define DT_ARM_NUM 4
344
345 /* ARM relocs. */
346
347@@ -2344,12 +2354,75 @@
348 #define R_ARM_GOTPC 25 /* 32 bit PC relative offset to GOT */
349 #define R_ARM_GOT32 26 /* 32 bit GOT entry */
350 #define R_ARM_PLT32 27 /* 32 bit PLT address */
351+#define R_ARM_CALL 28
352+#define R_ARM_JUMP24 29
353+#define R_ARM_THM_JUMP24 30
354+#define R_ARM_BASE_ABS 31
355 #define R_ARM_ALU_PCREL_7_0 32
356 #define R_ARM_ALU_PCREL_15_8 33
357 #define R_ARM_ALU_PCREL_23_15 34
358 #define R_ARM_LDR_SBREL_11_0 35
359 #define R_ARM_ALU_SBREL_19_12 36
360 #define R_ARM_ALU_SBREL_27_20 37
361+#define R_ARM_TARGET1 38
362+#define R_ARM_SBREL31 39
363+#define R_ARM_V4BX 40
364+#define R_ARM_TARGET2 41
365+#define R_ARM_PREL31 42
366+#define R_ARM_MOVW_ABS_NC 43
367+#define R_ARM_MOVT_ABS 44
368+#define R_ARM_MOVW_PREL_NC 45
369+#define R_ARM_MOVT_PREL 46
370+#define R_ARM_THM_MOVW_ABS_NC 47
371+#define R_ARM_THM_MOVT_ABS 48
372+#define R_ARM_THM_MOVW_PREL_NC 49
373+#define R_ARM_THM_MOVT_PREL 50
374+#define R_ARM_THM_JUMP19 51
375+#define R_ARM_THM_JUMP6 52
376+#define R_ARM_THM_ALU_PREL_11_0 53
377+#define R_ARM_THM_PC12 54
378+#define R_ARM_ABS32_NOI 55
379+#define R_ARM_REL32_NOI 56
380+#define R_ARM_ALU_PC_G0_NC 57
381+#define R_ARM_ALU_PC_G0 58
382+#define R_ARM_ALU_PC_G1_NC 59
383+#define R_ARM_ALU_PC_G1 60
384+#define R_ARM_ALU_PC_G2 61
385+#define R_ARM_LDR_PC_G1 62
386+#define R_ARM_LDR_PC_G2 63
387+#define R_ARM_LDRS_PC_G0 64
388+#define R_ARM_LDRS_PC_G1 65
389+#define R_ARM_LDRS_PC_G2 66
390+#define R_ARM_LDC_PC_G0 67
391+#define R_ARM_LDC_PC_G1 68
392+#define R_ARM_LDC_PC_G2 69
393+#define R_ARM_ALU_SB_G0_NC 70
394+#define R_ARM_ALU_SB_G0 71
395+#define R_ARM_ALU_SB_G1_NC 72
396+#define R_ARM_ALU_SB_G1 73
397+#define R_ARM_ALU_SB_G2 74
398+#define R_ARM_LDR_SB_G0 75
399+#define R_ARM_LDR_SB_G1 76
400+#define R_ARM_LDR_SB_G2 77
401+#define R_ARM_LDRS_SB_G0 78
402+#define R_ARM_LDRS_SB_G1 79
403+#define R_ARM_LDRS_SB_G2 80
404+#define R_ARM_LDC_G0 81
405+#define R_ARM_LDC_G1 82
406+#define R_ARM_LDC_G2 83
407+#define R_ARM_MOVW_BREL_NC 84
408+#define R_ARM_MOVT_BREL 85
409+#define R_ARM_MOVW_BREL 86
410+#define R_ARM_THM_MOVW_BREL_NC 87
411+#define R_ARM_THM_MOVT_BREL 88
412+#define R_ARM_THM_MOVW_BREL 89
413+/* 90-93 unallocated */
414+#define R_ARM_PLT32_ABS 94
415+#define R_ARM_GOT_ABS 95
416+#define R_ARM_GOT_PREL 96
417+#define R_ARM_GOT_BREL12 97
418+#define R_ARM_GOTOFF12 98
419+#define R_ARM_GOTRELAX 99
420 #define R_ARM_GNU_VTENTRY 100
421 #define R_ARM_GNU_VTINHERIT 101
422 #define R_ARM_THM_PC11 102 /* thumb unconditional branch */
423@@ -2364,6 +2437,12 @@
424 static TLS block offset */
425 #define R_ARM_TLS_LE32 108 /* 32 bit offset relative to static
426 TLS block */
427+#define R_ARM_TLS_LDO12 109
428+#define R_ARM_TLS_LE12 110
429+#define R_ARM_TLS_IE12GP 111
430+/* 112 - 127 private range */
431+#define R_ARM_ME_TOO 128 /* obsolete */
432+
433 #define R_ARM_RXPC25 249
434 #define R_ARM_RSBREL32 250
435 #define R_ARM_THM_RPC22 251
436Index: elfutils-0.146/backends/libebl_arm.h
437===================================================================
438--- /dev/null 1970-01-01 00:00:00.000000000 +0000
439+++ elfutils-0.146/backends/libebl_arm.h 2010-04-24 10:11:13.000000000 +0000
440@@ -0,0 +1,9 @@
441+#ifndef _LIBEBL_ARM_H
442+#define _LIBEBL_ARM_H 1
443+
444+#include <libdw.h>
445+
446+extern int arm_return_value_location_soft(Dwarf_Die *, const Dwarf_Op **locp);
447+extern int arm_return_value_location_hard(Dwarf_Die *, const Dwarf_Op **locp);
448+
449+#endif
diff --git a/meta/recipes-devtools/elfutils/elfutils/avoid_parallel_tests.patch b/meta/recipes-devtools/elfutils/elfutils/avoid_parallel_tests.patch
new file mode 100644
index 0000000000..0e94798225
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils/avoid_parallel_tests.patch
@@ -0,0 +1,19 @@
1ptest needs buildtest-TESTS and runtest-TESTS targets.
2serial-tests is required to generate those targets.
3
4Signed-off-by: Alexandra Safta <alexandra.safta@enea.com>
5Upstream-Status: Pending
6
7diff -ruN a/configure.ac b/configure.ac
8
9--- a/configure.ac 2014-05-26 18:55:11.843190780 +0200
10+++ b/configure.ac 2014-05-26 18:56:01.725097919 +0200
11@@ -25,7 +25,7 @@
12 AC_PREREQ(2.63) dnl Minimum Autoconf version required.
13
14 dnl We use GNU make extensions; automake 1.10 defaults to -Wportability.
15-AM_INIT_AUTOMAKE([gnits 1.8 -Wno-portability dist-bzip2 no-dist-gzip])
16+AM_INIT_AUTOMAKE([gnits 1.8 -Wno-portability dist-bzip2 no-dist-gzip serial-tests])
17 AM_MAINTAINER_MODE
18
19 dnl Unique ID for this build.
diff --git a/meta/recipes-devtools/elfutils/elfutils/dso-link-change.patch b/meta/recipes-devtools/elfutils/elfutils/dso-link-change.patch
new file mode 100644
index 0000000000..d0cd3ed6f9
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils/dso-link-change.patch
@@ -0,0 +1,32 @@
1Upstream-Status: Pending
2
3# This patch makes the link to the dependencies of libdw explicit, as recent
4# ld no longer implicitly links them. See
5# http://lists.fedoraproject.org/pipermail/devel/2010-March/133601.html as
6# a similar example of the error message you can encounter without this patch,
7# and https://fedoraproject.org/wiki/UnderstandingDSOLinkChange and
8# https://fedoraproject.org/wiki/Features/ChangeInImplicitDSOLinking for more
9# details.
10
11--- elfutils-0.148.orig/src/Makefile.am
12+++ elfutils-0.148/src/Makefile.am
13@@ -86,7 +86,7 @@ libdw = ../libdw/libdw.a $(zip_LIBS) $(l
14 libelf = ../libelf/libelf.a
15 else
16 libasm = ../libasm/libasm.so
17-libdw = ../libdw/libdw.so
18+libdw = ../libdw/libdw.so $(zip_LIBS) $(libelf) $(libebl) -ldl
19 libelf = ../libelf/libelf.so
20 endif
21 libebl = ../libebl/libebl.a
22--- elfutils-0.148.orig/tests/Makefile.am
23+++ elfutils-0.148/tests/Makefile.am
24@@ -172,7 +172,7 @@ libdw = ../libdw/libdw.a $(zip_LIBS) $(l
25 libelf = ../libelf/libelf.a
26 libasm = ../libasm/libasm.a
27 else
28-libdw = ../libdw/libdw.so
29+libdw = ../libdw/libdw.so $(zip_LIBS) $(libelf) $(libebl) -ldl
30 libelf = ../libelf/libelf.so
31 libasm = ../libasm/libasm.so
32 endif
diff --git a/meta/recipes-devtools/elfutils/elfutils/elf_additions.diff b/meta/recipes-devtools/elfutils/elfutils/elf_additions.diff
new file mode 100644
index 0000000000..5baa709000
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils/elf_additions.diff
@@ -0,0 +1,71 @@
1Upstream-Status: Backport
2
3Index: elfutils-0.146/libelf/elf.h
4===================================================================
5--- elfutils-0.146.orig/libelf/elf.h 2010-04-24 10:13:50.000000000 +0000
6+++ elfutils-0.146/libelf/elf.h 2010-04-24 10:22:43.000000000 +0000
7@@ -143,6 +143,7 @@
8 #define ELFOSABI_HPUX 1 /* HP-UX */
9 #define ELFOSABI_NETBSD 2 /* NetBSD. */
10 #define ELFOSABI_LINUX 3 /* Linux. */
11+#define ELFOSABI_HURD 4 /* GNU/Hurd */
12 #define ELFOSABI_SOLARIS 6 /* Sun Solaris. */
13 #define ELFOSABI_AIX 7 /* IBM AIX. */
14 #define ELFOSABI_IRIX 8 /* SGI Irix. */
15@@ -150,8 +151,13 @@
16 #define ELFOSABI_TRU64 10 /* Compaq TRU64 UNIX. */
17 #define ELFOSABI_MODESTO 11 /* Novell Modesto. */
18 #define ELFOSABI_OPENBSD 12 /* OpenBSD. */
19+#define ELFOSABI_OPENVMS 13 /* OpenVMS */
20+#define ELFOSABI_NSK 14 /* Hewlett-Packard Non-Stop Kernel */
21+#define ELFOSABI_AROS 15 /* Amiga Research OS */
22+/* 64-255 Architecture-specific value range */
23 #define ELFOSABI_ARM_AEABI 64 /* ARM EABI */
24 #define ELFOSABI_ARM 97 /* ARM */
25+/* This is deprecated? It's not in the latest version anymore. */
26 #define ELFOSABI_STANDALONE 255 /* Standalone (embedded) application */
27
28 #define EI_ABIVERSION 8 /* ABI version */
29@@ -206,7 +212,7 @@
30 #define EM_H8_300H 47 /* Hitachi H8/300H */
31 #define EM_H8S 48 /* Hitachi H8S */
32 #define EM_H8_500 49 /* Hitachi H8/500 */
33-#define EM_IA_64 50 /* Intel Merced */
34+#define EM_IA_64 50 /* Intel IA64 */
35 #define EM_MIPS_X 51 /* Stanford MIPS-X */
36 #define EM_COLDFIRE 52 /* Motorola Coldfire */
37 #define EM_68HC12 53 /* Motorola M68HC12 */
38@@ -220,7 +226,8 @@
39 #define EM_TINYJ 61 /* Advanced Logic Corp. Tinyj emb.fam*/
40 #define EM_X86_64 62 /* AMD x86-64 architecture */
41 #define EM_PDSP 63 /* Sony DSP Processor */
42-
43+#define EM_PDP10 64 /* Digital Equipment Corp. PDP-10 */
44+#define EM_PDP11 65 /* Digital Equipment Corp. PDP-11 */
45 #define EM_FX66 66 /* Siemens FX66 microcontroller */
46 #define EM_ST9PLUS 67 /* STMicroelectronics ST9+ 8/16 mc */
47 #define EM_ST7 68 /* STmicroelectronics ST7 8 bit mc */
48@@ -250,7 +257,22 @@
49 #define EM_OPENRISC 92 /* OpenRISC 32-bit embedded processor */
50 #define EM_ARC_A5 93 /* ARC Cores Tangent-A5 */
51 #define EM_XTENSA 94 /* Tensilica Xtensa Architecture */
52-#define EM_NUM 95
53+#define EM_VIDEOCORE 95 /* Alphamosaic VideoCore processor */
54+#define EM_TMM_GPP 96 /* Thompson Multimedia General Purpose Processor */
55+#define EM_NS32K 97 /* National Semiconductor 32000 series */
56+#define EM_TPC 98 /* Tenor Network TPC processor */
57+#define EM_SNP1K 99 /* Trebia SNP 1000 processor */
58+#define EM_ST200 100 /* STMicroelectronics (www.st.com) ST200 microcontroller */
59+#define EM_IP2K 101 /* Ubicom IP2XXX microcontroller family */
60+#define EM_MAX 102 /* MAX Processor */
61+#define EM_CR 103 /* National Semiconductor CompactRISC */
62+#define EM_F2MC16 104 /* Fujitsu F2MC16 */
63+#define EM_MSP430 105 /* TI msp430 micro controller */
64+#define EM_BLACKFIN 106 /* Analog Devices Blackfin (DSP) processor */
65+#define EM_SE_C33 107 /* S1C33 Family of Seiko Epson processors */
66+#define EM_SEP 108 /* Sharp embedded microprocessor */
67+#define EM_ARCA 109 /* Arca RISC Microprocessor */
68+#define EM_NUM 110
69
70 /* If it is necessary to assign new unofficial EM_* values, please
71 pick large random numbers (0x8523, 0xa7f2, etc.) to minimize the
diff --git a/meta/recipes-devtools/elfutils/elfutils/elfutils-ar-c-fix-num-passed-to-memset.patch b/meta/recipes-devtools/elfutils/elfutils/elfutils-ar-c-fix-num-passed-to-memset.patch
new file mode 100644
index 0000000000..b619619ec0
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils/elfutils-ar-c-fix-num-passed-to-memset.patch
@@ -0,0 +1,23 @@
1Upstream-Status: Backport
2
3ar.c (do_oper_delete): Fix num passed to memset
4native build failed as following on Fedora18+:
5ar.c: In function 'do_oper_delete':
6ar.c:918:31: error: argument to 'sizeof' in 'memset' call is the same expression as the destination; did you mean to dereference it? [-Werror=sizeof-pointer-memaccess]
7 memset (found, '\0', sizeof (found));
8 ^
9The original commit is http://git.fedorahosted.org/cgit/elfutils.git/commit/src/ar.c?id=1a4d0668d18bf1090c5c08cdb5cb3ba2b8eb5410
10
11Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
12
13--- elfutils-0.148/src/ar.c.org 2013-03-12 21:12:17.928281375 -0500
14+++ elfutils-0.148/src/ar.c 2013-03-12 21:15:30.053285271 -0500
15@@ -915,7 +915,7 @@
16 long int instance)
17 {
18 bool *found = alloca (sizeof (bool) * argc);
19- memset (found, '\0', sizeof (found));
20+ memset (found, '\0', sizeof (bool) * argc);
21
22 /* List of the files we keep. */
23 struct armem *to_copy = NULL;
diff --git a/meta/recipes-devtools/elfutils/elfutils/elfutils-fsize.patch b/meta/recipes-devtools/elfutils/elfutils/elfutils-fsize.patch
new file mode 100644
index 0000000000..0ff353d0de
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils/elfutils-fsize.patch
@@ -0,0 +1,39 @@
1Upstream-Status: Backport
2
3The ELF_T_LIB and ELF_T_GNUHASH sizes were missing from fsize table.
4
5This could cause a failure in the elf*_xlatetof function.
6
7diff -ur elfutils-0.148.orig/libelf/exttypes.h elfutils-0.148/libelf/exttypes.h
8--- elfutils-0.148.orig/libelf/exttypes.h 2009-01-08 12:56:37.000000000 -0800
9+++ elfutils-0.148/libelf/exttypes.h 2010-08-18 14:00:33.000000000 -0700
10@@ -94,6 +94,7 @@
11 Vernaux32 (Ext_);
12 Syminfo32 (Ext_);
13 Move32 (Ext_);
14+Lib32 (Ext_);
15 auxv_t32 (Ext_);
16
17 Ehdr64 (Ext_);
18@@ -110,6 +111,7 @@
19 Vernaux64 (Ext_);
20 Syminfo64 (Ext_);
21 Move64 (Ext_);
22+Lib64 (Ext_);
23 auxv_t64 (Ext_);
24
25 #undef START
26diff -ur elfutils-0.148.orig/libelf/gelf_fsize.c elfutils-0.148/libelf/gelf_fsize.c
27--- elfutils-0.148.orig/libelf/gelf_fsize.c 2009-01-08 12:56:37.000000000 -0800
28+++ elfutils-0.148/libelf/gelf_fsize.c 2010-08-18 14:11:57.000000000 -0700
29@@ -87,7 +87,9 @@
30 [ELF_T_NHDR] = sizeof (ElfW2(LIBELFBITS, Ext_Nhdr)), \
31 [ELF_T_SYMINFO] = sizeof (ElfW2(LIBELFBITS, Ext_Syminfo)), \
32 [ELF_T_MOVE] = sizeof (ElfW2(LIBELFBITS, Ext_Move)), \
33- [ELF_T_AUXV] = sizeof (ElfW2(LIBELFBITS, Ext_auxv_t))
34+ [ELF_T_LIB] = sizeof (ElfW2(LIBELFBITS, Ext_Lib)), \
35+ [ELF_T_AUXV] = sizeof (ElfW2(LIBELFBITS, Ext_auxv_t)), \
36+ [ELF_T_GNUHASH] = ELFW2(LIBELFBITS, FSZ_WORD)
37 TYPE_SIZES (32)
38 },
39 [ELFCLASS64 - 1] = {
diff --git a/meta/recipes-devtools/elfutils/elfutils/fix-build-gcc-4.8.patch b/meta/recipes-devtools/elfutils/elfutils/fix-build-gcc-4.8.patch
new file mode 100644
index 0000000000..0e28690207
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils/fix-build-gcc-4.8.patch
@@ -0,0 +1,57 @@
1This patch fixes a warning seen with gcc 4.8 (especially on ubuntu 13.10)
2
3| addr2line.c: In function 'handle_address':
4| addr2line.c:450:7: error: format '%a' expects argument of type 'float *', but argument 3 has type 'char **' [-Werror=format=]
5| if (sscanf (string, "(%a[^)])%" PRIiMAX "%n", &name, &addr, &i) == 2
6| ^
7| addr2line.c:453:7: error: format '%a' expects argument of type 'float *', but argument 3 has type 'char **' [-Werror=format=]
8| switch (sscanf (string, "%a[^-+]%n%" PRIiMAX "%n", &name, &i, &addr, &j))
9| ^
10| cc1: all warnings being treated as errors
11
12
13%a is old GNU style and should be abandoned in favor of %m
14
15Also see
16
17http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54361
18
19to support this assertion
20
21This patch is added via redhat-compatibility patch so lets revert this part
22here.
23
24Signed-off-by: Khem Raj <raj.khem@gmail.com>
25
26Upstream-Status: Inappropriate [Caused by an earlier patch]
27
28Index: elfutils-0.148/src/addr2line.c
29===================================================================
30--- elfutils-0.148.orig/src/addr2line.c 2013-09-23 17:46:45.513586538 -0700
31+++ elfutils-0.148/src/addr2line.c 2013-09-23 17:46:46.329586558 -0700
32@@ -447,10 +447,10 @@
33 bool parsed = false;
34 int i, j;
35 char *name = NULL;
36- if (sscanf (string, "(%a[^)])%" PRIiMAX "%n", &name, &addr, &i) == 2
37+ if (sscanf (string, "(%m[^)])%" PRIiMAX "%n", &name, &addr, &i) == 2
38 && string[i] == '\0')
39 parsed = adjust_to_section (name, &addr, dwfl);
40- switch (sscanf (string, "%a[^-+]%n%" PRIiMAX "%n", &name, &i, &addr, &j))
41+ switch (sscanf (string, "%m[^-+]%n%" PRIiMAX "%n", &name, &i, &addr, &j))
42 {
43 default:
44 break;
45Index: elfutils-0.148/tests/line2addr.c
46===================================================================
47--- elfutils-0.148.orig/tests/line2addr.c 2013-09-23 17:46:45.521586538 -0700
48+++ elfutils-0.148/tests/line2addr.c 2013-09-23 17:46:46.329586558 -0700
49@@ -132,7 +132,7 @@
50 {
51 struct args a = { .arg = argv[cnt] };
52
53- switch (sscanf (a.arg, "%a[^:]:%d", &a.file, &a.line))
54+ switch (sscanf (a.arg, "%m[^:]:%d", &a.file, &a.line))
55 {
56 default:
57 case 0:
diff --git a/meta/recipes-devtools/elfutils/elfutils/fix_for_gcc-4.7.patch b/meta/recipes-devtools/elfutils/elfutils/fix_for_gcc-4.7.patch
new file mode 100644
index 0000000000..bd634b4418
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils/fix_for_gcc-4.7.patch
@@ -0,0 +1,73 @@
1Upstream-Status: pending
2gcc 4.7 does not like pointer conversion, so have a void * tmp var to work
3around following compilation issue.
4
5Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
62011/07/07
7
8| md5.c: In function 'md5_finish_ctx':
9| md5.c:108:3: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
10| md5.c:109:3: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
11| cc1: all warnings being treated as errors
12|
13| make[2]: *** [md5.o] Error 1
14| make[2]: *** Waiting for unfinished jobs....
15| sha1.c: In function 'sha1_finish_ctx':
16| sha1.c:109:3: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
17| sha1.c:111:3: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
18| cc1: all warnings being treated as errors
19|
20| make[2]: *** [sha1.o] Error 1
21
22Index: elfutils-0.148/lib/md5.c
23===================================================================
24--- elfutils-0.148.orig/lib/md5.c
25+++ elfutils-0.148/lib/md5.c
26@@ -95,6 +95,7 @@ md5_finish_ctx (ctx, resbuf)
27 /* Take yet unprocessed bytes into account. */
28 md5_uint32 bytes = ctx->buflen;
29 size_t pad;
30+ void * tmp;
31
32 /* Now count remaining bytes. */
33 ctx->total[0] += bytes;
34@@ -105,9 +106,10 @@ md5_finish_ctx (ctx, resbuf)
35 memcpy (&ctx->buffer[bytes], fillbuf, pad);
36
37 /* Put the 64-bit file length in *bits* at the end of the buffer. */
38- *(md5_uint32 *) &ctx->buffer[bytes + pad] = SWAP (ctx->total[0] << 3);
39- *(md5_uint32 *) &ctx->buffer[bytes + pad + 4] = SWAP ((ctx->total[1] << 3) |
40- (ctx->total[0] >> 29));
41+ tmp = &ctx->buffer[bytes + pad];
42+ *(md5_uint32 *) tmp = SWAP (ctx->total[0] << 3);
43+ tmp = &ctx->buffer[bytes + pad + 4];
44+ *(md5_uint32 *) tmp = SWAP ((ctx->total[1] << 3) | (ctx->total[0] >> 29));
45
46 /* Process last bytes. */
47 md5_process_block (ctx->buffer, bytes + pad + 8, ctx);
48Index: elfutils-0.148/lib/sha1.c
49===================================================================
50--- elfutils-0.148.orig/lib/sha1.c
51+++ elfutils-0.148/lib/sha1.c
52@@ -96,6 +96,7 @@ sha1_finish_ctx (ctx, resbuf)
53 /* Take yet unprocessed bytes into account. */
54 sha1_uint32 bytes = ctx->buflen;
55 size_t pad;
56+ void * tmp;
57
58 /* Now count remaining bytes. */
59 ctx->total[0] += bytes;
60@@ -106,9 +107,10 @@ sha1_finish_ctx (ctx, resbuf)
61 memcpy (&ctx->buffer[bytes], fillbuf, pad);
62
63 /* Put the 64-bit file length in *bits* at the end of the buffer. */
64- *(sha1_uint32 *) &ctx->buffer[bytes + pad] = SWAP ((ctx->total[1] << 3) |
65- (ctx->total[0] >> 29));
66- *(sha1_uint32 *) &ctx->buffer[bytes + pad + 4] = SWAP (ctx->total[0] << 3);
67+ tmp = &ctx->buffer[bytes + pad];
68+ *(sha1_uint32 *) tmp = SWAP ((ctx->total[1] << 3) | (ctx->total[0] >> 29));
69+ tmp = &ctx->buffer[bytes + pad + 4];
70+ *(sha1_uint32 *) tmp = SWAP (ctx->total[0] << 3);
71
72 /* Process last bytes. */
73 sha1_process_block (ctx->buffer, bytes + pad + 8, ctx);
diff --git a/meta/recipes-devtools/elfutils/elfutils/hppa_backend.diff b/meta/recipes-devtools/elfutils/elfutils/hppa_backend.diff
new file mode 100644
index 0000000000..a86b97c683
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils/hppa_backend.diff
@@ -0,0 +1,801 @@
1Upstream-Status: Backport
2
3Index: elfutils-0.146/backends/parisc_init.c
4===================================================================
5--- /dev/null 1970-01-01 00:00:00.000000000 +0000
6+++ elfutils-0.146/backends/parisc_init.c 2010-04-24 10:10:50.000000000 +0000
7@@ -0,0 +1,74 @@
8+/* Initialization of PA-RISC specific backend library.
9+ Copyright (C) 2002, 2005, 2006 Red Hat, Inc.
10+ This file is part of Red Hat elfutils.
11+ Written by Ulrich Drepper <drepper@redhat.com>, 2002.
12+
13+ Red Hat elfutils is free software; you can redistribute it and/or modify
14+ it under the terms of the GNU General Public License as published by the
15+ Free Software Foundation; version 2 of the License.
16+
17+ Red Hat elfutils is distributed in the hope that it will be useful, but
18+ WITHOUT ANY WARRANTY; without even the implied warranty of
19+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20+ General Public License for more details.
21+
22+ You should have received a copy of the GNU General Public License along
23+ with Red Hat elfutils; if not, write to the Free Software Foundation,
24+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
25+
26+ Red Hat elfutils is an included package of the Open Invention Network.
27+ An included package of the Open Invention Network is a package for which
28+ Open Invention Network licensees cross-license their patents. No patent
29+ license is granted, either expressly or impliedly, by designation as an
30+ included package. Should you wish to participate in the Open Invention
31+ Network licensing program, please visit www.openinventionnetwork.com
32+ <http://www.openinventionnetwork.com>. */
33+
34+#ifdef HAVE_CONFIG_H
35+# include <config.h>
36+#endif
37+
38+#define BACKEND parisc_
39+#define RELOC_PREFIX R_PARISC_
40+#include "libebl_CPU.h"
41+#include "libebl_parisc.h"
42+
43+/* This defines the common reloc hooks based on parisc_reloc.def. */
44+#include "common-reloc.c"
45+
46+
47+const char *
48+parisc_init (elf, machine, eh, ehlen)
49+ Elf *elf __attribute__ ((unused));
50+ GElf_Half machine __attribute__ ((unused));
51+ Ebl *eh;
52+ size_t ehlen;
53+{
54+ int pa64 = 0;
55+
56+ /* Check whether the Elf_BH object has a sufficent size. */
57+ if (ehlen < sizeof (Ebl))
58+ return NULL;
59+
60+ if (elf) {
61+ GElf_Ehdr ehdr_mem;
62+ GElf_Ehdr *ehdr = gelf_getehdr (elf, &ehdr_mem);
63+ if (ehdr && (ehdr->e_flags & EF_PARISC_WIDE))
64+ pa64 = 1;
65+ }
66+ /* We handle it. */
67+ eh->name = "PA-RISC";
68+ parisc_init_reloc (eh);
69+ HOOK (eh, reloc_simple_type);
70+ HOOK (eh, machine_flag_check);
71+ HOOK (eh, symbol_type_name);
72+ HOOK (eh, segment_type_name);
73+ HOOK (eh, section_type_name);
74+ HOOK (eh, register_info);
75+ if (pa64)
76+ eh->return_value_location = parisc_return_value_location_64;
77+ else
78+ eh->return_value_location = parisc_return_value_location_32;
79+
80+ return MODVERSION;
81+}
82Index: elfutils-0.146/backends/parisc_regs.c
83===================================================================
84--- /dev/null 1970-01-01 00:00:00.000000000 +0000
85+++ elfutils-0.146/backends/parisc_regs.c 2010-04-24 10:10:50.000000000 +0000
86@@ -0,0 +1,159 @@
87+/* Register names and numbers for PA-RISC DWARF.
88+ Copyright (C) 2005, 2006 Red Hat, Inc.
89+ This file is part of Red Hat elfutils.
90+
91+ Red Hat elfutils is free software; you can redistribute it and/or modify
92+ it under the terms of the GNU General Public License as published by the
93+ Free Software Foundation; version 2 of the License.
94+
95+ Red Hat elfutils is distributed in the hope that it will be useful, but
96+ WITHOUT ANY WARRANTY; without even the implied warranty of
97+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
98+ General Public License for more details.
99+
100+ You should have received a copy of the GNU General Public License along
101+ with Red Hat elfutils; if not, write to the Free Software Foundation,
102+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
103+
104+ Red Hat elfutils is an included package of the Open Invention Network.
105+ An included package of the Open Invention Network is a package for which
106+ Open Invention Network licensees cross-license their patents. No patent
107+ license is granted, either expressly or impliedly, by designation as an
108+ included package. Should you wish to participate in the Open Invention
109+ Network licensing program, please visit www.openinventionnetwork.com
110+ <http://www.openinventionnetwork.com>. */
111+
112+#ifdef HAVE_CONFIG_H
113+# include <config.h>
114+#endif
115+
116+#include <string.h>
117+#include <dwarf.h>
118+
119+#define BACKEND parisc_
120+#include "libebl_CPU.h"
121+
122+ssize_t
123+parisc_register_info (Ebl *ebl, int regno, char *name, size_t namelen,
124+ const char **prefix, const char **setname,
125+ int *bits, int *type)
126+{
127+ int pa64 = 0;
128+
129+ if (ebl->elf) {
130+ GElf_Ehdr ehdr_mem;
131+ GElf_Ehdr *ehdr = gelf_getehdr (ebl->elf, &ehdr_mem);
132+ if (ehdr->e_flags & EF_PARISC_WIDE)
133+ pa64 = 1;
134+ }
135+
136+ int nregs = pa64 ? 127 : 128;
137+
138+ if (name == NULL)
139+ return nregs;
140+
141+ if (regno < 0 || regno >= nregs || namelen < 6)
142+ return -1;
143+
144+ *prefix = "%";
145+
146+ if (regno < 32)
147+ {
148+ *setname = "integer";
149+ *type = DW_ATE_signed;
150+ if (pa64)
151+ {
152+ *bits = 64;
153+ }
154+ else
155+ {
156+ *bits = 32;
157+ }
158+ }
159+ else if (regno == 32)
160+ {
161+ *setname = "special";
162+ if (pa64)
163+ {
164+ *bits = 6;
165+ }
166+ else
167+ {
168+ *bits = 5;
169+ }
170+ *type = DW_ATE_unsigned;
171+ }
172+ else
173+ {
174+ *setname = "FPU";
175+ *type = DW_ATE_float;
176+ if (pa64)
177+ {
178+ *bits = 64;
179+ }
180+ else
181+ {
182+ *bits = 32;
183+ }
184+ }
185+
186+ if (regno < 33) {
187+ switch (regno)
188+ {
189+ case 0 ... 9:
190+ name[0] = 'r';
191+ name[1] = regno + '0';
192+ namelen = 2;
193+ break;
194+ case 10 ... 31:
195+ name[0] = 'r';
196+ name[1] = regno / 10 + '0';
197+ name[2] = regno % 10 + '0';
198+ namelen = 3;
199+ break;
200+ case 32:
201+ *prefix = NULL;
202+ name[0] = 'S';
203+ name[1] = 'A';
204+ name[2] = 'R';
205+ namelen = 3;
206+ break;
207+ }
208+ }
209+ else {
210+ if (pa64 && ((regno - 72) % 2)) {
211+ *setname = NULL;
212+ return 0;
213+ }
214+
215+ switch (regno)
216+ {
217+ case 72 + 0 ... 72 + 11:
218+ name[0] = 'f';
219+ name[1] = 'r';
220+ name[2] = (regno + 8 - 72) / 2 + '0';
221+ namelen = 3;
222+ if ((regno + 8 - 72) % 2) {
223+ name[3] = 'R';
224+ namelen++;
225+ }
226+ break;
227+ case 72 + 12 ... 72 + 55:
228+ name[0] = 'f';
229+ name[1] = 'r';
230+ name[2] = (regno + 8 - 72) / 2 / 10 + '0';
231+ name[3] = (regno + 8 - 72) / 2 % 10 + '0';
232+ namelen = 4;
233+ if ((regno + 8 - 72) % 2) {
234+ name[4] = 'R';
235+ namelen++;
236+ }
237+ break;
238+ default:
239+ *setname = NULL;
240+ return 0;
241+ }
242+ }
243+ name[namelen++] = '\0';
244+ return namelen;
245+}
246Index: elfutils-0.146/backends/parisc_reloc.def
247===================================================================
248--- /dev/null 1970-01-01 00:00:00.000000000 +0000
249+++ elfutils-0.146/backends/parisc_reloc.def 2010-04-24 10:10:50.000000000 +0000
250@@ -0,0 +1,128 @@
251+/* List the relocation types for PA-RISC. -*- C -*-
252+ Copyright (C) 2005 Red Hat, Inc.
253+ This file is part of Red Hat elfutils.
254+
255+ Red Hat elfutils is free software; you can redistribute it and/or modify
256+ it under the terms of the GNU General Public License as published by the
257+ Free Software Foundation; version 2 of the License.
258+
259+ Red Hat elfutils is distributed in the hope that it will be useful, but
260+ WITHOUT ANY WARRANTY; without even the implied warranty of
261+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
262+ General Public License for more details.
263+
264+ You should have received a copy of the GNU General Public License along
265+ with Red Hat elfutils; if not, write to the Free Software Foundation,
266+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
267+
268+ Red Hat elfutils is an included package of the Open Invention Network.
269+ An included package of the Open Invention Network is a package for which
270+ Open Invention Network licensees cross-license their patents. No patent
271+ license is granted, either expressly or impliedly, by designation as an
272+ included package. Should you wish to participate in the Open Invention
273+ Network licensing program, please visit www.openinventionnetwork.com
274+ <http://www.openinventionnetwork.com>. */
275+
276+/* NAME, REL|EXEC|DYN */
277+
278+RELOC_TYPE (NONE, EXEC|DYN)
279+RELOC_TYPE (DIR32, REL|EXEC|DYN)
280+RELOC_TYPE (DIR21L, REL|EXEC|DYN)
281+RELOC_TYPE (DIR17R, REL)
282+RELOC_TYPE (DIR17F, REL)
283+RELOC_TYPE (DIR14R, REL|DYN)
284+RELOC_TYPE (PCREL32, REL)
285+RELOC_TYPE (PCREL21L, REL)
286+RELOC_TYPE (PCREL17R, REL)
287+RELOC_TYPE (PCREL17F, REL)
288+RELOC_TYPE (PCREL14R, REL|EXEC)
289+RELOC_TYPE (DPREL21L, REL)
290+RELOC_TYPE (DPREL14WR, REL)
291+RELOC_TYPE (DPREL14DR, REL)
292+RELOC_TYPE (DPREL14R, REL)
293+RELOC_TYPE (GPREL21L, 0)
294+RELOC_TYPE (GPREL14R, 0)
295+RELOC_TYPE (LTOFF21L, REL)
296+RELOC_TYPE (LTOFF14R, REL)
297+RELOC_TYPE (DLTIND14F, 0)
298+RELOC_TYPE (SETBASE, 0)
299+RELOC_TYPE (SECREL32, REL)
300+RELOC_TYPE (BASEREL21L, 0)
301+RELOC_TYPE (BASEREL17R, 0)
302+RELOC_TYPE (BASEREL14R, 0)
303+RELOC_TYPE (SEGBASE, 0)
304+RELOC_TYPE (SEGREL32, REL)
305+RELOC_TYPE (PLTOFF21L, 0)
306+RELOC_TYPE (PLTOFF14R, 0)
307+RELOC_TYPE (PLTOFF14F, 0)
308+RELOC_TYPE (LTOFF_FPTR32, 0)
309+RELOC_TYPE (LTOFF_FPTR21L, 0)
310+RELOC_TYPE (LTOFF_FPTR14R, 0)
311+RELOC_TYPE (FPTR64, 0)
312+RELOC_TYPE (PLABEL32, REL|DYN)
313+RELOC_TYPE (PCREL64, 0)
314+RELOC_TYPE (PCREL22C, 0)
315+RELOC_TYPE (PCREL22F, 0)
316+RELOC_TYPE (PCREL14WR, 0)
317+RELOC_TYPE (PCREL14DR, 0)
318+RELOC_TYPE (PCREL16F, 0)
319+RELOC_TYPE (PCREL16WF, 0)
320+RELOC_TYPE (PCREL16DF, 0)
321+RELOC_TYPE (DIR64, REL|DYN)
322+RELOC_TYPE (DIR14WR, REL)
323+RELOC_TYPE (DIR14DR, REL)
324+RELOC_TYPE (DIR16F, REL)
325+RELOC_TYPE (DIR16WF, REL)
326+RELOC_TYPE (DIR16DF, REL)
327+RELOC_TYPE (GPREL64, 0)
328+RELOC_TYPE (GPREL14WR, 0)
329+RELOC_TYPE (GPREL14DR, 0)
330+RELOC_TYPE (GPREL16F, 0)
331+RELOC_TYPE (GPREL16WF, 0)
332+RELOC_TYPE (GPREL16DF, 0)
333+RELOC_TYPE (LTOFF64, 0)
334+RELOC_TYPE (LTOFF14WR, 0)
335+RELOC_TYPE (LTOFF14DR, 0)
336+RELOC_TYPE (LTOFF16F, 0)
337+RELOC_TYPE (LTOFF16WF, 0)
338+RELOC_TYPE (LTOFF16DF, 0)
339+RELOC_TYPE (SECREL64, 0)
340+RELOC_TYPE (BASEREL14WR, 0)
341+RELOC_TYPE (BASEREL14DR, 0)
342+RELOC_TYPE (SEGREL64, 0)
343+RELOC_TYPE (PLTOFF14WR, 0)
344+RELOC_TYPE (PLTOFF14DR, 0)
345+RELOC_TYPE (PLTOFF16F, 0)
346+RELOC_TYPE (PLTOFF16WF, 0)
347+RELOC_TYPE (PLTOFF16DF, 0)
348+RELOC_TYPE (LTOFF_FPTR64, 0)
349+RELOC_TYPE (LTOFF_FPTR14WR, 0)
350+RELOC_TYPE (LTOFF_FPTR14DR, 0)
351+RELOC_TYPE (LTOFF_FPTR16F, 0)
352+RELOC_TYPE (LTOFF_FPTR16WF, 0)
353+RELOC_TYPE (LTOFF_FPTR16DF, 0)
354+RELOC_TYPE (COPY, EXEC)
355+RELOC_TYPE (IPLT, EXEC|DYN)
356+RELOC_TYPE (EPLT, 0)
357+RELOC_TYPE (TPREL32, DYN)
358+RELOC_TYPE (TPREL21L, 0)
359+RELOC_TYPE (TPREL14R, 0)
360+RELOC_TYPE (LTOFF_TP21L, 0)
361+RELOC_TYPE (LTOFF_TP14R, 0)
362+RELOC_TYPE (LTOFF_TP14F, 0)
363+RELOC_TYPE (TPREL64, 0)
364+RELOC_TYPE (TPREL14WR, 0)
365+RELOC_TYPE (TPREL14DR, 0)
366+RELOC_TYPE (TPREL16F, 0)
367+RELOC_TYPE (TPREL16WF, 0)
368+RELOC_TYPE (TPREL16DF, 0)
369+RELOC_TYPE (LTOFF_TP64, 0)
370+RELOC_TYPE (LTOFF_TP14WR, 0)
371+RELOC_TYPE (LTOFF_TP14DR, 0)
372+RELOC_TYPE (LTOFF_TP16F, 0)
373+RELOC_TYPE (LTOFF_TP16WF, 0)
374+RELOC_TYPE (LTOFF_TP16DF, 0)
375+RELOC_TYPE (TLS_DTPMOD32, DYN)
376+RELOC_TYPE (TLS_DTPMOD64, DYN)
377+
378+#define NO_RELATIVE_RELOC 1
379Index: elfutils-0.146/backends/parisc_retval.c
380===================================================================
381--- /dev/null 1970-01-01 00:00:00.000000000 +0000
382+++ elfutils-0.146/backends/parisc_retval.c 2010-04-24 10:10:50.000000000 +0000
383@@ -0,0 +1,213 @@
384+/* Function return value location for Linux/PA-RISC ABI.
385+ Copyright (C) 2005 Red Hat, Inc.
386+ This file is part of Red Hat elfutils.
387+
388+ Red Hat elfutils is free software; you can redistribute it and/or modify
389+ it under the terms of the GNU General Public License as published by the
390+ Free Software Foundation; version 2 of the License.
391+
392+ Red Hat elfutils is distributed in the hope that it will be useful, but
393+ WITHOUT ANY WARRANTY; without even the implied warranty of
394+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
395+ General Public License for more details.
396+
397+ You should have received a copy of the GNU General Public License along
398+ with Red Hat elfutils; if not, write to the Free Software Foundation,
399+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
400+
401+ Red Hat elfutils is an included package of the Open Invention Network.
402+ An included package of the Open Invention Network is a package for which
403+ Open Invention Network licensees cross-license their patents. No patent
404+ license is granted, either expressly or impliedly, by designation as an
405+ included package. Should you wish to participate in the Open Invention
406+ Network licensing program, please visit www.openinventionnetwork.com
407+ <http://www.openinventionnetwork.com>. */
408+
409+#ifdef HAVE_CONFIG_H
410+# include <config.h>
411+#endif
412+
413+#include <assert.h>
414+#include <dwarf.h>
415+
416+#define BACKEND parisc_
417+#include "libebl_CPU.h"
418+#include "libebl_parisc.h"
419+
420+/* %r28, or pair %r28, %r29. */
421+static const Dwarf_Op loc_intreg32[] =
422+ {
423+ { .atom = DW_OP_reg28 }, { .atom = DW_OP_piece, .number = 4 },
424+ { .atom = DW_OP_reg29 }, { .atom = DW_OP_piece, .number = 4 },
425+ };
426+
427+static const Dwarf_Op loc_intreg[] =
428+ {
429+ { .atom = DW_OP_reg28 }, { .atom = DW_OP_piece, .number = 8 },
430+ { .atom = DW_OP_reg29 }, { .atom = DW_OP_piece, .number = 8 },
431+ };
432+#define nloc_intreg 1
433+#define nloc_intregpair 4
434+
435+/* %fr4L, or pair %fr4L, %fr4R on pa-32 */
436+static const Dwarf_Op loc_fpreg32[] =
437+ {
438+ { .atom = DW_OP_regx, .number = 72 }, { .atom = DW_OP_piece, .number = 4 },
439+ { .atom = DW_OP_regx, .number = 73 }, { .atom = DW_OP_piece, .number = 4 },
440+ };
441+#define nloc_fpreg32 2
442+#define nloc_fpregpair32 4
443+
444+/* $fr4 */
445+static const Dwarf_Op loc_fpreg[] =
446+ {
447+ { .atom = DW_OP_regx, .number = 72 },
448+ };
449+#define nloc_fpreg 1
450+
451+#if 0
452+/* The return value is a structure and is actually stored in stack space
453+ passed in a hidden argument by the caller. Address of the location is stored
454+ in %r28 before function call, but it may be changed by function. */
455+static const Dwarf_Op loc_aggregate[] =
456+ {
457+ { .atom = DW_OP_breg28 },
458+ };
459+#define nloc_aggregate 1
460+#endif
461+
462+static int
463+parisc_return_value_location_ (Dwarf_Die *functypedie, const Dwarf_Op **locp, int pa64)
464+{
465+ Dwarf_Word regsize = pa64 ? 8 : 4;
466+
467+ /* Start with the function's type, and get the DW_AT_type attribute,
468+ which is the type of the return value. */
469+
470+ Dwarf_Attribute attr_mem;
471+ Dwarf_Attribute *attr = dwarf_attr_integrate (functypedie, DW_AT_type, &attr_mem);
472+ if (attr == NULL)
473+ /* The function has no return value, like a `void' function in C. */
474+ return 0;
475+
476+ Dwarf_Die die_mem;
477+ Dwarf_Die *typedie = dwarf_formref_die (attr, &die_mem);
478+ int tag = dwarf_tag (typedie);
479+
480+ /* Follow typedefs and qualifiers to get to the actual type. */
481+ while (tag == DW_TAG_typedef
482+ || tag == DW_TAG_const_type || tag == DW_TAG_volatile_type
483+ || tag == DW_TAG_restrict_type || tag == DW_TAG_mutable_type)
484+ {
485+ attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem);
486+ typedie = dwarf_formref_die (attr, &die_mem);
487+ tag = dwarf_tag (typedie);
488+ }
489+
490+ switch (tag)
491+ {
492+ case -1:
493+ return -1;
494+
495+ case DW_TAG_subrange_type:
496+ if (! dwarf_hasattr_integrate (typedie, DW_AT_byte_size))
497+ {
498+ attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem);
499+ typedie = dwarf_formref_die (attr, &die_mem);
500+ tag = dwarf_tag (typedie);
501+ }
502+ /* Fall through. */
503+
504+ case DW_TAG_base_type:
505+ case DW_TAG_enumeration_type:
506+ case DW_TAG_pointer_type:
507+ case DW_TAG_ptr_to_member_type:
508+ {
509+ Dwarf_Word size;
510+ if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_byte_size,
511+ &attr_mem), &size) != 0)
512+ {
513+ if (tag == DW_TAG_pointer_type || tag == DW_TAG_ptr_to_member_type)
514+ size = 4;
515+ else
516+ return -1;
517+ }
518+ if (tag == DW_TAG_base_type)
519+ {
520+ Dwarf_Word encoding;
521+ if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_encoding,
522+ &attr_mem), &encoding) != 0)
523+ return -1;
524+
525+ if (encoding == DW_ATE_float)
526+ {
527+ if (pa64) {
528+ *locp = loc_fpreg;
529+ if (size <= 8)
530+ return nloc_fpreg;
531+ }
532+ else {
533+ *locp = loc_fpreg32;
534+ if (size <= 4)
535+ return nloc_fpreg32;
536+ else if (size <= 8)
537+ return nloc_fpregpair32;
538+ }
539+ goto aggregate;
540+ }
541+ }
542+ if (pa64)
543+ *locp = loc_intreg;
544+ else
545+ *locp = loc_intreg32;
546+ if (size <= regsize)
547+ return nloc_intreg;
548+ if (size <= 2 * regsize)
549+ return nloc_intregpair;
550+
551+ /* Else fall through. */
552+ }
553+
554+ case DW_TAG_structure_type:
555+ case DW_TAG_class_type:
556+ case DW_TAG_union_type:
557+ case DW_TAG_array_type:
558+ aggregate: {
559+ Dwarf_Word size;
560+ if (dwarf_aggregate_size (typedie, &size) != 0)
561+ return -1;
562+ if (pa64)
563+ *locp = loc_intreg;
564+ else
565+ *locp = loc_intreg32;
566+ if (size <= regsize)
567+ return nloc_intreg;
568+ if (size <= 2 * regsize)
569+ return nloc_intregpair;
570+#if 0
571+ /* there should be some way to know this location... But I do not see it. */
572+ *locp = loc_aggregate;
573+ return nloc_aggregate;
574+#endif
575+ /* fall through. */
576+ }
577+ }
578+
579+ /* XXX We don't have a good way to return specific errors from ebl calls.
580+ This value means we do not understand the type, but it is well-formed
581+ DWARF and might be valid. */
582+ return -2;
583+}
584+
585+int
586+parisc_return_value_location_32 (Dwarf_Die *functypedie, const Dwarf_Op **locp)
587+{
588+ return parisc_return_value_location_ (functypedie, locp, 0);
589+}
590+
591+int
592+parisc_return_value_location_64 (Dwarf_Die *functypedie, const Dwarf_Op **locp)
593+{
594+ return parisc_return_value_location_ (functypedie, locp, 1);
595+}
596+
597Index: elfutils-0.146/backends/parisc_symbol.c
598===================================================================
599--- /dev/null 1970-01-01 00:00:00.000000000 +0000
600+++ elfutils-0.146/backends/parisc_symbol.c 2010-04-24 10:10:50.000000000 +0000
601@@ -0,0 +1,112 @@
602+/* PA-RISC specific symbolic name handling.
603+ Copyright (C) 2002, 2005 Red Hat, Inc.
604+ This file is part of Red Hat elfutils.
605+ Written by Ulrich Drepper <drepper@redhat.com>, 2002.
606+
607+ Red Hat elfutils is free software; you can redistribute it and/or modify
608+ it under the terms of the GNU General Public License as published by the
609+ Free Software Foundation; version 2 of the License.
610+
611+ Red Hat elfutils is distributed in the hope that it will be useful, but
612+ WITHOUT ANY WARRANTY; without even the implied warranty of
613+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
614+ General Public License for more details.
615+
616+ You should have received a copy of the GNU General Public License along
617+ with Red Hat elfutils; if not, write to the Free Software Foundation,
618+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
619+
620+ Red Hat elfutils is an included package of the Open Invention Network.
621+ An included package of the Open Invention Network is a package for which
622+ Open Invention Network licensees cross-license their patents. No patent
623+ license is granted, either expressly or impliedly, by designation as an
624+ included package. Should you wish to participate in the Open Invention
625+ Network licensing program, please visit www.openinventionnetwork.com
626+ <http://www.openinventionnetwork.com>. */
627+
628+#ifdef HAVE_CONFIG_H
629+# include <config.h>
630+#endif
631+
632+#include <elf.h>
633+#include <stddef.h>
634+
635+#define BACKEND parisc_
636+#include "libebl_CPU.h"
637+
638+const char *
639+parisc_segment_type_name (int segment, char *buf __attribute__ ((unused)),
640+ size_t len __attribute__ ((unused)))
641+{
642+ switch (segment)
643+ {
644+ case PT_PARISC_ARCHEXT:
645+ return "PARISC_ARCHEXT";
646+ case PT_PARISC_UNWIND:
647+ return "PARISC_UNWIND";
648+ default:
649+ break;
650+ }
651+ return NULL;
652+}
653+
654+/* Return symbolic representation of symbol type. */
655+const char *
656+parisc_symbol_type_name(int symbol, char *buf __attribute__ ((unused)),
657+ size_t len __attribute__ ((unused)))
658+{
659+ if (symbol == STT_PARISC_MILLICODE)
660+ return "PARISC_MILLI";
661+ return NULL;
662+}
663+
664+/* Return symbolic representation of section type. */
665+const char *
666+parisc_section_type_name (int type,
667+ char *buf __attribute__ ((unused)),
668+ size_t len __attribute__ ((unused)))
669+{
670+ switch (type)
671+ {
672+ case SHT_PARISC_EXT:
673+ return "PARISC_EXT";
674+ case SHT_PARISC_UNWIND:
675+ return "PARISC_UNWIND";
676+ case SHT_PARISC_DOC:
677+ return "PARISC_DOC";
678+ }
679+
680+ return NULL;
681+}
682+
683+/* Check whether machine flags are valid. */
684+bool
685+parisc_machine_flag_check (GElf_Word flags)
686+{
687+ if (flags &~ (EF_PARISC_TRAPNIL | EF_PARISC_EXT | EF_PARISC_LSB |
688+ EF_PARISC_WIDE | EF_PARISC_NO_KABP |
689+ EF_PARISC_LAZYSWAP | EF_PARISC_ARCH))
690+ return 0;
691+
692+ GElf_Word arch = flags & EF_PARISC_ARCH;
693+
694+ return ((arch == EFA_PARISC_1_0) || (arch == EFA_PARISC_1_1) ||
695+ (arch == EFA_PARISC_2_0));
696+}
697+
698+/* Check for the simple reloc types. */
699+Elf_Type
700+parisc_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type)
701+{
702+ switch (type)
703+ {
704+ case R_PARISC_DIR64:
705+ case R_PARISC_SECREL64:
706+ return ELF_T_XWORD;
707+ case R_PARISC_DIR32:
708+ case R_PARISC_SECREL32:
709+ return ELF_T_WORD;
710+ default:
711+ return ELF_T_NUM;
712+ }
713+}
714Index: elfutils-0.146/backends/libebl_parisc.h
715===================================================================
716--- /dev/null 1970-01-01 00:00:00.000000000 +0000
717+++ elfutils-0.146/backends/libebl_parisc.h 2010-04-24 10:10:50.000000000 +0000
718@@ -0,0 +1,9 @@
719+#ifndef _LIBEBL_HPPA_H
720+#define _LIBEBL_HPPA_H 1
721+
722+#include <libdw.h>
723+
724+extern int parisc_return_value_location_32(Dwarf_Die *, const Dwarf_Op **locp);
725+extern int parisc_return_value_location_64(Dwarf_Die *, const Dwarf_Op **locp);
726+
727+#endif
728Index: elfutils-0.146/backends/Makefile.am
729===================================================================
730--- elfutils-0.146.orig/backends/Makefile.am 2010-04-24 10:10:41.000000000 +0000
731+++ elfutils-0.146/backends/Makefile.am 2010-04-24 10:10:50.000000000 +0000
732@@ -29,11 +29,11 @@
733 -I$(top_srcdir)/libelf -I$(top_srcdir)/libdw
734
735
736-modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390
737+modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 parisc
738 libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \
739 libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \
740 libebl_sparc_pic.a libebl_ppc_pic.a libebl_ppc64_pic.a \
741- libebl_s390_pic.a
742+ libebl_s390_pic.a libebl_parisc_pic.a
743 noinst_LIBRARIES = $(libebl_pic)
744 noinst_DATA = $(libebl_pic:_pic.a=.so)
745
746@@ -95,6 +95,9 @@
747 libebl_s390_pic_a_SOURCES = $(s390_SRCS)
748 am_libebl_s390_pic_a_OBJECTS = $(s390_SRCS:.c=.os)
749
750+parisc_SRCS = parisc_init.c parisc_symbol.c parisc_regs.c parisc_retval.c
751+libebl_parisc_pic_a_SOURCES = $(parisc_SRCS)
752+am_libebl_parisc_pic_a_OBJECTS = $(parisc_SRCS:.c=.os)
753
754 libebl_%.so libebl_%.map: libebl_%_pic.a $(libelf) $(libdw)
755 @rm -f $(@:.so=.map)
756Index: elfutils-0.146/libelf/elf.h
757===================================================================
758--- elfutils-0.146.orig/libelf/elf.h 2010-04-13 20:08:02.000000000 +0000
759+++ elfutils-0.146/libelf/elf.h 2010-04-24 10:10:50.000000000 +0000
760@@ -1789,16 +1789,24 @@
761 #define R_PARISC_PCREL17F 12 /* 17 bits of rel. address. */
762 #define R_PARISC_PCREL14R 14 /* Right 14 bits of rel. address. */
763 #define R_PARISC_DPREL21L 18 /* Left 21 bits of rel. address. */
764+#define R_PARISC_DPREL14WR 19
765+#define R_PARISC_DPREL14DR 20
766 #define R_PARISC_DPREL14R 22 /* Right 14 bits of rel. address. */
767 #define R_PARISC_GPREL21L 26 /* GP-relative, left 21 bits. */
768 #define R_PARISC_GPREL14R 30 /* GP-relative, right 14 bits. */
769 #define R_PARISC_LTOFF21L 34 /* LT-relative, left 21 bits. */
770 #define R_PARISC_LTOFF14R 38 /* LT-relative, right 14 bits. */
771+#define R_PARISC_DLTIND14F 39
772+#define R_PARISC_SETBASE 40
773 #define R_PARISC_SECREL32 41 /* 32 bits section rel. address. */
774+#define R_PARISC_BASEREL21L 42
775+#define R_PARISC_BASEREL17R 43
776+#define R_PARISC_BASEREL14R 46
777 #define R_PARISC_SEGBASE 48 /* No relocation, set segment base. */
778 #define R_PARISC_SEGREL32 49 /* 32 bits segment rel. address. */
779 #define R_PARISC_PLTOFF21L 50 /* PLT rel. address, left 21 bits. */
780 #define R_PARISC_PLTOFF14R 54 /* PLT rel. address, right 14 bits. */
781+#define R_PARISC_PLTOFF14F 55
782 #define R_PARISC_LTOFF_FPTR32 57 /* 32 bits LT-rel. function pointer. */
783 #define R_PARISC_LTOFF_FPTR21L 58 /* LT-rel. fct ptr, left 21 bits. */
784 #define R_PARISC_LTOFF_FPTR14R 62 /* LT-rel. fct ptr, right 14 bits. */
785@@ -1807,6 +1815,7 @@
786 #define R_PARISC_PLABEL21L 66 /* Left 21 bits of fdesc address. */
787 #define R_PARISC_PLABEL14R 70 /* Right 14 bits of fdesc address. */
788 #define R_PARISC_PCREL64 72 /* 64 bits PC-rel. address. */
789+#define R_PARISC_PCREL22C 73
790 #define R_PARISC_PCREL22F 74 /* 22 bits PC-rel. address. */
791 #define R_PARISC_PCREL14WR 75 /* PC-rel. address, right 14 bits. */
792 #define R_PARISC_PCREL14DR 76 /* PC rel. address, right 14 bits. */
793@@ -1832,6 +1841,8 @@
794 #define R_PARISC_LTOFF16WF 102 /* 16 bits LT-rel. address. */
795 #define R_PARISC_LTOFF16DF 103 /* 16 bits LT-rel. address. */
796 #define R_PARISC_SECREL64 104 /* 64 bits section rel. address. */
797+#define R_PARISC_BASEREL14WR 107
798+#define R_PARISC_BASEREL14DR 108
799 #define R_PARISC_SEGREL64 112 /* 64 bits segment rel. address. */
800 #define R_PARISC_PLTOFF14WR 115 /* PLT-rel. address, right 14 bits. */
801 #define R_PARISC_PLTOFF14DR 116 /* PLT-rel. address, right 14 bits. */
diff --git a/meta/recipes-devtools/elfutils/elfutils/i386_dis.h b/meta/recipes-devtools/elfutils/elfutils/i386_dis.h
new file mode 100644
index 0000000000..a5cc01f919
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils/i386_dis.h
@@ -0,0 +1,1657 @@
1#define MNEMONIC_BITS 10
2#define SUFFIX_BITS 3
3#define FCT1_BITS 7
4#define STR1_BITS 4
5#define OFF1_1_BITS 7
6#define OFF1_1_BIAS 3
7#define OFF1_2_BITS 7
8#define OFF1_2_BIAS 4
9#define OFF1_3_BITS 1
10#define OFF1_3_BIAS 7
11#define FCT2_BITS 6
12#define STR2_BITS 2
13#define OFF2_1_BITS 7
14#define OFF2_1_BIAS 5
15#define OFF2_2_BITS 7
16#define OFF2_2_BIAS 4
17#define OFF2_3_BITS 4
18#define OFF2_3_BIAS 7
19#define FCT3_BITS 4
20#define STR3_BITS 1
21#define OFF3_1_BITS 6
22#define OFF3_1_BIAS 10
23#define OFF3_2_BITS 1
24#define OFF3_2_BIAS 21
25
26#include <i386_data.h>
27
28#define suffix_none 0
29#define suffix_w 1
30#define suffix_w0 2
31#define suffix_W 3
32#define suffix_tttn 4
33#define suffix_D 7
34#define suffix_w1 5
35#define suffix_W1 6
36
37static const opfct_t op1_fct[] =
38{
39 NULL,
40 FCT_MOD$R_M,
41 FCT_Mod$R_m,
42 FCT_abs,
43 FCT_ax,
44 FCT_ax$w,
45 FCT_ccc,
46 FCT_ddd,
47 FCT_disp8,
48 FCT_ds_bx,
49 FCT_ds_si,
50 FCT_dx,
51 FCT_es_di,
52 FCT_freg,
53 FCT_imm$s,
54 FCT_imm$w,
55 FCT_imm16,
56 FCT_imm8,
57 FCT_imms8,
58 FCT_mmxreg,
59 FCT_mod$16r_m,
60 FCT_mod$64r_m,
61 FCT_mod$8r_m,
62 FCT_mod$r_m,
63 FCT_mod$r_m$w,
64 FCT_reg,
65 FCT_reg$w,
66 FCT_reg16,
67 FCT_reg64,
68 FCT_rel,
69 FCT_sel,
70 FCT_sreg2,
71 FCT_sreg3,
72 FCT_string,
73 FCT_xmmreg,
74};
75static const char op1_str[] =
76 "%ax\0"
77 "%cl\0"
78 "%eax\0"
79 "%st\0"
80 "%xmm0\0"
81 "*";
82static const uint8_t op1_str_idx[] = {
83 0,
84 4,
85 8,
86 13,
87 17,
88 23,
89};
90static const opfct_t op2_fct[] =
91{
92 NULL,
93 FCT_MOD$R_M,
94 FCT_Mod$R_m,
95 FCT_abs,
96 FCT_absval,
97 FCT_ax$w,
98 FCT_ccc,
99 FCT_ddd,
100 FCT_ds_si,
101 FCT_dx,
102 FCT_es_di,
103 FCT_freg,
104 FCT_imm8,
105 FCT_mmxreg,
106 FCT_mod$64r_m,
107 FCT_mod$r_m,
108 FCT_mod$r_m$w,
109 FCT_moda$r_m,
110 FCT_reg,
111 FCT_reg$w,
112 FCT_reg64,
113 FCT_sreg3,
114 FCT_string,
115 FCT_xmmreg,
116};
117static const char op2_str[] =
118 "%ecx\0"
119 "%st";
120static const uint8_t op2_str_idx[] = {
121 0,
122 5,
123};
124static const opfct_t op3_fct[] =
125{
126 NULL,
127 FCT_mmxreg,
128 FCT_mod$r_m,
129 FCT_reg,
130 FCT_string,
131 FCT_xmmreg,
132};
133static const char op3_str[] =
134 "%edx";
135static const uint8_t op3_str_idx[] = {
136 0,
137};
138static const struct instr_enc instrtab[] =
139{
140 { .mnemonic = MNE_aaa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
141 { .mnemonic = MNE_aad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
142 { .mnemonic = MNE_aam, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
143 { .mnemonic = MNE_aas, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
144 { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
145 { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
146 { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
147 { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
148 { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
149 { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
150 { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
151 { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
152 { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
153 { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
154 { .mnemonic = MNE_addsubpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
155 { .mnemonic = MNE_addsubps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
156 { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
157 { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
158 { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
159 { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
160 { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
161 { .mnemonic = MNE_andpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
162 { .mnemonic = MNE_andps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
163 { .mnemonic = MNE_andnpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
164 { .mnemonic = MNE_andnps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
165 { .mnemonic = MNE_arpl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
166 { .mnemonic = MNE_bound, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 17, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
167 { .mnemonic = MNE_bsf, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
168 { .mnemonic = MNE_bsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
169 { .mnemonic = MNE_bswap, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 25, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
170 { .mnemonic = MNE_bt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
171 { .mnemonic = MNE_bt, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
172 { .mnemonic = MNE_btc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
173 { .mnemonic = MNE_btc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
174 { .mnemonic = MNE_btr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
175 { .mnemonic = MNE_btr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
176 { .mnemonic = MNE_bts, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
177 { .mnemonic = MNE_bts, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
178 { .mnemonic = MNE_call, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 29, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
179 { .mnemonic = MNE_call, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 21, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
180 { .mnemonic = MNE_lcall, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 30, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 4, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
181 { .mnemonic = MNE_lcall, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 21, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
182 { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
183 { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
184 { .mnemonic = MNE_clc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
185 { .mnemonic = MNE_cld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
186 { .mnemonic = MNE_cli, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
187 { .mnemonic = MNE_syscall, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
188 { .mnemonic = MNE_clts, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
189 { .mnemonic = MNE_sysret, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
190 { .mnemonic = MNE_sysenter, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
191 { .mnemonic = MNE_sysexit, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
192 { .mnemonic = MNE_cmc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
193 { .mnemonic = MNE_cmov, .rep = 0, .repe = 0, .suffix = 4, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
194 { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
195 { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
196 { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
197 { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
198 { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
199 { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
200 { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
201 { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
202 { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
203 { .mnemonic = MNE_cmps, .rep = 0, .repe = 1, .suffix = 1, .modrm = 0, .fct1 = 12, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 8, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
204 { .mnemonic = MNE_cmpxchg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 15, .off1_2 = 11, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 8, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
205 { .mnemonic = MNE_cmpxchg8b, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
206 { .mnemonic = MNE_cpuid, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
207 { .mnemonic = MNE_cvtdq2pd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
208 { .mnemonic = MNE_cvtpd2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
209 { .mnemonic = MNE_cvttpd2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
210 { .mnemonic = MNE_daa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
211 { .mnemonic = MNE_das, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
212 { .mnemonic = MNE_dec, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
213 { .mnemonic = MNE_dec, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 25, .str1 = 0, .off1_1 = 2, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
214 { .mnemonic = MNE_div, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
215 { .mnemonic = MNE_emms, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
216 { .mnemonic = MNE_enter, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 16, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 12, .str2 = 0, .off2_1 = 19, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
217 { .mnemonic = MNE_fnop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
218 { .mnemonic = MNE_fchs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
219 { .mnemonic = MNE_fabs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
220 { .mnemonic = MNE_ftst, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
221 { .mnemonic = MNE_fxam, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
222 { .mnemonic = MNE_fld1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
223 { .mnemonic = MNE_fldl2t, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
224 { .mnemonic = MNE_fldl2e, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
225 { .mnemonic = MNE_fldpi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
226 { .mnemonic = MNE_fldlg2, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
227 { .mnemonic = MNE_fldln2, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
228 { .mnemonic = MNE_fldz, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
229 { .mnemonic = MNE_f2xm1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
230 { .mnemonic = MNE_fyl2x, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
231 { .mnemonic = MNE_fptan, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
232 { .mnemonic = MNE_fpatan, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
233 { .mnemonic = MNE_fxtract, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
234 { .mnemonic = MNE_fprem1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
235 { .mnemonic = MNE_fdecstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
236 { .mnemonic = MNE_fincstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
237 { .mnemonic = MNE_fprem, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
238 { .mnemonic = MNE_fyl2xp1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
239 { .mnemonic = MNE_fsqrt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
240 { .mnemonic = MNE_fsincos, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
241 { .mnemonic = MNE_frndint, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
242 { .mnemonic = MNE_fscale, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
243 { .mnemonic = MNE_fsin, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
244 { .mnemonic = MNE_fcos, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
245 { .mnemonic = MNE_fadd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
246 { .mnemonic = MNE_fadd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
247 { .mnemonic = MNE_fadd, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
248 { .mnemonic = MNE_fmul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
249 { .mnemonic = MNE_fmul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
250 { .mnemonic = MNE_fmul, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
251 { .mnemonic = MNE_fsub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
252 { .mnemonic = MNE_fsub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
253 { .mnemonic = MNE_fsub, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
254 { .mnemonic = MNE_fsubr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
255 { .mnemonic = MNE_fsubr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
256 { .mnemonic = MNE_fsubr, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
257 { .mnemonic = MNE_fst, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
258 { .mnemonic = MNE_fst, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
259 { .mnemonic = MNE_fstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
260 { .mnemonic = MNE_fstp, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
261 { .mnemonic = MNE_fldenv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
262 { .mnemonic = MNE_fldcw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
263 { .mnemonic = MNE_fnstenv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
264 { .mnemonic = MNE_fnstcw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
265 { .mnemonic = MNE_fxch, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
266 { .mnemonic = MNE_faddp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
267 { .mnemonic = MNE_fcmovb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
268 { .mnemonic = MNE_fiadd, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
269 { .mnemonic = MNE_fcmove, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
270 { .mnemonic = MNE_fmulp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
271 { .mnemonic = MNE_fimul, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
272 { .mnemonic = MNE_fsubp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
273 { .mnemonic = MNE_fisub, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
274 { .mnemonic = MNE_fsubrp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
275 { .mnemonic = MNE_fisubr, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
276 { .mnemonic = MNE_fnstsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 1, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
277 { .mnemonic = MNE_fbld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
278 { .mnemonic = MNE_fcomip, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
279 { .mnemonic = MNE_fbstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
280 { .mnemonic = MNE_fchs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
281 { .mnemonic = MNE_fclex, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
282 { .mnemonic = MNE_finit, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
283 { .mnemonic = MNE_fwait, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
284 { .mnemonic = MNE_fnclex, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
285 { .mnemonic = MNE_fcmovb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
286 { .mnemonic = MNE_fcmove, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
287 { .mnemonic = MNE_fcmovbe, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
288 { .mnemonic = MNE_fcmovu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
289 { .mnemonic = MNE_fcmovnb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
290 { .mnemonic = MNE_fcmovne, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
291 { .mnemonic = MNE_fcmovnbe, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
292 { .mnemonic = MNE_fcmovnu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
293 { .mnemonic = MNE_fcom, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
294 { .mnemonic = MNE_fcom, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
295 { .mnemonic = MNE_fcomp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
296 { .mnemonic = MNE_fcomp, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
297 { .mnemonic = MNE_fcompp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
298 { .mnemonic = MNE_fcomi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
299 { .mnemonic = MNE_fcomip, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
300 { .mnemonic = MNE_fucomi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
301 { .mnemonic = MNE_fucomip, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
302 { .mnemonic = MNE_fcos, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
303 { .mnemonic = MNE_fdecstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
304 { .mnemonic = MNE_fdiv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
305 { .mnemonic = MNE_fdiv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
306 { .mnemonic = MNE_fdiv, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
307 { .mnemonic = MNE_fidivl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
308 { .mnemonic = MNE_fdivp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
309 { .mnemonic = MNE_fidiv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
310 { .mnemonic = MNE_fdivrp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
311 { .mnemonic = MNE_fdivr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
312 { .mnemonic = MNE_fdivr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
313 { .mnemonic = MNE_fdivr, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
314 { .mnemonic = MNE_fidivrl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
315 { .mnemonic = MNE_fidivr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
316 { .mnemonic = MNE_fdivrp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
317 { .mnemonic = MNE_ffree, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
318 { .mnemonic = MNE_fcmovbe, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
319 { .mnemonic = MNE_ficom, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
320 { .mnemonic = MNE_fcmovu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
321 { .mnemonic = MNE_ficomp, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
322 { .mnemonic = MNE_fild, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
323 { .mnemonic = MNE_fildl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
324 { .mnemonic = MNE_fildll, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
325 { .mnemonic = MNE_fincstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
326 { .mnemonic = MNE_fninit, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
327 { .mnemonic = MNE_fist, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
328 { .mnemonic = MNE_fistp, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
329 { .mnemonic = MNE_fistpll, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
330 { .mnemonic = MNE_fisttp, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
331 { .mnemonic = MNE_fisttpll, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
332 { .mnemonic = MNE_fldt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
333 { .mnemonic = MNE_fstpt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
334 { .mnemonic = MNE_fld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
335 { .mnemonic = MNE_fld, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
336 { .mnemonic = MNE_fucom, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
337 { .mnemonic = MNE_frstor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
338 { .mnemonic = MNE_fucomp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
339 { .mnemonic = MNE_fnsave, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
340 { .mnemonic = MNE_fnstsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
341 { .mnemonic = MNE_hlt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
342 { .mnemonic = MNE_idiv, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
343 { .mnemonic = MNE_imul, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
344 { .mnemonic = MNE_imul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
345 { .mnemonic = MNE_imul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 14, .str1 = 0, .off1_1 = 13, .off1_2 = 2, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 3, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
346 { .mnemonic = MNE_in, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
347 { .mnemonic = MNE_in, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 11, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 3, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
348 { .mnemonic = MNE_inc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
349 { .mnemonic = MNE_inc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 25, .str1 = 0, .off1_1 = 2, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
350 { .mnemonic = MNE_ins, .rep = 1, .repe = 0, .suffix = 1, .modrm = 0, .fct1 = 11, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 10, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
351 { .mnemonic = MNE_int, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
352 { .mnemonic = MNE_int3, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
353 { .mnemonic = MNE_into, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
354 { .mnemonic = MNE_invd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
355 { .mnemonic = MNE_swapgs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
356 { .mnemonic = MNE_invlpg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
357 { .mnemonic = MNE_iret, .rep = 0, .repe = 0, .suffix = 6, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
358 { .mnemonic = MNE_j, .rep = 0, .repe = 0, .suffix = 4, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
359 { .mnemonic = MNE_j, .rep = 0, .repe = 0, .suffix = 4, .modrm = 0, .fct1 = 29, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
360 { .mnemonic = MNE_set, .rep = 0, .repe = 0, .suffix = 4, .modrm = 1, .fct1 = 22, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
361 { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
362 { .mnemonic = MNE_jmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
363 { .mnemonic = MNE_jmp, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 29, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
364 { .mnemonic = MNE_jmp, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 21, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
365 { .mnemonic = MNE_ljmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 30, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 4, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
366 { .mnemonic = MNE_ljmp, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 21, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
367 { .mnemonic = MNE_lahf, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
368 { .mnemonic = MNE_lar, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
369 { .mnemonic = MNE_lds, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 5, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
370 { .mnemonic = MNE_lea, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 5, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
371 { .mnemonic = MNE_leave, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
372 { .mnemonic = MNE_les, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 5, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
373 { .mnemonic = MNE_lfs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
374 { .mnemonic = MNE_lgs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
375 { .mnemonic = MNE_lgdt, .rep = 0, .repe = 0, .suffix = 2, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
376 { .mnemonic = MNE_lidt, .rep = 0, .repe = 0, .suffix = 2, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
377 { .mnemonic = MNE_lldt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
378 { .mnemonic = MNE_lmsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
379 { .mnemonic = MNE_lock, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
380 { .mnemonic = MNE_lods, .rep = 1, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 10, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 3, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
381 { .mnemonic = MNE_loop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
382 { .mnemonic = MNE_loope, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
383 { .mnemonic = MNE_loopne, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
384 { .mnemonic = MNE_lsl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
385 { .mnemonic = MNE_lss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
386 { .mnemonic = MNE_ltr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
387 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
388 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
389 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
390 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
391 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 3, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 35, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
392 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 37, .off1_2 = 3, .off1_3 = 0, .fct2 = 3, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
393 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 6, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
394 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 6, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
395 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 7, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
396 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 7, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
397 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 32, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
398 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 21, .str2 = 0, .off2_1 = 5, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
399 { .mnemonic = MNE_movs, .rep = 1, .repe = 0, .suffix = 1, .modrm = 0, .fct1 = 10, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 10, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
400 { .mnemonic = MNE_movsbl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 22, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
401 { .mnemonic = MNE_movswl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
402 { .mnemonic = MNE_movzbl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 22, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
403 { .mnemonic = MNE_movzwl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
404 { .mnemonic = MNE_mul, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
405 { .mnemonic = MNE_neg, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
406 { .mnemonic = MNE_pause, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
407 { .mnemonic = MNE_nop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
408 { .mnemonic = MNE_popcnt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
409 { .mnemonic = MNE_not, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
410 { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
411 { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
412 { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
413 { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
414 { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
415 { .mnemonic = MNE_out, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 12, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
416 { .mnemonic = MNE_out, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 9, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
417 { .mnemonic = MNE_outs, .rep = 1, .repe = 0, .suffix = 1, .modrm = 0, .fct1 = 10, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 9, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
418 { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
419 { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 32, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
420 { .mnemonic = MNE_popf, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
421 { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
422 { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 25, .str1 = 0, .off1_1 = 2, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
423 { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 25, .str1 = 0, .off1_1 = 2, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
424 { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 14, .str1 = 0, .off1_1 = 5, .off1_2 = 2, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
425 { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 31, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
426 { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 32, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
427 { .mnemonic = MNE_pusha, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
428 { .mnemonic = MNE_popa, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
429 { .mnemonic = MNE_pushf, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
430 { .mnemonic = MNE_rcl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
431 { .mnemonic = MNE_rcl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
432 { .mnemonic = MNE_rcl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
433 { .mnemonic = MNE_rcr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
434 { .mnemonic = MNE_rcr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
435 { .mnemonic = MNE_rcr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
436 { .mnemonic = MNE_rdmsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
437 { .mnemonic = MNE_rdpmc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
438 { .mnemonic = MNE_rdtsc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
439 { .mnemonic = MNE_ret, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
440 { .mnemonic = MNE_ret, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 16, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
441 { .mnemonic = MNE_lret, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
442 { .mnemonic = MNE_lret, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 16, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
443 { .mnemonic = MNE_rol, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
444 { .mnemonic = MNE_rol, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
445 { .mnemonic = MNE_rol, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
446 { .mnemonic = MNE_ror, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
447 { .mnemonic = MNE_ror, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
448 { .mnemonic = MNE_ror, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
449 { .mnemonic = MNE_rsm, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
450 { .mnemonic = MNE_sahf, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
451 { .mnemonic = MNE_sar, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
452 { .mnemonic = MNE_sar, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
453 { .mnemonic = MNE_sar, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
454 { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
455 { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
456 { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
457 { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
458 { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
459 { .mnemonic = MNE_scas, .rep = 0, .repe = 1, .suffix = 0, .modrm = 0, .fct1 = 12, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 3, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
460 { .mnemonic = MNE_set, .rep = 0, .repe = 0, .suffix = 4, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
461 { .mnemonic = MNE_shl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
462 { .mnemonic = MNE_shl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
463 { .mnemonic = MNE_shl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
464 { .mnemonic = MNE_shr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
465 { .mnemonic = MNE_shld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, },
466 { .mnemonic = MNE_shld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, },
467 { .mnemonic = MNE_shr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
468 { .mnemonic = MNE_shr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
469 { .mnemonic = MNE_shrd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, },
470 { .mnemonic = MNE_shrd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, },
471 { .mnemonic = MNE_vmcall, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
472 { .mnemonic = MNE_vmlaunch, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
473 { .mnemonic = MNE_vmresume, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
474 { .mnemonic = MNE_vmxoff, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
475 { .mnemonic = MNE_vmread, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 28, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 14, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
476 { .mnemonic = MNE_vmwrite, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
477 { .mnemonic = MNE_sgdtl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
478 { .mnemonic = MNE_monitor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 3, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 1, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 4, .str3 = 1, .off3_1 = 0, .off3_2 = 0, },
479 { .mnemonic = MNE_mwait, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 3, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 22, .str2 = 1, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
480 { .mnemonic = MNE_sidtl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
481 { .mnemonic = MNE_sldt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
482 { .mnemonic = MNE_smsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
483 { .mnemonic = MNE_stc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
484 { .mnemonic = MNE_std, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
485 { .mnemonic = MNE_sti, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
486 { .mnemonic = MNE_stos, .rep = 1, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 10, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
487 { .mnemonic = MNE_str, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
488 { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
489 { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
490 { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
491 { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
492 { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
493 { .mnemonic = MNE_test, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
494 { .mnemonic = MNE_test, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
495 { .mnemonic = MNE_test, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
496 { .mnemonic = MNE_ud2a, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
497 { .mnemonic = MNE_verr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
498 { .mnemonic = MNE_verw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
499 { .mnemonic = MNE_wbinvd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
500 { .mnemonic = MNE_prefetch, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 22, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
501 { .mnemonic = MNE_prefetchw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 22, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
502 { .mnemonic = MNE_prefetchnta, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
503 { .mnemonic = MNE_prefetcht0, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
504 { .mnemonic = MNE_prefetcht1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
505 { .mnemonic = MNE_prefetcht2, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
506 { .mnemonic = MNE_nop, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
507 { .mnemonic = MNE_wrmsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
508 { .mnemonic = MNE_xadd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 15, .off1_2 = 11, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 8, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
509 { .mnemonic = MNE_xchg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
510 { .mnemonic = MNE_xchg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 4, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
511 { .mnemonic = MNE_xlat, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 9, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
512 { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
513 { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
514 { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
515 { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
516 { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
517 { .mnemonic = MNE_emms, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
518 { .mnemonic = MNE_pand, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
519 { .mnemonic = MNE_pand, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
520 { .mnemonic = MNE_pandn, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
521 { .mnemonic = MNE_pandn, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
522 { .mnemonic = MNE_pmaddwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
523 { .mnemonic = MNE_pmaddwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
524 { .mnemonic = MNE_por, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
525 { .mnemonic = MNE_por, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
526 { .mnemonic = MNE_pxor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
527 { .mnemonic = MNE_pxor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
528 { .mnemonic = MNE_andnps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
529 { .mnemonic = MNE_andps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
530 { .mnemonic = MNE_cmpeqps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
531 { .mnemonic = MNE_cmpltps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
532 { .mnemonic = MNE_cmpleps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
533 { .mnemonic = MNE_cmpunordps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
534 { .mnemonic = MNE_cmpneqps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
535 { .mnemonic = MNE_cmpnltps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
536 { .mnemonic = MNE_cmpnleps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
537 { .mnemonic = MNE_cmpordps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
538 { .mnemonic = MNE_cmpeqss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
539 { .mnemonic = MNE_cmpltss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
540 { .mnemonic = MNE_cmpless, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
541 { .mnemonic = MNE_cmpunordss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
542 { .mnemonic = MNE_cmpneqss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
543 { .mnemonic = MNE_cmpnltss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
544 { .mnemonic = MNE_cmpnless, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
545 { .mnemonic = MNE_cmpordss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
546 { .mnemonic = MNE_fxrstor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
547 { .mnemonic = MNE_fxsave, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
548 { .mnemonic = MNE_ldmxcsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
549 { .mnemonic = MNE_stmxcsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
550 { .mnemonic = MNE_movsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
551 { .mnemonic = MNE_movss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
552 { .mnemonic = MNE_movupd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
553 { .mnemonic = MNE_movups, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
554 { .mnemonic = MNE_movsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
555 { .mnemonic = MNE_movss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
556 { .mnemonic = MNE_movupd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
557 { .mnemonic = MNE_movups, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
558 { .mnemonic = MNE_movddup, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
559 { .mnemonic = MNE_movsldup, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
560 { .mnemonic = MNE_movlpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
561 { .mnemonic = MNE_movhlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
562 { .mnemonic = MNE_movlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
563 { .mnemonic = MNE_movhlpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
564 { .mnemonic = MNE_movhlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
565 { .mnemonic = MNE_movlpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
566 { .mnemonic = MNE_movlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
567 { .mnemonic = MNE_unpcklpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
568 { .mnemonic = MNE_unpcklps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
569 { .mnemonic = MNE_unpckhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
570 { .mnemonic = MNE_unpckhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
571 { .mnemonic = MNE_movshdup, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
572 { .mnemonic = MNE_movhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
573 { .mnemonic = MNE_movlhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
574 { .mnemonic = MNE_movhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
575 { .mnemonic = MNE_movlhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
576 { .mnemonic = MNE_movlhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
577 { .mnemonic = MNE_movhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
578 { .mnemonic = MNE_movhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
579 { .mnemonic = MNE_movapd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
580 { .mnemonic = MNE_movaps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
581 { .mnemonic = MNE_movapd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
582 { .mnemonic = MNE_movaps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
583 { .mnemonic = MNE_cvtsi2sd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
584 { .mnemonic = MNE_cvtsi2ss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
585 { .mnemonic = MNE_cvtpi2pd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
586 { .mnemonic = MNE_cvtpi2ps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
587 { .mnemonic = MNE_movntpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
588 { .mnemonic = MNE_movntps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
589 { .mnemonic = MNE_cvttsd2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
590 { .mnemonic = MNE_cvttss2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
591 { .mnemonic = MNE_cvttpd2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
592 { .mnemonic = MNE_cvttps2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
593 { .mnemonic = MNE_cvtpd2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
594 { .mnemonic = MNE_cvtsd2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
595 { .mnemonic = MNE_cvtss2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
596 { .mnemonic = MNE_cvtps2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
597 { .mnemonic = MNE_ucomisd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
598 { .mnemonic = MNE_ucomiss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
599 { .mnemonic = MNE_comisd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
600 { .mnemonic = MNE_comiss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
601 { .mnemonic = MNE_getsec, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
602 { .mnemonic = MNE_movmskpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
603 { .mnemonic = MNE_movmskps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
604 { .mnemonic = MNE_sqrtpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
605 { .mnemonic = MNE_sqrtsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
606 { .mnemonic = MNE_sqrtss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
607 { .mnemonic = MNE_sqrtps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
608 { .mnemonic = MNE_rsqrtss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
609 { .mnemonic = MNE_rsqrtps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
610 { .mnemonic = MNE_rcpss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
611 { .mnemonic = MNE_rcpps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
612 { .mnemonic = MNE_andpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
613 { .mnemonic = MNE_andps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
614 { .mnemonic = MNE_andnpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
615 { .mnemonic = MNE_andnps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
616 { .mnemonic = MNE_orpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
617 { .mnemonic = MNE_orps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
618 { .mnemonic = MNE_xorpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
619 { .mnemonic = MNE_xorps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
620 { .mnemonic = MNE_addsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
621 { .mnemonic = MNE_addss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
622 { .mnemonic = MNE_addpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
623 { .mnemonic = MNE_addps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
624 { .mnemonic = MNE_mulsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
625 { .mnemonic = MNE_mulss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
626 { .mnemonic = MNE_mulpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
627 { .mnemonic = MNE_mulps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
628 { .mnemonic = MNE_cvtsd2ss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
629 { .mnemonic = MNE_cvtss2sd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
630 { .mnemonic = MNE_cvtpd2ps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
631 { .mnemonic = MNE_cvtps2pd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
632 { .mnemonic = MNE_cvtps2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
633 { .mnemonic = MNE_cvttps2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
634 { .mnemonic = MNE_cvtdq2ps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
635 { .mnemonic = MNE_subsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
636 { .mnemonic = MNE_subss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
637 { .mnemonic = MNE_subpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
638 { .mnemonic = MNE_subps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
639 { .mnemonic = MNE_minsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
640 { .mnemonic = MNE_minss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
641 { .mnemonic = MNE_minpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
642 { .mnemonic = MNE_minps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
643 { .mnemonic = MNE_divsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
644 { .mnemonic = MNE_divss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
645 { .mnemonic = MNE_divpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
646 { .mnemonic = MNE_divps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
647 { .mnemonic = MNE_maxsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
648 { .mnemonic = MNE_maxss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
649 { .mnemonic = MNE_maxpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
650 { .mnemonic = MNE_maxps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
651 { .mnemonic = MNE_punpcklbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
652 { .mnemonic = MNE_punpcklbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
653 { .mnemonic = MNE_punpcklwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
654 { .mnemonic = MNE_punpcklwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
655 { .mnemonic = MNE_punpckldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
656 { .mnemonic = MNE_punpckldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
657 { .mnemonic = MNE_packsswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
658 { .mnemonic = MNE_packsswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
659 { .mnemonic = MNE_pcmpgtb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
660 { .mnemonic = MNE_pcmpgtb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
661 { .mnemonic = MNE_pcmpgtw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
662 { .mnemonic = MNE_pcmpgtw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
663 { .mnemonic = MNE_pcmpgtd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
664 { .mnemonic = MNE_pcmpgtd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
665 { .mnemonic = MNE_packuswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
666 { .mnemonic = MNE_packuswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
667 { .mnemonic = MNE_punpckhbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
668 { .mnemonic = MNE_punpckhbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
669 { .mnemonic = MNE_punpckhwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
670 { .mnemonic = MNE_punpckhwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
671 { .mnemonic = MNE_punpckhdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
672 { .mnemonic = MNE_punpckhdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
673 { .mnemonic = MNE_packssdw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
674 { .mnemonic = MNE_packssdw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
675 { .mnemonic = MNE_punpcklqdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
676 { .mnemonic = MNE_punpckhqdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
677 { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
678 { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
679 { .mnemonic = MNE_movdqa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
680 { .mnemonic = MNE_movdqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
681 { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
682 { .mnemonic = MNE_pshufd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
683 { .mnemonic = MNE_pshuflw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
684 { .mnemonic = MNE_pshufhw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
685 { .mnemonic = MNE_pshufw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 1, .str3 = 0, .off3_1 = 8, .off3_2 = 0, },
686 { .mnemonic = MNE_pcmpeqb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
687 { .mnemonic = MNE_pcmpeqb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
688 { .mnemonic = MNE_pcmpeqw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
689 { .mnemonic = MNE_pcmpeqw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
690 { .mnemonic = MNE_pcmpeqd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
691 { .mnemonic = MNE_pcmpeqd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
692 { .mnemonic = MNE_haddpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
693 { .mnemonic = MNE_haddps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
694 { .mnemonic = MNE_hsubpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
695 { .mnemonic = MNE_hsubps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
696 { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
697 { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
698 { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
699 { .mnemonic = MNE_movdqa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
700 { .mnemonic = MNE_movdqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
701 { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
702 { .mnemonic = MNE_movnti, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
703 { .mnemonic = MNE_pinsrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
704 { .mnemonic = MNE_pinsrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 1, .str3 = 0, .off3_1 = 8, .off3_2 = 0, },
705 { .mnemonic = MNE_pextrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 3, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
706 { .mnemonic = MNE_pextrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 3, .str3 = 0, .off3_1 = 8, .off3_2 = 0, },
707 { .mnemonic = MNE_shufpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
708 { .mnemonic = MNE_shufps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 8, .off3_2 = 0, },
709 { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
710 { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
711 { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
712 { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
713 { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
714 { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
715 { .mnemonic = MNE_paddq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
716 { .mnemonic = MNE_paddq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
717 { .mnemonic = MNE_pmullw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
718 { .mnemonic = MNE_pmullw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
719 { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
720 { .mnemonic = MNE_movdq2q, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
721 { .mnemonic = MNE_movq2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 19, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
722 { .mnemonic = MNE_pmovmskb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
723 { .mnemonic = MNE_pmovmskb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 19, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
724 { .mnemonic = MNE_psubusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
725 { .mnemonic = MNE_psubusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
726 { .mnemonic = MNE_psubusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
727 { .mnemonic = MNE_psubusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
728 { .mnemonic = MNE_pminub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
729 { .mnemonic = MNE_pminub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
730 { .mnemonic = MNE_paddusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
731 { .mnemonic = MNE_paddusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
732 { .mnemonic = MNE_paddusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
733 { .mnemonic = MNE_paddusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
734 { .mnemonic = MNE_pmaxub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
735 { .mnemonic = MNE_pmaxub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
736 { .mnemonic = MNE_pavgb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
737 { .mnemonic = MNE_pavgb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
738 { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
739 { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
740 { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
741 { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
742 { .mnemonic = MNE_pavgw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
743 { .mnemonic = MNE_pavgw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
744 { .mnemonic = MNE_pmulhuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
745 { .mnemonic = MNE_pmulhuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
746 { .mnemonic = MNE_pmulhw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
747 { .mnemonic = MNE_pmulhw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
748 { .mnemonic = MNE_movntdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
749 { .mnemonic = MNE_movntq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
750 { .mnemonic = MNE_psubsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
751 { .mnemonic = MNE_psubsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
752 { .mnemonic = MNE_psubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
753 { .mnemonic = MNE_psubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
754 { .mnemonic = MNE_pminsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
755 { .mnemonic = MNE_pminsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
756 { .mnemonic = MNE_paddsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
757 { .mnemonic = MNE_paddsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
758 { .mnemonic = MNE_paddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
759 { .mnemonic = MNE_paddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
760 { .mnemonic = MNE_pmaxsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
761 { .mnemonic = MNE_pmaxsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
762 { .mnemonic = MNE_lddqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
763 { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
764 { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
765 { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
766 { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
767 { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
768 { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
769 { .mnemonic = MNE_pmuludq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
770 { .mnemonic = MNE_pmuludq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
771 { .mnemonic = MNE_psadbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
772 { .mnemonic = MNE_psadbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
773 { .mnemonic = MNE_maskmovdqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
774 { .mnemonic = MNE_maskmovq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 19, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
775 { .mnemonic = MNE_psubb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
776 { .mnemonic = MNE_psubb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
777 { .mnemonic = MNE_psubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
778 { .mnemonic = MNE_psubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
779 { .mnemonic = MNE_psubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
780 { .mnemonic = MNE_psubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
781 { .mnemonic = MNE_psubq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
782 { .mnemonic = MNE_psubq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
783 { .mnemonic = MNE_paddb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
784 { .mnemonic = MNE_paddb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
785 { .mnemonic = MNE_paddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
786 { .mnemonic = MNE_paddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
787 { .mnemonic = MNE_paddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
788 { .mnemonic = MNE_paddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
789 { .mnemonic = MNE_pshufb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
790 { .mnemonic = MNE_pshufb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
791 { .mnemonic = MNE_phaddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
792 { .mnemonic = MNE_phaddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
793 { .mnemonic = MNE_phaddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
794 { .mnemonic = MNE_phaddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
795 { .mnemonic = MNE_phaddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
796 { .mnemonic = MNE_phaddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
797 { .mnemonic = MNE_pmaddubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
798 { .mnemonic = MNE_pmaddubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
799 { .mnemonic = MNE_phsubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
800 { .mnemonic = MNE_phsubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
801 { .mnemonic = MNE_phsubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
802 { .mnemonic = MNE_phsubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
803 { .mnemonic = MNE_phsubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
804 { .mnemonic = MNE_phsubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
805 { .mnemonic = MNE_psignb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
806 { .mnemonic = MNE_psignb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
807 { .mnemonic = MNE_psignw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
808 { .mnemonic = MNE_psignw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
809 { .mnemonic = MNE_psignd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
810 { .mnemonic = MNE_psignd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
811 { .mnemonic = MNE_pmulhrsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
812 { .mnemonic = MNE_pmulhrsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
813 { .mnemonic = MNE_pabsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
814 { .mnemonic = MNE_pabsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
815 { .mnemonic = MNE_pabsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
816 { .mnemonic = MNE_pabsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
817 { .mnemonic = MNE_pabsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
818 { .mnemonic = MNE_pabsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
819 { .mnemonic = MNE_palignr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
820 { .mnemonic = MNE_palignr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 1, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
821 { .mnemonic = MNE_vmclear, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
822 { .mnemonic = MNE_vmxon, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
823 { .mnemonic = MNE_vmptrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
824 { .mnemonic = MNE_vmptrst, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
825 { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
826 { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
827 { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
828 { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
829 { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
830 { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
831 { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
832 { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
833 { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
834 { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
835 { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
836 { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
837 { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
838 { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
839 { .mnemonic = MNE_psrldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
840 { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
841 { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
842 { .mnemonic = MNE_pslldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
843 { .mnemonic = MNE_lfence, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
844 { .mnemonic = MNE_mfence, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
845 { .mnemonic = MNE_sfence, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
846 { .mnemonic = MNE_clflush, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
847 { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
848 { .mnemonic = MNE_blendps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
849 { .mnemonic = MNE_blendpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
850 { .mnemonic = MNE_blendvps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 5, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
851 { .mnemonic = MNE_blendvpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 5, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
852 { .mnemonic = MNE_dpps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
853 { .mnemonic = MNE_dppd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
854 { .mnemonic = MNE_insertps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
855 { .mnemonic = MNE_movntdqa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
856 { .mnemonic = MNE_mpsadbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
857 { .mnemonic = MNE_packusdw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
858 { .mnemonic = MNE_pblendvb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 5, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
859 { .mnemonic = MNE_pblendw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
860 { .mnemonic = MNE_pcmpeqq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
861 { .mnemonic = MNE_pcmpestri, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
862 { .mnemonic = MNE_pcmpestrm, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
863 { .mnemonic = MNE_pcmpistri, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
864 { .mnemonic = MNE_pcmpistrm, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
865 { .mnemonic = MNE_pcmpgtq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
866 { .mnemonic = MNE_phminposuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
867 { .mnemonic = MNE_pinsrb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
868 { .mnemonic = MNE_pinsrd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
869 { .mnemonic = MNE_pmaxsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
870 { .mnemonic = MNE_pmaxsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
871 { .mnemonic = MNE_pmaxud, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
872 { .mnemonic = MNE_pmaxuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
873 { .mnemonic = MNE_pminsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
874 { .mnemonic = MNE_pminsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
875 { .mnemonic = MNE_pminud, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
876 { .mnemonic = MNE_pminuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
877 { .mnemonic = MNE_pmovsxbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
878 { .mnemonic = MNE_pmovsxbd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
879 { .mnemonic = MNE_pmovsxbq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
880 { .mnemonic = MNE_pmovsxwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
881 { .mnemonic = MNE_pmovsxwq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
882 { .mnemonic = MNE_pmovsxdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
883 { .mnemonic = MNE_pmovzxbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
884 { .mnemonic = MNE_pmovzxbd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
885 { .mnemonic = MNE_pmovzxbq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
886 { .mnemonic = MNE_pmovzxwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
887 { .mnemonic = MNE_pmovzxwq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
888 { .mnemonic = MNE_pmovzxdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
889 { .mnemonic = MNE_pmuldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
890 { .mnemonic = MNE_pmulld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
891 { .mnemonic = MNE_ptest, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 23, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
892 { .mnemonic = MNE_roundps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
893 { .mnemonic = MNE_roundpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
894 { .mnemonic = MNE_roundss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
895 { .mnemonic = MNE_roundsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 17, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
896 { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 31, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
897};
898static const uint8_t match_data[] =
899{
900 0x11, 0x37,
901 0x22, 0xd5, 0xa,
902 0x22, 0xd4, 0xa,
903 0x11, 0x3f,
904 0x1, 0xfe, 0x14,
905 0x2, 0xfe, 0x80, 0x38, 0x10,
906 0x2, 0xfe, 0x82, 0x38, 0x10,
907 0x2, 0xfe, 0x10, 0, 0,
908 0x2, 0xfe, 0x12, 0, 0,
909 0x1, 0xfe, 0x4,
910 0x2, 0xfe, 0x80, 0x38, 0,
911 0x12, 0x83, 0x38, 0,
912 0x2, 0xfe, 0, 0, 0,
913 0x2, 0xfe, 0x2, 0, 0,
914 0x34, 0x66, 0xf, 0xd0, 0, 0,
915 0x34, 0xf2, 0xf, 0xd0, 0, 0,
916 0x1, 0xfe, 0x24,
917 0x2, 0xfe, 0x80, 0x38, 0x20,
918 0x2, 0xfe, 0x82, 0x38, 0x20,
919 0x2, 0xfe, 0x20, 0, 0,
920 0x2, 0xfe, 0x22, 0, 0,
921 0x34, 0x66, 0xf, 0x54, 0, 0,
922 0x23, 0xf, 0x54, 0, 0,
923 0x34, 0x66, 0xf, 0x55, 0, 0,
924 0x23, 0xf, 0x55, 0, 0,
925 0x12, 0x63, 0, 0,
926 0x12, 0x62, 0, 0,
927 0x23, 0xf, 0xbc, 0, 0,
928 0x23, 0xf, 0xbd, 0, 0,
929 0x12, 0xf, 0xf8, 0xc8,
930 0x23, 0xf, 0xa3, 0, 0,
931 0x23, 0xf, 0xba, 0x38, 0x20,
932 0x23, 0xf, 0xbb, 0, 0,
933 0x23, 0xf, 0xba, 0x38, 0x38,
934 0x23, 0xf, 0xb3, 0, 0,
935 0x23, 0xf, 0xba, 0x38, 0x30,
936 0x23, 0xf, 0xab, 0, 0,
937 0x23, 0xf, 0xba, 0x38, 0x28,
938 0x11, 0xe8,
939 0x12, 0xff, 0x38, 0x10,
940 0x11, 0x9a,
941 0x12, 0xff, 0x38, 0x18,
942 0x11, 0x98,
943 0x11, 0x99,
944 0x11, 0xf8,
945 0x11, 0xfc,
946 0x11, 0xfa,
947 0x22, 0xf, 0x5,
948 0x22, 0xf, 0x6,
949 0x22, 0xf, 0x7,
950 0x22, 0xf, 0x34,
951 0x22, 0xf, 0x35,
952 0x11, 0xf5,
953 0x13, 0xf, 0xf0, 0x40, 0, 0,
954 0x1, 0xfe, 0x3c,
955 0x2, 0xfe, 0x80, 0x38, 0x38,
956 0x12, 0x83, 0x38, 0x38,
957 0x2, 0xfe, 0x38, 0, 0,
958 0x2, 0xfe, 0x3a, 0, 0,
959 0x34, 0xf2, 0xf, 0xc2, 0, 0,
960 0x34, 0xf3, 0xf, 0xc2, 0, 0,
961 0x34, 0x66, 0xf, 0xc2, 0, 0,
962 0x23, 0xf, 0xc2, 0, 0,
963 0x1, 0xfe, 0xa6,
964 0x13, 0xf, 0xfe, 0xb0, 0, 0,
965 0x23, 0xf, 0xc7, 0x38, 0x8,
966 0x22, 0xf, 0xa2,
967 0x34, 0xf3, 0xf, 0xe6, 0, 0,
968 0x34, 0xf2, 0xf, 0xe6, 0, 0,
969 0x34, 0x66, 0xf, 0xe6, 0, 0,
970 0x11, 0x27,
971 0x11, 0x2f,
972 0x2, 0xfe, 0xfe, 0x38, 0x8,
973 0x1, 0xf8, 0x48,
974 0x2, 0xfe, 0xf6, 0x38, 0x30,
975 0x22, 0xf, 0x77,
976 0x11, 0xc8,
977 0x22, 0xd9, 0xd0,
978 0x22, 0xd9, 0xe0,
979 0x22, 0xd9, 0xe1,
980 0x22, 0xd9, 0xe4,
981 0x22, 0xd9, 0xe5,
982 0x22, 0xd9, 0xe8,
983 0x22, 0xd9, 0xe9,
984 0x22, 0xd9, 0xea,
985 0x22, 0xd9, 0xeb,
986 0x22, 0xd9, 0xec,
987 0x22, 0xd9, 0xed,
988 0x22, 0xd9, 0xee,
989 0x22, 0xd9, 0xf0,
990 0x22, 0xd9, 0xf1,
991 0x22, 0xd9, 0xf2,
992 0x22, 0xd9, 0xf3,
993 0x22, 0xd9, 0xf4,
994 0x22, 0xd9, 0xf5,
995 0x22, 0xd9, 0xf6,
996 0x22, 0xd9, 0xf7,
997 0x22, 0xd9, 0xf8,
998 0x22, 0xd9, 0xf9,
999 0x22, 0xd9, 0xfa,
1000 0x22, 0xd9, 0xfb,
1001 0x22, 0xd9, 0xfc,
1002 0x22, 0xd9, 0xfd,
1003 0x22, 0xd9, 0xfe,
1004 0x22, 0xd9, 0xff,
1005 0x12, 0xd8, 0xf8, 0xc0,
1006 0x12, 0xdc, 0xf8, 0xc0,
1007 0x2, 0xfb, 0xd8, 0x38, 0,
1008 0x12, 0xd8, 0xf8, 0xc8,
1009 0x12, 0xdc, 0xf8, 0xc8,
1010 0x2, 0xfb, 0xd8, 0x38, 0x8,
1011 0x12, 0xd8, 0xf8, 0xe0,
1012 0x12, 0xdc, 0xf8, 0xe0,
1013 0x2, 0xfb, 0xd8, 0x38, 0x20,
1014 0x12, 0xd8, 0xf8, 0xe8,
1015 0x12, 0xdc, 0xf8, 0xe8,
1016 0x2, 0xfb, 0xd8, 0x38, 0x28,
1017 0x12, 0xdd, 0xf8, 0xd0,
1018 0x2, 0xfb, 0xd9, 0x38, 0x10,
1019 0x12, 0xdd, 0xf8, 0xd8,
1020 0x2, 0xfb, 0xd9, 0x38, 0x18,
1021 0x12, 0xd9, 0x38, 0x20,
1022 0x12, 0xd9, 0x38, 0x28,
1023 0x12, 0xd9, 0x38, 0x30,
1024 0x12, 0xd9, 0x38, 0x38,
1025 0x12, 0xd9, 0xf8, 0xc8,
1026 0x12, 0xde, 0xf8, 0xc0,
1027 0x12, 0xda, 0xf8, 0xc0,
1028 0x2, 0xfb, 0xda, 0x38, 0,
1029 0x12, 0xda, 0xf8, 0xc8,
1030 0x12, 0xde, 0xf8, 0xc8,
1031 0x2, 0xfb, 0xda, 0x38, 0x8,
1032 0x12, 0xde, 0xf8, 0xe0,
1033 0x2, 0xfb, 0xda, 0x38, 0x20,
1034 0x12, 0xde, 0xf8, 0xe8,
1035 0x2, 0xfb, 0xda, 0x38, 0x28,
1036 0x22, 0xdf, 0xe0,
1037 0x12, 0xdf, 0x38, 0x20,
1038 0x12, 0xdf, 0xf8, 0xf0,
1039 0x12, 0xdf, 0x38, 0x30,
1040 0x22, 0xd9, 0xe0,
1041 0x33, 0x9b, 0xdb, 0xe2,
1042 0x33, 0x9b, 0xdb, 0xe3,
1043 0x11, 0x9b,
1044 0x22, 0xdb, 0xe2,
1045 0x12, 0xda, 0xf8, 0xc0,
1046 0x12, 0xda, 0xf8, 0xc8,
1047 0x12, 0xda, 0xf8, 0xd0,
1048 0x12, 0xda, 0xf8, 0xd8,
1049 0x12, 0xdb, 0xf8, 0xc0,
1050 0x12, 0xdb, 0xf8, 0xc8,
1051 0x12, 0xdb, 0xf8, 0xd0,
1052 0x12, 0xdb, 0xf8, 0xd8,
1053 0x12, 0xd8, 0xf8, 0xd0,
1054 0x2, 0xfb, 0xd8, 0x38, 0x10,
1055 0x12, 0xd8, 0xf8, 0xd8,
1056 0x2, 0xfb, 0xd8, 0x38, 0x18,
1057 0x22, 0xde, 0xd9,
1058 0x12, 0xdb, 0xf8, 0xf0,
1059 0x12, 0xdf, 0xf8, 0xf0,
1060 0x12, 0xdb, 0xf8, 0xe8,
1061 0x12, 0xdf, 0xf8, 0xe8,
1062 0x22, 0xd9, 0xff,
1063 0x22, 0xd9, 0xf6,
1064 0x12, 0xd8, 0xf8, 0xf0,
1065 0x12, 0xdc, 0xf8, 0xf0,
1066 0x2, 0xfb, 0xd8, 0x38, 0x30,
1067 0x12, 0xda, 0x38, 0x30,
1068 0x12, 0xde, 0xf8, 0xf0,
1069 0x12, 0xde, 0x38, 0x30,
1070 0x12, 0xde, 0xf8, 0xf8,
1071 0x12, 0xd8, 0xf8, 0xf8,
1072 0x12, 0xdc, 0xf8, 0xf8,
1073 0x2, 0xfb, 0xd8, 0x38, 0x38,
1074 0x12, 0xda, 0x38, 0x38,
1075 0x12, 0xde, 0x38, 0x38,
1076 0x12, 0xde, 0xf8, 0xf0,
1077 0x12, 0xdd, 0xf8, 0xc0,
1078 0x12, 0xda, 0xf8, 0xd0,
1079 0x2, 0xfb, 0xda, 0x38, 0x10,
1080 0x12, 0xda, 0xf8, 0xd8,
1081 0x2, 0xfb, 0xda, 0x38, 0x18,
1082 0x12, 0xdf, 0x38, 0,
1083 0x12, 0xdb, 0x38, 0,
1084 0x12, 0xdf, 0x38, 0x28,
1085 0x22, 0xd9, 0xf7,
1086 0x22, 0xdb, 0xe3,
1087 0x2, 0xfb, 0xdb, 0x38, 0x10,
1088 0x2, 0xfb, 0xdb, 0x38, 0x18,
1089 0x12, 0xdf, 0x38, 0x38,
1090 0x2, 0xfb, 0xdb, 0x38, 0x8,
1091 0x12, 0xdd, 0x38, 0x8,
1092 0x12, 0xdb, 0x38, 0x28,
1093 0x12, 0xdb, 0x38, 0x38,
1094 0x12, 0xd9, 0xf8, 0xc0,
1095 0x2, 0xfb, 0xd9, 0x38, 0,
1096 0x12, 0xdd, 0xf8, 0xe0,
1097 0x12, 0xdd, 0x38, 0x20,
1098 0x12, 0xdd, 0xf8, 0xe8,
1099 0x12, 0xdd, 0x38, 0x30,
1100 0x12, 0xdd, 0x38, 0x38,
1101 0x11, 0xf4,
1102 0x2, 0xfe, 0xf6, 0x38, 0x38,
1103 0x2, 0xfe, 0xf6, 0x38, 0x28,
1104 0x23, 0xf, 0xaf, 0, 0,
1105 0x2, 0xfd, 0x69, 0, 0,
1106 0x1, 0xfe, 0xe4,
1107 0x1, 0xfe, 0xec,
1108 0x2, 0xfe, 0xfe, 0x38, 0,
1109 0x1, 0xf8, 0x40,
1110 0x1, 0xfe, 0x6c,
1111 0x11, 0xcd,
1112 0x11, 0xcc,
1113 0x11, 0xce,
1114 0x22, 0xf, 0x8,
1115 0x33, 0xf, 0x1, 0xf8,
1116 0x23, 0xf, 0x1, 0x38, 0x38,
1117 0x11, 0xcf,
1118 0x1, 0xf0, 0x70,
1119 0x12, 0xf, 0xf0, 0x80,
1120 0x13, 0xf, 0xf0, 0x90, 0x38, 0,
1121 0x11, 0xe3,
1122 0x11, 0xeb,
1123 0x11, 0xe9,
1124 0x12, 0xff, 0x38, 0x20,
1125 0x11, 0xea,
1126 0x12, 0xff, 0x38, 0x28,
1127 0x11, 0x9f,
1128 0x23, 0xf, 0x2, 0, 0,
1129 0x12, 0xc5, 0, 0,
1130 0x12, 0x8d, 0, 0,
1131 0x11, 0xc9,
1132 0x12, 0xc4, 0, 0,
1133 0x23, 0xf, 0xb4, 0, 0,
1134 0x23, 0xf, 0xb5, 0, 0,
1135 0x23, 0xf, 0x1, 0x38, 0x10,
1136 0x23, 0xf, 0x1, 0x38, 0x18,
1137 0x23, 0xf, 0, 0x38, 0x10,
1138 0x23, 0xf, 0x1, 0x38, 0x30,
1139 0x11, 0xf0,
1140 0x1, 0xfe, 0xac,
1141 0x11, 0xe2,
1142 0x11, 0xe1,
1143 0x11, 0xe0,
1144 0x23, 0xf, 0x3, 0, 0,
1145 0x23, 0xf, 0xb2, 0, 0,
1146 0x23, 0xf, 0, 0x38, 0x18,
1147 0x2, 0xfe, 0x88, 0, 0,
1148 0x2, 0xfe, 0x8a, 0, 0,
1149 0x2, 0xfe, 0xc6, 0x38, 0,
1150 0x1, 0xf0, 0xb0,
1151 0x1, 0xfe, 0xa0,
1152 0x1, 0xfe, 0xa2,
1153 0x23, 0xf, 0x20, 0xc0, 0xc0,
1154 0x23, 0xf, 0x22, 0xc0, 0xc0,
1155 0x23, 0xf, 0x21, 0xc0, 0xc0,
1156 0x23, 0xf, 0x23, 0xc0, 0xc0,
1157 0x12, 0x8c, 0, 0,
1158 0x12, 0x8e, 0, 0,
1159 0x1, 0xfe, 0xa4,
1160 0x23, 0xf, 0xbe, 0, 0,
1161 0x23, 0xf, 0xbf, 0, 0,
1162 0x23, 0xf, 0xb6, 0, 0,
1163 0x23, 0xf, 0xb7, 0, 0,
1164 0x2, 0xfe, 0xf6, 0x38, 0x20,
1165 0x2, 0xfe, 0xf6, 0x38, 0x18,
1166 0x22, 0xf3, 0x90,
1167 0x11, 0x90,
1168 0x34, 0xf3, 0xf, 0xb8, 0, 0,
1169 0x2, 0xfe, 0xf6, 0x38, 0x10,
1170 0x2, 0xfe, 0x8, 0, 0,
1171 0x2, 0xfe, 0xa, 0, 0,
1172 0x2, 0xfe, 0x80, 0x38, 0x8,
1173 0x2, 0xfe, 0x82, 0x38, 0x8,
1174 0x1, 0xfe, 0xc,
1175 0x1, 0xfe, 0xe6,
1176 0x1, 0xfe, 0xee,
1177 0x1, 0xfe, 0x6e,
1178 0x12, 0x8f, 0x38, 0,
1179 0x12, 0xf, 0xc7, 0x81,
1180 0x11, 0x9d,
1181 0x12, 0xff, 0x38, 0x30,
1182 0x1, 0xf8, 0x50,
1183 0x1, 0xf8, 0x58,
1184 0x1, 0xfd, 0x68,
1185 0x1, 0xe7, 0x6,
1186 0x12, 0xf, 0xc7, 0x80,
1187 0x11, 0x60,
1188 0x11, 0x61,
1189 0x11, 0x9c,
1190 0x2, 0xfe, 0xd0, 0x38, 0x10,
1191 0x2, 0xfe, 0xd2, 0x38, 0x10,
1192 0x2, 0xfe, 0xc0, 0x38, 0x10,
1193 0x2, 0xfe, 0xd0, 0x38, 0x18,
1194 0x2, 0xfe, 0xd2, 0x38, 0x18,
1195 0x2, 0xfe, 0xc0, 0x38, 0x18,
1196 0x22, 0xf, 0x32,
1197 0x22, 0xf, 0x33,
1198 0x22, 0xf, 0x31,
1199 0x11, 0xc3,
1200 0x11, 0xc2,
1201 0x11, 0xcb,
1202 0x11, 0xca,
1203 0x2, 0xfe, 0xd0, 0x38, 0,
1204 0x2, 0xfe, 0xd2, 0x38, 0,
1205 0x2, 0xfe, 0xc0, 0x38, 0,
1206 0x2, 0xfe, 0xd0, 0x38, 0x8,
1207 0x2, 0xfe, 0xd2, 0x38, 0x8,
1208 0x2, 0xfe, 0xc0, 0x38, 0x8,
1209 0x22, 0xf, 0xaa,
1210 0x11, 0x9e,
1211 0x2, 0xfe, 0xd0, 0x38, 0x38,
1212 0x2, 0xfe, 0xd2, 0x38, 0x38,
1213 0x2, 0xfe, 0xc0, 0x38, 0x38,
1214 0x2, 0xfe, 0x18, 0, 0,
1215 0x2, 0xfe, 0x1a, 0, 0,
1216 0x1, 0xfe, 0x1c,
1217 0x2, 0xfe, 0x80, 0x38, 0x18,
1218 0x2, 0xfe, 0x82, 0x38, 0x18,
1219 0x1, 0xfe, 0xae,
1220 0x13, 0xf, 0xf0, 0x90, 0x38, 0,
1221 0x2, 0xfe, 0xd0, 0x38, 0x20,
1222 0x2, 0xfe, 0xd2, 0x38, 0x20,
1223 0x2, 0xfe, 0xc0, 0x38, 0x20,
1224 0x2, 0xfe, 0xd0, 0x38, 0x28,
1225 0x23, 0xf, 0xa4, 0, 0,
1226 0x23, 0xf, 0xa5, 0, 0,
1227 0x2, 0xfe, 0xd2, 0x38, 0x28,
1228 0x2, 0xfe, 0xc0, 0x38, 0x28,
1229 0x23, 0xf, 0xac, 0, 0,
1230 0x23, 0xf, 0xad, 0, 0,
1231 0x33, 0xf, 0x1, 0xc1,
1232 0x33, 0xf, 0x1, 0xc2,
1233 0x33, 0xf, 0x1, 0xc3,
1234 0x33, 0xf, 0x1, 0xc4,
1235 0x23, 0xf, 0x78, 0, 0,
1236 0x23, 0xf, 0x79, 0, 0,
1237 0x23, 0xf, 0x1, 0x38, 0,
1238 0x33, 0xf, 0x1, 0xc8,
1239 0x33, 0xf, 0x1, 0xc9,
1240 0x23, 0xf, 0x1, 0x38, 0x8,
1241 0x23, 0xf, 0, 0x38, 0,
1242 0x23, 0xf, 0x1, 0x38, 0x20,
1243 0x11, 0xf9,
1244 0x11, 0xfd,
1245 0x11, 0xfb,
1246 0x1, 0xfe, 0xaa,
1247 0x23, 0xf, 0, 0x38, 0x8,
1248 0x2, 0xfe, 0x28, 0, 0,
1249 0x2, 0xfe, 0x2a, 0, 0,
1250 0x1, 0xfe, 0x2c,
1251 0x2, 0xfe, 0x80, 0x38, 0x28,
1252 0x2, 0xfe, 0x82, 0x38, 0x28,
1253 0x2, 0xfe, 0x84, 0, 0,
1254 0x1, 0xfe, 0xa8,
1255 0x2, 0xfe, 0xf6, 0x38, 0,
1256 0x22, 0xf, 0xb,
1257 0x23, 0xf, 0, 0x38, 0x20,
1258 0x23, 0xf, 0, 0x38, 0x28,
1259 0x22, 0xf, 0x9,
1260 0x23, 0xf, 0xd, 0x38, 0,
1261 0x23, 0xf, 0xd, 0x38, 0x8,
1262 0x23, 0xf, 0x18, 0x38, 0,
1263 0x23, 0xf, 0x18, 0x38, 0x8,
1264 0x23, 0xf, 0x18, 0x38, 0x10,
1265 0x23, 0xf, 0x18, 0x38, 0x18,
1266 0x23, 0xf, 0x1f, 0, 0,
1267 0x22, 0xf, 0x30,
1268 0x13, 0xf, 0xfe, 0xc0, 0, 0,
1269 0x2, 0xfe, 0x86, 0, 0,
1270 0x1, 0xf8, 0x90,
1271 0x11, 0xd7,
1272 0x2, 0xfe, 0x30, 0, 0,
1273 0x2, 0xfe, 0x32, 0, 0,
1274 0x1, 0xfe, 0x34,
1275 0x2, 0xfe, 0x80, 0x38, 0x30,
1276 0x2, 0xfe, 0x82, 0x38, 0x30,
1277 0x22, 0xf, 0x77,
1278 0x34, 0x66, 0xf, 0xdb, 0, 0,
1279 0x23, 0xf, 0xdb, 0, 0,
1280 0x34, 0x66, 0xf, 0xdf, 0, 0,
1281 0x23, 0xf, 0xdf, 0, 0,
1282 0x34, 0x66, 0xf, 0xf5, 0, 0,
1283 0x23, 0xf, 0xf5, 0, 0,
1284 0x34, 0x66, 0xf, 0xeb, 0, 0,
1285 0x23, 0xf, 0xeb, 0, 0,
1286 0x34, 0x66, 0xf, 0xef, 0, 0,
1287 0x23, 0xf, 0xef, 0, 0,
1288 0x23, 0xf, 0x55, 0, 0,
1289 0x23, 0xf, 0x54, 0, 0,
1290 0x24, 0xf, 0xc2, 0, 0, 0xff, 0,
1291 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x1,
1292 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x2,
1293 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x3,
1294 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x4,
1295 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x5,
1296 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x6,
1297 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x7,
1298 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0,
1299 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x1,
1300 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x2,
1301 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x3,
1302 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x4,
1303 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x5,
1304 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x6,
1305 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x7,
1306 0x23, 0xf, 0xae, 0x38, 0x8,
1307 0x23, 0xf, 0xae, 0x38, 0,
1308 0x23, 0xf, 0xae, 0x38, 0x10,
1309 0x23, 0xf, 0xae, 0x38, 0x18,
1310 0x34, 0xf2, 0xf, 0x10, 0, 0,
1311 0x34, 0xf3, 0xf, 0x10, 0, 0,
1312 0x34, 0x66, 0xf, 0x10, 0, 0,
1313 0x23, 0xf, 0x10, 0, 0,
1314 0x34, 0xf2, 0xf, 0x11, 0, 0,
1315 0x34, 0xf3, 0xf, 0x11, 0, 0,
1316 0x34, 0x66, 0xf, 0x11, 0, 0,
1317 0x23, 0xf, 0x11, 0, 0,
1318 0x34, 0xf2, 0xf, 0x12, 0, 0,
1319 0x34, 0xf3, 0xf, 0x12, 0, 0,
1320 0x34, 0x66, 0xf, 0x12, 0, 0,
1321 0x23, 0xf, 0x12, 0xc0, 0xc0,
1322 0x23, 0xf, 0x12, 0, 0,
1323 0x34, 0x66, 0xf, 0x13, 0xc0, 0xc0,
1324 0x23, 0xf, 0x13, 0xc0, 0xc0,
1325 0x34, 0x66, 0xf, 0x13, 0, 0,
1326 0x23, 0xf, 0x13, 0, 0,
1327 0x34, 0x66, 0xf, 0x14, 0, 0,
1328 0x23, 0xf, 0x14, 0, 0,
1329 0x34, 0x66, 0xf, 0x15, 0, 0,
1330 0x23, 0xf, 0x15, 0, 0,
1331 0x34, 0xf3, 0xf, 0x16, 0, 0,
1332 0x34, 0x66, 0xf, 0x16, 0, 0,
1333 0x23, 0xf, 0x16, 0xc0, 0xc0,
1334 0x23, 0xf, 0x16, 0, 0,
1335 0x34, 0x66, 0xf, 0x17, 0xc0, 0xc0,
1336 0x23, 0xf, 0x17, 0xc0, 0xc0,
1337 0x34, 0x66, 0xf, 0x17, 0, 0,
1338 0x23, 0xf, 0x17, 0, 0,
1339 0x34, 0x66, 0xf, 0x28, 0, 0,
1340 0x23, 0xf, 0x28, 0, 0,
1341 0x34, 0x66, 0xf, 0x29, 0, 0,
1342 0x23, 0xf, 0x29, 0, 0,
1343 0x34, 0xf2, 0xf, 0x2a, 0, 0,
1344 0x34, 0xf3, 0xf, 0x2a, 0, 0,
1345 0x34, 0x66, 0xf, 0x2a, 0, 0,
1346 0x23, 0xf, 0x2a, 0, 0,
1347 0x34, 0x66, 0xf, 0x2b, 0, 0,
1348 0x23, 0xf, 0x2b, 0, 0,
1349 0x34, 0xf2, 0xf, 0x2c, 0, 0,
1350 0x34, 0xf3, 0xf, 0x2c, 0, 0,
1351 0x34, 0x66, 0xf, 0x2c, 0, 0,
1352 0x23, 0xf, 0x2c, 0, 0,
1353 0x34, 0x66, 0xf, 0x2d, 0, 0,
1354 0x34, 0xf2, 0xf, 0x2d, 0, 0,
1355 0x34, 0xf3, 0xf, 0x2d, 0, 0,
1356 0x23, 0xf, 0x2d, 0, 0,
1357 0x34, 0x66, 0xf, 0x2e, 0, 0,
1358 0x23, 0xf, 0x2e, 0, 0,
1359 0x34, 0x66, 0xf, 0x2f, 0, 0,
1360 0x23, 0xf, 0x2f, 0, 0,
1361 0x22, 0xf, 0x37,
1362 0x34, 0x66, 0xf, 0x50, 0xc0, 0xc0,
1363 0x23, 0xf, 0x50, 0xc0, 0xc0,
1364 0x34, 0x66, 0xf, 0x51, 0, 0,
1365 0x34, 0xf2, 0xf, 0x51, 0, 0,
1366 0x34, 0xf3, 0xf, 0x51, 0, 0,
1367 0x23, 0xf, 0x51, 0, 0,
1368 0x34, 0xf3, 0xf, 0x52, 0, 0,
1369 0x23, 0xf, 0x52, 0, 0,
1370 0x34, 0xf3, 0xf, 0x53, 0, 0,
1371 0x23, 0xf, 0x53, 0, 0,
1372 0x34, 0x66, 0xf, 0x54, 0, 0,
1373 0x23, 0xf, 0x54, 0, 0,
1374 0x34, 0x66, 0xf, 0x55, 0, 0,
1375 0x23, 0xf, 0x55, 0, 0,
1376 0x34, 0x66, 0xf, 0x56, 0, 0,
1377 0x23, 0xf, 0x56, 0, 0,
1378 0x34, 0x66, 0xf, 0x57, 0, 0,
1379 0x23, 0xf, 0x57, 0, 0,
1380 0x34, 0xf2, 0xf, 0x58, 0, 0,
1381 0x34, 0xf3, 0xf, 0x58, 0, 0,
1382 0x34, 0x66, 0xf, 0x58, 0, 0,
1383 0x23, 0xf, 0x58, 0, 0,
1384 0x34, 0xf2, 0xf, 0x59, 0, 0,
1385 0x34, 0xf3, 0xf, 0x59, 0, 0,
1386 0x34, 0x66, 0xf, 0x59, 0, 0,
1387 0x23, 0xf, 0x59, 0, 0,
1388 0x34, 0xf2, 0xf, 0x5a, 0, 0,
1389 0x34, 0xf3, 0xf, 0x5a, 0, 0,
1390 0x34, 0x66, 0xf, 0x5a, 0, 0,
1391 0x23, 0xf, 0x5a, 0, 0,
1392 0x34, 0x66, 0xf, 0x5b, 0, 0,
1393 0x34, 0xf3, 0xf, 0x5b, 0, 0,
1394 0x23, 0xf, 0x5b, 0, 0,
1395 0x34, 0xf2, 0xf, 0x5c, 0, 0,
1396 0x34, 0xf3, 0xf, 0x5c, 0, 0,
1397 0x34, 0x66, 0xf, 0x5c, 0, 0,
1398 0x23, 0xf, 0x5c, 0, 0,
1399 0x34, 0xf2, 0xf, 0x5d, 0, 0,
1400 0x34, 0xf3, 0xf, 0x5d, 0, 0,
1401 0x34, 0x66, 0xf, 0x5d, 0, 0,
1402 0x23, 0xf, 0x5d, 0, 0,
1403 0x34, 0xf2, 0xf, 0x5e, 0, 0,
1404 0x34, 0xf3, 0xf, 0x5e, 0, 0,
1405 0x34, 0x66, 0xf, 0x5e, 0, 0,
1406 0x23, 0xf, 0x5e, 0, 0,
1407 0x34, 0xf2, 0xf, 0x5f, 0, 0,
1408 0x34, 0xf3, 0xf, 0x5f, 0, 0,
1409 0x34, 0x66, 0xf, 0x5f, 0, 0,
1410 0x23, 0xf, 0x5f, 0, 0,
1411 0x34, 0x66, 0xf, 0x60, 0, 0,
1412 0x23, 0xf, 0x60, 0, 0,
1413 0x34, 0x66, 0xf, 0x61, 0, 0,
1414 0x23, 0xf, 0x61, 0, 0,
1415 0x34, 0x66, 0xf, 0x62, 0, 0,
1416 0x23, 0xf, 0x62, 0, 0,
1417 0x34, 0x66, 0xf, 0x63, 0, 0,
1418 0x23, 0xf, 0x63, 0, 0,
1419 0x34, 0x66, 0xf, 0x64, 0, 0,
1420 0x23, 0xf, 0x64, 0, 0,
1421 0x34, 0x66, 0xf, 0x65, 0, 0,
1422 0x23, 0xf, 0x65, 0, 0,
1423 0x34, 0x66, 0xf, 0x66, 0, 0,
1424 0x23, 0xf, 0x66, 0, 0,
1425 0x34, 0x66, 0xf, 0x67, 0, 0,
1426 0x23, 0xf, 0x67, 0, 0,
1427 0x34, 0x66, 0xf, 0x68, 0, 0,
1428 0x23, 0xf, 0x68, 0, 0,
1429 0x34, 0x66, 0xf, 0x69, 0, 0,
1430 0x23, 0xf, 0x69, 0, 0,
1431 0x34, 0x66, 0xf, 0x6a, 0, 0,
1432 0x23, 0xf, 0x6a, 0, 0,
1433 0x34, 0x66, 0xf, 0x6b, 0, 0,
1434 0x23, 0xf, 0x6b, 0, 0,
1435 0x34, 0x66, 0xf, 0x6c, 0, 0,
1436 0x34, 0x66, 0xf, 0x6d, 0, 0,
1437 0x34, 0x66, 0xf, 0x6e, 0, 0,
1438 0x23, 0xf, 0x6e, 0, 0,
1439 0x34, 0x66, 0xf, 0x6f, 0, 0,
1440 0x34, 0xf3, 0xf, 0x6f, 0, 0,
1441 0x23, 0xf, 0x6f, 0, 0,
1442 0x34, 0x66, 0xf, 0x70, 0, 0,
1443 0x34, 0xf2, 0xf, 0x70, 0, 0,
1444 0x34, 0xf3, 0xf, 0x70, 0, 0,
1445 0x23, 0xf, 0x70, 0, 0,
1446 0x34, 0x66, 0xf, 0x74, 0, 0,
1447 0x23, 0xf, 0x74, 0, 0,
1448 0x34, 0x66, 0xf, 0x75, 0, 0,
1449 0x23, 0xf, 0x75, 0, 0,
1450 0x34, 0x66, 0xf, 0x76, 0, 0,
1451 0x23, 0xf, 0x76, 0, 0,
1452 0x34, 0x66, 0xf, 0x7c, 0, 0,
1453 0x34, 0xf2, 0xf, 0x7c, 0, 0,
1454 0x34, 0x66, 0xf, 0x7d, 0, 0,
1455 0x34, 0xf2, 0xf, 0x7d, 0, 0,
1456 0x34, 0x66, 0xf, 0x7e, 0, 0,
1457 0x34, 0xf3, 0xf, 0x7e, 0, 0,
1458 0x23, 0xf, 0x7e, 0, 0,
1459 0x34, 0x66, 0xf, 0x7f, 0, 0,
1460 0x34, 0xf3, 0xf, 0x7f, 0, 0,
1461 0x23, 0xf, 0x7f, 0, 0,
1462 0x23, 0xf, 0xc3, 0, 0,
1463 0x34, 0x66, 0xf, 0xc4, 0, 0,
1464 0x23, 0xf, 0xc4, 0, 0,
1465 0x34, 0x66, 0xf, 0xc5, 0xc0, 0xc0,
1466 0x23, 0xf, 0xc5, 0xc0, 0xc0,
1467 0x34, 0x66, 0xf, 0xc6, 0, 0,
1468 0x23, 0xf, 0xc6, 0, 0,
1469 0x34, 0x66, 0xf, 0xd1, 0, 0,
1470 0x23, 0xf, 0xd1, 0, 0,
1471 0x34, 0x66, 0xf, 0xd2, 0, 0,
1472 0x23, 0xf, 0xd2, 0, 0,
1473 0x34, 0x66, 0xf, 0xd3, 0, 0,
1474 0x23, 0xf, 0xd3, 0, 0,
1475 0x34, 0x66, 0xf, 0xd4, 0, 0,
1476 0x23, 0xf, 0xd4, 0, 0,
1477 0x34, 0x66, 0xf, 0xd5, 0, 0,
1478 0x23, 0xf, 0xd5, 0, 0,
1479 0x34, 0x66, 0xf, 0xd6, 0, 0,
1480 0x34, 0xf2, 0xf, 0xd6, 0xc0, 0xc0,
1481 0x34, 0xf3, 0xf, 0xd6, 0xc0, 0xc0,
1482 0x34, 0x66, 0xf, 0xd7, 0xc0, 0xc0,
1483 0x23, 0xf, 0xd7, 0xc0, 0xc0,
1484 0x34, 0x66, 0xf, 0xd8, 0, 0,
1485 0x23, 0xf, 0xd8, 0, 0,
1486 0x34, 0x66, 0xf, 0xd9, 0, 0,
1487 0x23, 0xf, 0xd9, 0, 0,
1488 0x34, 0x66, 0xf, 0xda, 0, 0,
1489 0x23, 0xf, 0xda, 0, 0,
1490 0x34, 0x66, 0xf, 0xdc, 0, 0,
1491 0x23, 0xf, 0xdc, 0, 0,
1492 0x34, 0x66, 0xf, 0xdd, 0, 0,
1493 0x23, 0xf, 0xdd, 0, 0,
1494 0x34, 0x66, 0xf, 0xde, 0, 0,
1495 0x23, 0xf, 0xde, 0, 0,
1496 0x34, 0x66, 0xf, 0xe0, 0, 0,
1497 0x23, 0xf, 0xe0, 0, 0,
1498 0x34, 0x66, 0xf, 0xe1, 0, 0,
1499 0x23, 0xf, 0xe1, 0, 0,
1500 0x34, 0x66, 0xf, 0xe2, 0, 0,
1501 0x23, 0xf, 0xe2, 0, 0,
1502 0x34, 0x66, 0xf, 0xe3, 0, 0,
1503 0x23, 0xf, 0xe3, 0, 0,
1504 0x34, 0x66, 0xf, 0xe4, 0, 0,
1505 0x23, 0xf, 0xe4, 0, 0,
1506 0x34, 0x66, 0xf, 0xe5, 0, 0,
1507 0x23, 0xf, 0xe5, 0, 0,
1508 0x34, 0x66, 0xf, 0xe7, 0, 0,
1509 0x23, 0xf, 0xe7, 0, 0,
1510 0x34, 0x66, 0xf, 0xe8, 0, 0,
1511 0x23, 0xf, 0xe8, 0, 0,
1512 0x34, 0x66, 0xf, 0xe9, 0, 0,
1513 0x23, 0xf, 0xe9, 0, 0,
1514 0x34, 0x66, 0xf, 0xea, 0, 0,
1515 0x23, 0xf, 0xea, 0, 0,
1516 0x34, 0x66, 0xf, 0xec, 0, 0,
1517 0x23, 0xf, 0xec, 0, 0,
1518 0x34, 0x66, 0xf, 0xed, 0, 0,
1519 0x23, 0xf, 0xed, 0, 0,
1520 0x34, 0x66, 0xf, 0xee, 0, 0,
1521 0x23, 0xf, 0xee, 0, 0,
1522 0x34, 0xf2, 0xf, 0xf0, 0, 0,
1523 0x34, 0x66, 0xf, 0xf1, 0, 0,
1524 0x23, 0xf, 0xf1, 0, 0,
1525 0x34, 0x66, 0xf, 0xf2, 0, 0,
1526 0x23, 0xf, 0xf2, 0, 0,
1527 0x34, 0x66, 0xf, 0xf3, 0, 0,
1528 0x23, 0xf, 0xf3, 0, 0,
1529 0x34, 0x66, 0xf, 0xf4, 0, 0,
1530 0x23, 0xf, 0xf4, 0, 0,
1531 0x34, 0x66, 0xf, 0xf6, 0, 0,
1532 0x23, 0xf, 0xf6, 0, 0,
1533 0x34, 0x66, 0xf, 0xf7, 0xc0, 0xc0,
1534 0x23, 0xf, 0xf7, 0xc0, 0xc0,
1535 0x34, 0x66, 0xf, 0xf8, 0, 0,
1536 0x23, 0xf, 0xf8, 0, 0,
1537 0x34, 0x66, 0xf, 0xf9, 0, 0,
1538 0x23, 0xf, 0xf9, 0, 0,
1539 0x34, 0x66, 0xf, 0xfa, 0, 0,
1540 0x23, 0xf, 0xfa, 0, 0,
1541 0x34, 0x66, 0xf, 0xfb, 0, 0,
1542 0x23, 0xf, 0xfb, 0, 0,
1543 0x34, 0x66, 0xf, 0xfc, 0, 0,
1544 0x23, 0xf, 0xfc, 0, 0,
1545 0x34, 0x66, 0xf, 0xfd, 0, 0,
1546 0x23, 0xf, 0xfd, 0, 0,
1547 0x34, 0x66, 0xf, 0xfe, 0, 0,
1548 0x23, 0xf, 0xfe, 0, 0,
1549 0x45, 0x66, 0xf, 0x38, 0, 0, 0,
1550 0x34, 0xf, 0x38, 0, 0, 0,
1551 0x45, 0x66, 0xf, 0x38, 0x1, 0, 0,
1552 0x34, 0xf, 0x38, 0x1, 0, 0,
1553 0x45, 0x66, 0xf, 0x38, 0x2, 0, 0,
1554 0x34, 0xf, 0x38, 0x2, 0, 0,
1555 0x45, 0x66, 0xf, 0x38, 0x3, 0, 0,
1556 0x34, 0xf, 0x38, 0x3, 0, 0,
1557 0x45, 0x66, 0xf, 0x38, 0x4, 0, 0,
1558 0x34, 0xf, 0x38, 0x4, 0, 0,
1559 0x45, 0x66, 0xf, 0x38, 0x5, 0, 0,
1560 0x34, 0xf, 0x38, 0x5, 0, 0,
1561 0x45, 0x66, 0xf, 0x38, 0x6, 0, 0,
1562 0x34, 0xf, 0x38, 0x6, 0, 0,
1563 0x45, 0x66, 0xf, 0x38, 0x7, 0, 0,
1564 0x34, 0xf, 0x38, 0x7, 0, 0,
1565 0x45, 0x66, 0xf, 0x38, 0x8, 0, 0,
1566 0x34, 0xf, 0x38, 0x8, 0, 0,
1567 0x45, 0x66, 0xf, 0x38, 0x9, 0, 0,
1568 0x34, 0xf, 0x38, 0x9, 0, 0,
1569 0x45, 0x66, 0xf, 0x38, 0xa, 0, 0,
1570 0x34, 0xf, 0x38, 0xa, 0, 0,
1571 0x45, 0x66, 0xf, 0x38, 0xb, 0, 0,
1572 0x34, 0xf, 0x38, 0xb, 0, 0,
1573 0x45, 0x66, 0xf, 0x38, 0x1c, 0, 0,
1574 0x34, 0xf, 0x38, 0x1c, 0, 0,
1575 0x45, 0x66, 0xf, 0x38, 0x1d, 0, 0,
1576 0x34, 0xf, 0x38, 0x1d, 0, 0,
1577 0x45, 0x66, 0xf, 0x38, 0x1e, 0, 0,
1578 0x34, 0xf, 0x38, 0x1e, 0, 0,
1579 0x45, 0x66, 0xf, 0x3a, 0xf, 0, 0,
1580 0x34, 0xf, 0x3a, 0xf, 0, 0,
1581 0x34, 0x66, 0xf, 0xc7, 0x38, 0x30,
1582 0x34, 0xf3, 0xf, 0xc7, 0x38, 0x30,
1583 0x23, 0xf, 0xc7, 0x38, 0x30,
1584 0x23, 0xf, 0xc7, 0x38, 0x38,
1585 0x34, 0x66, 0xf, 0x71, 0xf8, 0xd0,
1586 0x23, 0xf, 0x71, 0xf8, 0xd0,
1587 0x34, 0x66, 0xf, 0x71, 0xf8, 0xe0,
1588 0x23, 0xf, 0x71, 0xf8, 0xe0,
1589 0x34, 0x66, 0xf, 0x71, 0xf8, 0xf0,
1590 0x23, 0xf, 0x71, 0xf8, 0xf0,
1591 0x34, 0x66, 0xf, 0x72, 0xf8, 0xd0,
1592 0x23, 0xf, 0x72, 0xf8, 0xd0,
1593 0x34, 0x66, 0xf, 0x72, 0xf8, 0xe0,
1594 0x23, 0xf, 0x72, 0xf8, 0xe0,
1595 0x34, 0x66, 0xf, 0x72, 0xf8, 0xf0,
1596 0x23, 0xf, 0x72, 0xf8, 0xf0,
1597 0x34, 0x66, 0xf, 0x73, 0xf8, 0xd0,
1598 0x23, 0xf, 0x73, 0xf8, 0xd0,
1599 0x34, 0x66, 0xf, 0x73, 0xf8, 0xd8,
1600 0x34, 0x66, 0xf, 0x73, 0xf8, 0xf0,
1601 0x23, 0xf, 0x73, 0xf8, 0xf0,
1602 0x34, 0x66, 0xf, 0x73, 0xf8, 0xf8,
1603 0x33, 0xf, 0xae, 0xe8,
1604 0x33, 0xf, 0xae, 0xf0,
1605 0x33, 0xf, 0xae, 0xf8,
1606 0x23, 0xf, 0xae, 0x38, 0x38,
1607 0x23, 0xf, 0xf, 0, 0,
1608 0x45, 0x66, 0xf, 0x3a, 0xc, 0, 0,
1609 0x45, 0x66, 0xf, 0x3a, 0xd, 0, 0,
1610 0x45, 0x66, 0xf, 0x38, 0x14, 0, 0,
1611 0x45, 0x66, 0xf, 0x38, 0x15, 0, 0,
1612 0x45, 0x66, 0xf, 0x3a, 0x40, 0, 0,
1613 0x45, 0x66, 0xf, 0x3a, 0x41, 0, 0,
1614 0x45, 0x66, 0xf, 0x3a, 0x21, 0, 0,
1615 0x45, 0x66, 0xf, 0x38, 0x2a, 0, 0,
1616 0x45, 0x66, 0xf, 0x3a, 0x42, 0, 0,
1617 0x45, 0x66, 0xf, 0x38, 0x2b, 0, 0,
1618 0x45, 0x66, 0xf, 0x38, 0x10, 0, 0,
1619 0x45, 0x66, 0xf, 0x3a, 0xe, 0, 0,
1620 0x45, 0x66, 0xf, 0x38, 0x29, 0, 0,
1621 0x45, 0x66, 0xf, 0x3a, 0x61, 0, 0,
1622 0x45, 0x66, 0xf, 0x3a, 0x60, 0, 0,
1623 0x45, 0x66, 0xf, 0x3a, 0x63, 0, 0,
1624 0x45, 0x66, 0xf, 0x3a, 0x62, 0, 0,
1625 0x45, 0x66, 0xf, 0x38, 0x37, 0, 0,
1626 0x45, 0x66, 0xf, 0x38, 0x41, 0, 0,
1627 0x45, 0x66, 0xf, 0x3a, 0x20, 0, 0,
1628 0x45, 0x66, 0xf, 0x3a, 0x22, 0, 0,
1629 0x45, 0x66, 0xf, 0x38, 0x3c, 0, 0,
1630 0x45, 0x66, 0xf, 0x38, 0x3d, 0, 0,
1631 0x45, 0x66, 0xf, 0x38, 0x3f, 0, 0,
1632 0x45, 0x66, 0xf, 0x38, 0x3e, 0, 0,
1633 0x45, 0x66, 0xf, 0x38, 0x38, 0, 0,
1634 0x45, 0x66, 0xf, 0x38, 0x39, 0, 0,
1635 0x45, 0x66, 0xf, 0x38, 0x3b, 0, 0,
1636 0x45, 0x66, 0xf, 0x38, 0x3a, 0, 0,
1637 0x45, 0x66, 0xf, 0x38, 0x20, 0, 0,
1638 0x45, 0x66, 0xf, 0x38, 0x21, 0, 0,
1639 0x45, 0x66, 0xf, 0x38, 0x22, 0, 0,
1640 0x45, 0x66, 0xf, 0x38, 0x23, 0, 0,
1641 0x45, 0x66, 0xf, 0x38, 0x24, 0, 0,
1642 0x45, 0x66, 0xf, 0x38, 0x25, 0, 0,
1643 0x45, 0x66, 0xf, 0x38, 0x30, 0, 0,
1644 0x45, 0x66, 0xf, 0x38, 0x31, 0, 0,
1645 0x45, 0x66, 0xf, 0x38, 0x32, 0, 0,
1646 0x45, 0x66, 0xf, 0x38, 0x33, 0, 0,
1647 0x45, 0x66, 0xf, 0x38, 0x34, 0, 0,
1648 0x45, 0x66, 0xf, 0x38, 0x35, 0, 0,
1649 0x45, 0x66, 0xf, 0x38, 0x28, 0, 0,
1650 0x45, 0x66, 0xf, 0x38, 0x40, 0, 0,
1651 0x45, 0x66, 0xf, 0x38, 0x17, 0, 0,
1652 0x45, 0x66, 0xf, 0x3a, 0x8, 0, 0,
1653 0x45, 0x66, 0xf, 0x3a, 0x9, 0, 0,
1654 0x45, 0x66, 0xf, 0x3a, 0xa, 0, 0,
1655 0x45, 0x66, 0xf, 0x3a, 0xb, 0, 0,
1656 0x1, 0xe7, 0x7,
1657};
diff --git a/meta/recipes-devtools/elfutils/elfutils/m68k_backend.diff b/meta/recipes-devtools/elfutils/elfutils/m68k_backend.diff
new file mode 100644
index 0000000000..5b621f92ff
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils/m68k_backend.diff
@@ -0,0 +1,309 @@
1Upstream-Status: Backport
2
3Index: elfutils-0.146/backends/m68k_init.c
4===================================================================
5--- /dev/null 1970-01-01 00:00:00.000000000 +0000
6+++ elfutils-0.146/backends/m68k_init.c 2010-04-24 10:11:38.000000000 +0000
7@@ -0,0 +1,49 @@
8+/* Initialization of m68k specific backend library.
9+ Copyright (C) 2007 Kurt Roeckx <kurt@roeckx.be>
10+
11+ This software is free software; you can redistribute it and/or modify
12+ it under the terms of the GNU General Public License as published by the
13+ Free Software Foundation; version 2 of the License.
14+
15+ This softare is distributed in the hope that it will be useful, but
16+ WITHOUT ANY WARRANTY; without even the implied warranty of
17+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18+ General Public License for more details.
19+
20+ You should have received a copy of the GNU General Public License along
21+ with this software; if not, write to the Free Software Foundation,
22+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
23+
24+*/
25+
26+#ifdef HAVE_CONFIG_H
27+# include <config.h>
28+#endif
29+
30+#define BACKEND m68k_
31+#define RELOC_PREFIX R_68K_
32+#include "libebl_CPU.h"
33+
34+/* This defines the common reloc hooks based on m68k_reloc.def. */
35+#include "common-reloc.c"
36+
37+
38+const char *
39+m68k_init (elf, machine, eh, ehlen)
40+ Elf *elf __attribute__ ((unused));
41+ GElf_Half machine __attribute__ ((unused));
42+ Ebl *eh;
43+ size_t ehlen;
44+{
45+ /* Check whether the Elf_BH object has a sufficent size. */
46+ if (ehlen < sizeof (Ebl))
47+ return NULL;
48+
49+ /* We handle it. */
50+ eh->name = "m68k";
51+ m68k_init_reloc (eh);
52+ HOOK (eh, reloc_simple_type);
53+ HOOK (eh, register_info);
54+
55+ return MODVERSION;
56+}
57Index: elfutils-0.146/backends/m68k_regs.c
58===================================================================
59--- /dev/null 1970-01-01 00:00:00.000000000 +0000
60+++ elfutils-0.146/backends/m68k_regs.c 2010-04-24 10:11:38.000000000 +0000
61@@ -0,0 +1,106 @@
62+/* Register names and numbers for m68k DWARF.
63+ Copyright (C) 2007 Kurt Roeckx <kurt@roeckx.be>
64+
65+ This software is free software; you can redistribute it and/or modify
66+ it under the terms of the GNU General Public License as published by the
67+ Free Software Foundation; version 2 of the License.
68+
69+ This software is distributed in the hope that it will be useful, but
70+ WITHOUT ANY WARRANTY; without even the implied warranty of
71+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
72+ General Public License for more details.
73+
74+ You should have received a copy of the GNU General Public License along
75+ with this software; if not, write to the Free Software Foundation,
76+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
77+
78+ */
79+
80+#ifdef HAVE_CONFIG_H
81+# include <config.h>
82+#endif
83+
84+#include <string.h>
85+#include <dwarf.h>
86+
87+#define BACKEND m68k_
88+#include "libebl_CPU.h"
89+
90+ssize_t
91+m68k_register_info (Ebl *ebl __attribute__ ((unused)),
92+ int regno, char *name, size_t namelen,
93+ const char **prefix, const char **setname,
94+ int *bits, int *type)
95+{
96+ if (name == NULL)
97+ return 25;
98+
99+ if (regno < 0 || regno > 24 || namelen < 5)
100+ return -1;
101+
102+ *prefix = "%";
103+ *bits = 32;
104+ *type = (regno < 8 ? DW_ATE_signed
105+ : regno < 16 ? DW_ATE_address : DW_ATE_float);
106+
107+ if (regno < 8)
108+ {
109+ *setname = "integer";
110+ }
111+ else if (regno < 16)
112+ {
113+ *setname = "address";
114+ }
115+ else if (regno < 24)
116+ {
117+ *setname = "FPU";
118+ }
119+ else
120+ {
121+ *setname = "address";
122+ *type = DW_ATE_address;
123+ }
124+
125+ switch (regno)
126+ {
127+ case 0 ... 7:
128+ name[0] = 'd';
129+ name[1] = regno + '0';
130+ namelen = 2;
131+ break;
132+
133+ case 8 ... 13:
134+ name[0] = 'a';
135+ name[1] = regno - 8 + '0';
136+ namelen = 2;
137+ break;
138+
139+ case 14:
140+ name[0] = 'f';
141+ name[1] = 'p';
142+ namelen = 2;
143+ break;
144+
145+ case 15:
146+ name[0] = 's';
147+ name[1] = 'p';
148+ namelen = 2;
149+ break;
150+
151+ case 16 ... 23:
152+ name[0] = 'f';
153+ name[1] = 'p';
154+ name[2] = regno - 16 + '0';
155+ namelen = 3;
156+ break;
157+
158+ case 24:
159+ name[0] = 'p';
160+ name[1] = 'c';
161+ namelen = 2;
162+ }
163+
164+ name[namelen++] = '\0';
165+ return namelen;
166+}
167+
168Index: elfutils-0.146/backends/m68k_reloc.def
169===================================================================
170--- /dev/null 1970-01-01 00:00:00.000000000 +0000
171+++ elfutils-0.146/backends/m68k_reloc.def 2010-04-24 10:11:38.000000000 +0000
172@@ -0,0 +1,45 @@
173+/* List the relocation types for m68k. -*- C -*-
174+ Copyright (C) 2007 Kurt Roeckx <kurt@roeckx.be>
175+
176+ This software is free software; you can redistribute it and/or modify
177+ it under the terms of the GNU General Public License as published by the
178+ Free Software Foundation; version 2 of the License.
179+
180+ This software is distributed in the hope that it will be useful, but
181+ WITHOUT ANY WARRANTY; without even the implied warranty of
182+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
183+ General Public License for more details.
184+
185+ You should have received a copy of the GNU General Public License along
186+ with this software; if not, write to the Free Software Foundation,
187+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
188+*/
189+
190+/* NAME, REL|EXEC|DYN */
191+
192+RELOC_TYPE (NONE, 0)
193+RELOC_TYPE (32, REL|EXEC|DYN)
194+RELOC_TYPE (16, REL)
195+RELOC_TYPE (8, REL)
196+RELOC_TYPE (PC32, REL|EXEC|DYN)
197+RELOC_TYPE (PC16, REL)
198+RELOC_TYPE (PC8, REL)
199+RELOC_TYPE (GOT32, REL)
200+RELOC_TYPE (GOT16, REL)
201+RELOC_TYPE (GOT8, REL)
202+RELOC_TYPE (GOT32O, REL)
203+RELOC_TYPE (GOT16O, REL)
204+RELOC_TYPE (GOT8O, REL)
205+RELOC_TYPE (PLT32, REL)
206+RELOC_TYPE (PLT16, REL)
207+RELOC_TYPE (PLT8, REL)
208+RELOC_TYPE (PLT32O, REL)
209+RELOC_TYPE (PLT16O, REL)
210+RELOC_TYPE (PLT8O, REL)
211+RELOC_TYPE (COPY, EXEC)
212+RELOC_TYPE (GLOB_DAT, EXEC|DYN)
213+RELOC_TYPE (JMP_SLOT, EXEC|DYN)
214+RELOC_TYPE (RELATIVE, EXEC|DYN)
215+RELOC_TYPE (GNU_VTINHERIT, REL)
216+RELOC_TYPE (GNU_VTENTRY, REL)
217+
218Index: elfutils-0.146/libelf/elf.h
219===================================================================
220--- elfutils-0.146.orig/libelf/elf.h 2010-04-24 10:11:13.000000000 +0000
221+++ elfutils-0.146/libelf/elf.h 2010-04-24 10:13:50.000000000 +0000
222@@ -1125,6 +1125,9 @@
223 #define R_68K_GLOB_DAT 20 /* Create GOT entry */
224 #define R_68K_JMP_SLOT 21 /* Create PLT entry */
225 #define R_68K_RELATIVE 22 /* Adjust by program base */
226+/* The next 2 are GNU extensions to enable C++ vtable garbage collection. */
227+#define R_68K_GNU_VTINHERIT 23
228+#define R_68K_GNU_VTENTRY 24
229 #define R_68K_TLS_GD32 25 /* 32 bit GOT offset for GD */
230 #define R_68K_TLS_GD16 26 /* 16 bit GOT offset for GD */
231 #define R_68K_TLS_GD8 27 /* 8 bit GOT offset for GD */
232Index: elfutils-0.146/backends/Makefile.am
233===================================================================
234--- elfutils-0.146.orig/backends/Makefile.am 2010-04-24 10:11:23.000000000 +0000
235+++ elfutils-0.146/backends/Makefile.am 2010-04-24 10:11:38.000000000 +0000
236@@ -29,11 +29,12 @@
237 -I$(top_srcdir)/libelf -I$(top_srcdir)/libdw
238
239
240-modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 parisc mips
241+modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 parisc mips m68k
242 libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \
243 libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \
244 libebl_sparc_pic.a libebl_ppc_pic.a libebl_ppc64_pic.a \
245- libebl_s390_pic.a libebl_parisc_pic.a libebl_mips_pic.a
246+ libebl_s390_pic.a libebl_parisc_pic.a libebl_mips_pic.a \
247+ libebl_m68k_pic.a
248 noinst_LIBRARIES = $(libebl_pic)
249 noinst_DATA = $(libebl_pic:_pic.a=.so)
250
251@@ -103,6 +104,10 @@
252 libebl_mips_pic_a_SOURCES = $(mips_SRCS)
253 am_libebl_mips_pic_a_OBJECTS = $(mips_SRCS:.c=.os)
254
255+m68k_SRCS = m68k_init.c m68k_symbol.c m68k_regs.c
256+libebl_m68k_pic_a_SOURCES = $(m68k_SRCS)
257+am_libebl_m68k_pic_a_OBJECTS = $(m68k_SRCS:.c=.os)
258+
259 libebl_%.so libebl_%.map: libebl_%_pic.a $(libelf) $(libdw)
260 @rm -f $(@:.so=.map)
261 echo 'ELFUTILS_$(PACKAGE_VERSION) { global: $*_init; local: *; };' \
262Index: elfutils-0.146/backends/m68k_symbol.c
263===================================================================
264--- /dev/null 1970-01-01 00:00:00.000000000 +0000
265+++ elfutils-0.146/backends/m68k_symbol.c 2010-04-24 10:11:38.000000000 +0000
266@@ -0,0 +1,43 @@
267+/* m68k specific symbolic name handling.
268+ Copyright (C) 2007 Kurt Roeckx <kurt@roeckx.be>
269+
270+ This software is free software; you can redistribute it and/or modify
271+ it under the terms of the GNU General Public License as published by the
272+ Free Software Foundation; version 2 of the License.
273+
274+ This software distributed in the hope that it will be useful, but
275+ WITHOUT ANY WARRANTY; without even the implied warranty of
276+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
277+ General Public License for more details.
278+
279+ You should have received a copy of the GNU General Public License along
280+ with this software; if not, write to the Free Software Foundation,
281+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
282+*/
283+
284+#ifdef HAVE_CONFIG_H
285+# include <config.h>
286+#endif
287+
288+#include <elf.h>
289+#include <stddef.h>
290+
291+#define BACKEND m68k_
292+#include "libebl_CPU.h"
293+
294+/* Check for the simple reloc types. */
295+Elf_Type
296+m68k_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type)
297+{
298+ switch (type)
299+ {
300+ case R_68K_32:
301+ return ELF_T_SWORD;
302+ case R_68K_16:
303+ return ELF_T_HALF;
304+ case R_68K_8:
305+ return ELF_T_BYTE;
306+ default:
307+ return ELF_T_NUM;
308+ }
309+}
diff --git a/meta/recipes-devtools/elfutils/elfutils/mempcpy.patch b/meta/recipes-devtools/elfutils/elfutils/mempcpy.patch
new file mode 100644
index 0000000000..24e31fa5b3
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils/mempcpy.patch
@@ -0,0 +1,24 @@
1
2uclibc does not export __mempcpy like glibc so we alias it here.
3This patch may make sense for upstream but elfutils uses more
4glibc specific features like obstack_printf which are missing in
5uclibc they need to be fixed along to make it work all the way
6
7Upstream-Status: Inappropriate[Elfutils uses more glibc specific features]
8
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10
11Index: elfutils-0.148/libelf/elf_begin.c
12===================================================================
13--- elfutils-0.148.orig/libelf/elf_begin.c
14+++ elfutils-0.148/libelf/elf_begin.c
15@@ -68,6 +68,9 @@
16 #include "libelfP.h"
17 #include "common.h"
18
19+#ifdef __UCLIBC__
20+#define __mempcpy mempcpy
21+#endif
22
23 /* Create descriptor for archive in memory. */
24 static inline Elf *
diff --git a/meta/recipes-devtools/elfutils/elfutils/mips_backend.diff b/meta/recipes-devtools/elfutils/elfutils/mips_backend.diff
new file mode 100644
index 0000000000..3f81a75b1a
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils/mips_backend.diff
@@ -0,0 +1,713 @@
1Upstream-Status: Backport
2
3Index: elfutils-0.145/backends/mips_init.c
4===================================================================
5--- /dev/null 1970-01-01 00:00:00.000000000 +0000
6+++ elfutils-0.145/backends/mips_init.c 2010-02-24 18:57:35.000000000 +0000
7@@ -0,0 +1,60 @@
8+/* Initialization of mips specific backend library.
9+ Copyright (C) 2006 Red Hat, Inc.
10+ This file is part of Red Hat elfutils.
11+
12+ Red Hat elfutils is free software; you can redistribute it and/or modify
13+ it under the terms of the GNU General Public License as published by the
14+ Free Software Foundation; version 2 of the License.
15+
16+ Red Hat elfutils is distributed in the hope that it will be useful, but
17+ WITHOUT ANY WARRANTY; without even the implied warranty of
18+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19+ General Public License for more details.
20+
21+ You should have received a copy of the GNU General Public License along
22+ with Red Hat elfutils; if not, write to the Free Software Foundation,
23+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
24+
25+ Red Hat elfutils is an included package of the Open Invention Network.
26+ An included package of the Open Invention Network is a package for which
27+ Open Invention Network licensees cross-license their patents. No patent
28+ license is granted, either expressly or impliedly, by designation as an
29+ included package. Should you wish to participate in the Open Invention
30+ Network licensing program, please visit www.openinventionnetwork.com
31+ <http://www.openinventionnetwork.com>. */
32+
33+#ifdef HAVE_CONFIG_H
34+# include <config.h>
35+#endif
36+
37+#define BACKEND mips_
38+#define RELOC_PREFIX R_MIPS_
39+#include "libebl_CPU.h"
40+
41+/* This defines the common reloc hooks based on mips_reloc.def. */
42+#include "common-reloc.c"
43+
44+const char *
45+mips_init (elf, machine, eh, ehlen)
46+ Elf *elf __attribute__ ((unused));
47+ GElf_Half machine __attribute__ ((unused));
48+ Ebl *eh;
49+ size_t ehlen;
50+{
51+ /* Check whether the Elf_BH object has a sufficent size. */
52+ if (ehlen < sizeof (Ebl))
53+ return NULL;
54+
55+ /* We handle it. */
56+ if (machine == EM_MIPS)
57+ eh->name = "MIPS R3000 big-endian";
58+ else if (machine == EM_MIPS_RS3_LE)
59+ eh->name = "MIPS R3000 little-endian";
60+
61+ mips_init_reloc (eh);
62+ HOOK (eh, reloc_simple_type);
63+ HOOK (eh, return_value_location);
64+ HOOK (eh, register_info);
65+
66+ return MODVERSION;
67+}
68Index: elfutils-0.145/backends/mips_regs.c
69===================================================================
70--- /dev/null 1970-01-01 00:00:00.000000000 +0000
71+++ elfutils-0.145/backends/mips_regs.c 2010-02-24 18:57:35.000000000 +0000
72@@ -0,0 +1,104 @@
73+/* Register names and numbers for MIPS DWARF.
74+ Copyright (C) 2006 Red Hat, Inc.
75+ This file is part of Red Hat elfutils.
76+
77+ Red Hat elfutils is free software; you can redistribute it and/or modify
78+ it under the terms of the GNU General Public License as published by the
79+ Free Software Foundation; version 2 of the License.
80+
81+ Red Hat elfutils is distributed in the hope that it will be useful, but
82+ WITHOUT ANY WARRANTY; without even the implied warranty of
83+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
84+ General Public License for more details.
85+
86+ You should have received a copy of the GNU General Public License along
87+ with Red Hat elfutils; if not, write to the Free Software Foundation,
88+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
89+
90+ Red Hat elfutils is an included package of the Open Invention Network.
91+ An included package of the Open Invention Network is a package for which
92+ Open Invention Network licensees cross-license their patents. No patent
93+ license is granted, either expressly or impliedly, by designation as an
94+ included package. Should you wish to participate in the Open Invention
95+ Network licensing program, please visit www.openinventionnetwork.com
96+ <http://www.openinventionnetwork.com>. */
97+
98+#ifdef HAVE_CONFIG_H
99+# include <config.h>
100+#endif
101+
102+#include <string.h>
103+#include <dwarf.h>
104+
105+#define BACKEND mips_
106+#include "libebl_CPU.h"
107+
108+ssize_t
109+mips_register_info (Ebl *ebl __attribute__((unused)),
110+ int regno, char *name, size_t namelen,
111+ const char **prefix, const char **setname,
112+ int *bits, int *type)
113+{
114+ if (name == NULL)
115+ return 66;
116+
117+ if (regno < 0 || regno > 65 || namelen < 4)
118+ return -1;
119+
120+ *prefix = "$";
121+
122+ if (regno < 32)
123+ {
124+ *setname = "integer";
125+ *type = DW_ATE_signed;
126+ *bits = 32;
127+ if (regno < 32 + 10)
128+ {
129+ name[0] = regno + '0';
130+ namelen = 1;
131+ }
132+ else
133+ {
134+ name[0] = (regno / 10) + '0';
135+ name[1] = (regno % 10) + '0';
136+ namelen = 2;
137+ }
138+ }
139+ else if (regno < 64)
140+ {
141+ *setname = "FPU";
142+ *type = DW_ATE_float;
143+ *bits = 32;
144+ name[0] = 'f';
145+ if (regno < 32 + 10)
146+ {
147+ name[1] = (regno - 32) + '0';
148+ namelen = 2;
149+ }
150+ else
151+ {
152+ name[1] = (regno - 32) / 10 + '0';
153+ name[2] = (regno - 32) % 10 + '0';
154+ namelen = 3;
155+ }
156+ }
157+ else if (regno == 64)
158+ {
159+ *type = DW_ATE_signed;
160+ *bits = 32;
161+ name[0] = 'h';
162+ name[1] = 'i';
163+ namelen = 2;
164+ }
165+ else
166+ {
167+ *type = DW_ATE_signed;
168+ *bits = 32;
169+ name[0] = 'l';
170+ name[1] = 'o';
171+ namelen = 2;
172+ }
173+
174+ name[namelen++] = '\0';
175+ return namelen;
176+}
177Index: elfutils-0.145/backends/mips_reloc.def
178===================================================================
179--- /dev/null 1970-01-01 00:00:00.000000000 +0000
180+++ elfutils-0.145/backends/mips_reloc.def 2010-02-24 18:57:35.000000000 +0000
181@@ -0,0 +1,79 @@
182+/* List the relocation types for mips. -*- C -*-
183+ Copyright (C) 2006 Red Hat, Inc.
184+ This file is part of Red Hat elfutils.
185+
186+ Red Hat elfutils is free software; you can redistribute it and/or modify
187+ it under the terms of the GNU General Public License as published by the
188+ Free Software Foundation; version 2 of the License.
189+
190+ Red Hat elfutils is distributed in the hope that it will be useful, but
191+ WITHOUT ANY WARRANTY; without even the implied warranty of
192+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
193+ General Public License for more details.
194+
195+ You should have received a copy of the GNU General Public License along
196+ with Red Hat elfutils; if not, write to the Free Software Foundation,
197+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
198+
199+ Red Hat elfutils is an included package of the Open Invention Network.
200+ An included package of the Open Invention Network is a package for which
201+ Open Invention Network licensees cross-license their patents. No patent
202+ license is granted, either expressly or impliedly, by designation as an
203+ included package. Should you wish to participate in the Open Invention
204+ Network licensing program, please visit www.openinventionnetwork.com
205+ <http://www.openinventionnetwork.com>. */
206+
207+/* NAME, REL|EXEC|DYN */
208+
209+RELOC_TYPE (NONE, 0)
210+RELOC_TYPE (16, 0)
211+RELOC_TYPE (32, 0)
212+RELOC_TYPE (REL32, 0)
213+RELOC_TYPE (26, 0)
214+RELOC_TYPE (HI16, 0)
215+RELOC_TYPE (LO16, 0)
216+RELOC_TYPE (GPREL16, 0)
217+RELOC_TYPE (LITERAL, 0)
218+RELOC_TYPE (GOT16, 0)
219+RELOC_TYPE (PC16, 0)
220+RELOC_TYPE (CALL16, 0)
221+RELOC_TYPE (GPREL32, 0)
222+
223+RELOC_TYPE (SHIFT5, 0)
224+RELOC_TYPE (SHIFT6, 0)
225+RELOC_TYPE (64, 0)
226+RELOC_TYPE (GOT_DISP, 0)
227+RELOC_TYPE (GOT_PAGE, 0)
228+RELOC_TYPE (GOT_OFST, 0)
229+RELOC_TYPE (GOT_HI16, 0)
230+RELOC_TYPE (GOT_LO16, 0)
231+RELOC_TYPE (SUB, 0)
232+RELOC_TYPE (INSERT_A, 0)
233+RELOC_TYPE (INSERT_B, 0)
234+RELOC_TYPE (DELETE, 0)
235+RELOC_TYPE (HIGHER, 0)
236+RELOC_TYPE (HIGHEST, 0)
237+RELOC_TYPE (CALL_HI16, 0)
238+RELOC_TYPE (CALL_LO16, 0)
239+RELOC_TYPE (SCN_DISP, 0)
240+RELOC_TYPE (REL16, 0)
241+RELOC_TYPE (ADD_IMMEDIATE, 0)
242+RELOC_TYPE (PJUMP, 0)
243+RELOC_TYPE (RELGOT, 0)
244+RELOC_TYPE (JALR, 0)
245+RELOC_TYPE (TLS_DTPMOD32, 0)
246+RELOC_TYPE (TLS_DTPREL32, 0)
247+RELOC_TYPE (TLS_DTPMOD64, 0)
248+RELOC_TYPE (TLS_DTPREL64, 0)
249+RELOC_TYPE (TLS_GD, 0)
250+RELOC_TYPE (TLS_LDM, 0)
251+RELOC_TYPE (TLS_DTPREL_HI16, 0)
252+RELOC_TYPE (TLS_DTPREL_LO16, 0)
253+RELOC_TYPE (TLS_GOTTPREL, 0)
254+RELOC_TYPE (TLS_TPREL32, 0)
255+RELOC_TYPE (TLS_TPREL64, 0)
256+RELOC_TYPE (TLS_TPREL_HI16, 0)
257+RELOC_TYPE (TLS_TPREL_LO16, 0)
258+
259+#define NO_COPY_RELOC 1
260+#define NO_RELATIVE_RELOC 1
261Index: elfutils-0.145/backends/mips_retval.c
262===================================================================
263--- /dev/null 1970-01-01 00:00:00.000000000 +0000
264+++ elfutils-0.145/backends/mips_retval.c 2010-02-24 18:57:35.000000000 +0000
265@@ -0,0 +1,321 @@
266+/* Function return value location for Linux/mips ABI.
267+ Copyright (C) 2005 Red Hat, Inc.
268+ This file is part of Red Hat elfutils.
269+
270+ Red Hat elfutils is free software; you can redistribute it and/or modify
271+ it under the terms of the GNU General Public License as published by the
272+ Free Software Foundation; version 2 of the License.
273+
274+ Red Hat elfutils is distributed in the hope that it will be useful, but
275+ WITHOUT ANY WARRANTY; without even the implied warranty of
276+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
277+ General Public License for more details.
278+
279+ You should have received a copy of the GNU General Public License along
280+ with Red Hat elfutils; if not, write to the Free Software Foundation,
281+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
282+
283+ Red Hat elfutils is an included package of the Open Invention Network.
284+ An included package of the Open Invention Network is a package for which
285+ Open Invention Network licensees cross-license their patents. No patent
286+ license is granted, either expressly or impliedly, by designation as an
287+ included package. Should you wish to participate in the Open Invention
288+ Network licensing program, please visit www.openinventionnetwork.com
289+ <http://www.openinventionnetwork.com>. */
290+
291+#ifdef HAVE_CONFIG_H
292+# include <config.h>
293+#endif
294+
295+#include <string.h>
296+#include <assert.h>
297+#include <dwarf.h>
298+#include <elf.h>
299+
300+#include "../libebl/libeblP.h"
301+#include "../libdw/libdwP.h"
302+
303+#define BACKEND mips_
304+#include "libebl_CPU.h"
305+
306+/* The ABI of the file. Also see EF_MIPS_ABI2 above. */
307+#define EF_MIPS_ABI 0x0000F000
308+
309+/* The original o32 abi. */
310+#define E_MIPS_ABI_O32 0x00001000
311+
312+/* O32 extended to work on 64 bit architectures */
313+#define E_MIPS_ABI_O64 0x00002000
314+
315+/* EABI in 32 bit mode */
316+#define E_MIPS_ABI_EABI32 0x00003000
317+
318+/* EABI in 64 bit mode */
319+#define E_MIPS_ABI_EABI64 0x00004000
320+
321+/* All the possible MIPS ABIs. */
322+enum mips_abi
323+ {
324+ MIPS_ABI_UNKNOWN = 0,
325+ MIPS_ABI_N32,
326+ MIPS_ABI_O32,
327+ MIPS_ABI_N64,
328+ MIPS_ABI_O64,
329+ MIPS_ABI_EABI32,
330+ MIPS_ABI_EABI64,
331+ MIPS_ABI_LAST
332+ };
333+
334+/* Find the mips ABI of the current file */
335+enum mips_abi find_mips_abi(Elf *elf)
336+{
337+ GElf_Ehdr ehdr_mem;
338+ GElf_Ehdr *ehdr = gelf_getehdr (elf, &ehdr_mem);
339+
340+ if (ehdr == NULL)
341+ return MIPS_ABI_LAST;
342+
343+ GElf_Word elf_flags = ehdr->e_flags;
344+
345+ /* Check elf_flags to see if it specifies the ABI being used. */
346+ switch ((elf_flags & EF_MIPS_ABI))
347+ {
348+ case E_MIPS_ABI_O32:
349+ return MIPS_ABI_O32;
350+ case E_MIPS_ABI_O64:
351+ return MIPS_ABI_O64;
352+ case E_MIPS_ABI_EABI32:
353+ return MIPS_ABI_EABI32;
354+ case E_MIPS_ABI_EABI64:
355+ return MIPS_ABI_EABI64;
356+ default:
357+ if ((elf_flags & EF_MIPS_ABI2))
358+ return MIPS_ABI_N32;
359+ }
360+
361+ /* GCC creates a pseudo-section whose name describes the ABI. */
362+ size_t shstrndx;
363+ if (elf_getshdrstrndx (elf, &shstrndx) < 0)
364+ return MIPS_ABI_LAST;
365+
366+ const char *name;
367+ Elf_Scn *scn = NULL;
368+ while ((scn = elf_nextscn (elf, scn)) != NULL)
369+ {
370+ GElf_Shdr shdr_mem;
371+ GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
372+ if (shdr == NULL)
373+ return MIPS_ABI_LAST;
374+
375+ name = elf_strptr (elf, shstrndx, shdr->sh_name) ?: "";
376+ if (strncmp (name, ".mdebug.", 8) != 0)
377+ continue;
378+
379+ if (strcmp (name, ".mdebug.abi32") == 0)
380+ return MIPS_ABI_O32;
381+ else if (strcmp (name, ".mdebug.abiN32") == 0)
382+ return MIPS_ABI_N32;
383+ else if (strcmp (name, ".mdebug.abi64") == 0)
384+ return MIPS_ABI_N64;
385+ else if (strcmp (name, ".mdebug.abiO64") == 0)
386+ return MIPS_ABI_O64;
387+ else if (strcmp (name, ".mdebug.eabi32") == 0)
388+ return MIPS_ABI_EABI32;
389+ else if (strcmp (name, ".mdebug.eabi64") == 0)
390+ return MIPS_ABI_EABI64;
391+ else
392+ return MIPS_ABI_UNKNOWN;
393+ }
394+
395+ return MIPS_ABI_UNKNOWN;
396+}
397+
398+unsigned int
399+mips_abi_regsize (enum mips_abi abi)
400+{
401+ switch (abi)
402+ {
403+ case MIPS_ABI_EABI32:
404+ case MIPS_ABI_O32:
405+ return 4;
406+ case MIPS_ABI_N32:
407+ case MIPS_ABI_N64:
408+ case MIPS_ABI_O64:
409+ case MIPS_ABI_EABI64:
410+ return 8;
411+ case MIPS_ABI_UNKNOWN:
412+ case MIPS_ABI_LAST:
413+ default:
414+ return 0;
415+ }
416+}
417+
418+
419+/* $v0 or pair $v0, $v1 */
420+static const Dwarf_Op loc_intreg_o32[] =
421+ {
422+ { .atom = DW_OP_reg2 }, { .atom = DW_OP_piece, .number = 4 },
423+ { .atom = DW_OP_reg3 }, { .atom = DW_OP_piece, .number = 4 },
424+ };
425+
426+static const Dwarf_Op loc_intreg[] =
427+ {
428+ { .atom = DW_OP_reg2 }, { .atom = DW_OP_piece, .number = 8 },
429+ { .atom = DW_OP_reg3 }, { .atom = DW_OP_piece, .number = 8 },
430+ };
431+#define nloc_intreg 1
432+#define nloc_intregpair 4
433+
434+/* $f0 (float), or pair $f0, $f1 (double).
435+ * f2/f3 are used for COMPLEX (= 2 doubles) returns in Fortran */
436+static const Dwarf_Op loc_fpreg_o32[] =
437+ {
438+ { .atom = DW_OP_regx, .number = 32 }, { .atom = DW_OP_piece, .number = 4 },
439+ { .atom = DW_OP_regx, .number = 33 }, { .atom = DW_OP_piece, .number = 4 },
440+ { .atom = DW_OP_regx, .number = 34 }, { .atom = DW_OP_piece, .number = 4 },
441+ { .atom = DW_OP_regx, .number = 35 }, { .atom = DW_OP_piece, .number = 4 },
442+ };
443+
444+/* $f0, or pair $f0, $f2. */
445+static const Dwarf_Op loc_fpreg[] =
446+ {
447+ { .atom = DW_OP_regx, .number = 32 }, { .atom = DW_OP_piece, .number = 8 },
448+ { .atom = DW_OP_regx, .number = 34 }, { .atom = DW_OP_piece, .number = 8 },
449+ };
450+#define nloc_fpreg 1
451+#define nloc_fpregpair 4
452+#define nloc_fpregquad 8
453+
454+/* The return value is a structure and is actually stored in stack space
455+ passed in a hidden argument by the caller. But, the compiler
456+ helpfully returns the address of that space in $v0. */
457+static const Dwarf_Op loc_aggregate[] =
458+ {
459+ { .atom = DW_OP_breg2, .number = 0 }
460+ };
461+#define nloc_aggregate 1
462+
463+int
464+mips_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
465+{
466+ /* First find the ABI used by the elf object */
467+ enum mips_abi abi = find_mips_abi(functypedie->cu->dbg->elf);
468+
469+ /* Something went seriously wrong while trying to figure out the ABI */
470+ if (abi == MIPS_ABI_LAST)
471+ return -1;
472+
473+ /* We couldn't identify the ABI, but the file seems valid */
474+ if (abi == MIPS_ABI_UNKNOWN)
475+ return -2;
476+
477+ /* Can't handle EABI variants */
478+ if ((abi == MIPS_ABI_EABI32) || (abi == MIPS_ABI_EABI64))
479+ return -2;
480+
481+ unsigned int regsize = mips_abi_regsize (abi);
482+ if (!regsize)
483+ return -2;
484+
485+ /* Start with the function's type, and get the DW_AT_type attribute,
486+ which is the type of the return value. */
487+
488+ Dwarf_Attribute attr_mem;
489+ Dwarf_Attribute *attr = dwarf_attr_integrate (functypedie, DW_AT_type, &attr_mem);
490+ if (attr == NULL)
491+ /* The function has no return value, like a `void' function in C. */
492+ return 0;
493+
494+ Dwarf_Die die_mem;
495+ Dwarf_Die *typedie = dwarf_formref_die (attr, &die_mem);
496+ int tag = dwarf_tag (typedie);
497+
498+ /* Follow typedefs and qualifiers to get to the actual type. */
499+ while (tag == DW_TAG_typedef
500+ || tag == DW_TAG_const_type || tag == DW_TAG_volatile_type
501+ || tag == DW_TAG_restrict_type || tag == DW_TAG_mutable_type)
502+ {
503+ attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem);
504+ typedie = dwarf_formref_die (attr, &die_mem);
505+ tag = dwarf_tag (typedie);
506+ }
507+
508+ switch (tag)
509+ {
510+ case -1:
511+ return -1;
512+
513+ case DW_TAG_subrange_type:
514+ if (! dwarf_hasattr_integrate (typedie, DW_AT_byte_size))
515+ {
516+ attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem);
517+ typedie = dwarf_formref_die (attr, &die_mem);
518+ tag = dwarf_tag (typedie);
519+ }
520+ /* Fall through. */
521+
522+ case DW_TAG_base_type:
523+ case DW_TAG_enumeration_type:
524+ case DW_TAG_pointer_type:
525+ case DW_TAG_ptr_to_member_type:
526+ {
527+ Dwarf_Word size;
528+ if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_byte_size,
529+ &attr_mem), &size) != 0)
530+ {
531+ if (tag == DW_TAG_pointer_type || tag == DW_TAG_ptr_to_member_type)
532+ size = regsize;
533+ else
534+ return -1;
535+ }
536+ if (tag == DW_TAG_base_type)
537+ {
538+ Dwarf_Word encoding;
539+ if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_encoding,
540+ &attr_mem), &encoding) != 0)
541+ return -1;
542+
543+#define ABI_LOC(loc, regsize) ((regsize) == 4 ? (loc ## _o32) : (loc))
544+
545+ if (encoding == DW_ATE_float)
546+ {
547+ *locp = ABI_LOC(loc_fpreg, regsize);
548+ if (size <= regsize)
549+ return nloc_fpreg;
550+
551+ if (size <= 2*regsize)
552+ return nloc_fpregpair;
553+
554+ if (size <= 4*regsize && abi == MIPS_ABI_O32)
555+ return nloc_fpregquad;
556+
557+ goto aggregate;
558+ }
559+ }
560+ *locp = ABI_LOC(loc_intreg, regsize);
561+ if (size <= regsize)
562+ return nloc_intreg;
563+ if (size <= 2*regsize)
564+ return nloc_intregpair;
565+
566+ /* Else fall through. Shouldn't happen though (at least with gcc) */
567+ }
568+
569+ case DW_TAG_structure_type:
570+ case DW_TAG_class_type:
571+ case DW_TAG_union_type:
572+ case DW_TAG_array_type:
573+ aggregate:
574+ /* XXX TODO: Can't handle structure return with other ABI's yet :-/ */
575+ if ((abi != MIPS_ABI_O32) && (abi != MIPS_ABI_O64))
576+ return -2;
577+
578+ *locp = loc_aggregate;
579+ return nloc_aggregate;
580+ }
581+
582+ /* XXX We don't have a good way to return specific errors from ebl calls.
583+ This value means we do not understand the type, but it is well-formed
584+ DWARF and might be valid. */
585+ return -2;
586+}
587Index: elfutils-0.145/backends/mips_symbol.c
588===================================================================
589--- /dev/null 1970-01-01 00:00:00.000000000 +0000
590+++ elfutils-0.145/backends/mips_symbol.c 2010-02-24 18:57:35.000000000 +0000
591@@ -0,0 +1,52 @@
592+/* MIPS specific symbolic name handling.
593+ Copyright (C) 2002, 2003, 2005 Red Hat, Inc.
594+ This file is part of Red Hat elfutils.
595+ Written by Jakub Jelinek <jakub@redhat.com>, 2002.
596+
597+ Red Hat elfutils is free software; you can redistribute it and/or modify
598+ it under the terms of the GNU General Public License as published by the
599+ Free Software Foundation; version 2 of the License.
600+
601+ Red Hat elfutils is distributed in the hope that it will be useful, but
602+ WITHOUT ANY WARRANTY; without even the implied warranty of
603+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
604+ General Public License for more details.
605+
606+ You should have received a copy of the GNU General Public License along
607+ with Red Hat elfutils; if not, write to the Free Software Foundation,
608+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
609+
610+ Red Hat elfutils is an included package of the Open Invention Network.
611+ An included package of the Open Invention Network is a package for which
612+ Open Invention Network licensees cross-license their patents. No patent
613+ license is granted, either expressly or impliedly, by designation as an
614+ included package. Should you wish to participate in the Open Invention
615+ Network licensing program, please visit www.openinventionnetwork.com
616+ <http://www.openinventionnetwork.com>. */
617+
618+#ifdef HAVE_CONFIG_H
619+# include <config.h>
620+#endif
621+
622+#include <elf.h>
623+#include <stddef.h>
624+
625+#define BACKEND mips_
626+#include "libebl_CPU.h"
627+
628+/* Check for the simple reloc types. */
629+Elf_Type
630+mips_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type)
631+{
632+ switch (type)
633+ {
634+ case R_MIPS_16:
635+ return ELF_T_HALF;
636+ case R_MIPS_32:
637+ return ELF_T_WORD;
638+ case R_MIPS_64:
639+ return ELF_T_XWORD;
640+ default:
641+ return ELF_T_NUM;
642+ }
643+}
644Index: elfutils-0.145/libebl/eblopenbackend.c
645===================================================================
646--- elfutils-0.145.orig/libebl/eblopenbackend.c 2010-02-24 18:55:51.000000000 +0000
647+++ elfutils-0.145/libebl/eblopenbackend.c 2010-02-24 18:57:35.000000000 +0000
648@@ -91,6 +91,8 @@
649 { "sparc", "elf_sparc", "sparc", 5, EM_SPARC, 0, 0 },
650 { "sparc", "elf_sparcv8plus", "sparc", 5, EM_SPARC32PLUS, 0, 0 },
651 { "s390", "ebl_s390", "s390", 4, EM_S390, 0, 0 },
652+ { "mips", "elf_mips", "mips", 4, EM_MIPS, 0, 0 },
653+ { "mips", "elf_mipsel", "mipsel", 4, EM_MIPS_RS3_LE, 0, 0 },
654
655 { "m32", "elf_m32", "m32", 3, EM_M32, 0, 0 },
656 { "m68k", "elf_m68k", "m68k", 4, EM_68K, 0, 0 },
657Index: elfutils-0.145/backends/common-reloc.c
658===================================================================
659--- elfutils-0.145.orig/backends/common-reloc.c 2010-02-24 18:55:51.000000000 +0000
660+++ elfutils-0.145/backends/common-reloc.c 2010-02-24 18:57:35.000000000 +0000
661@@ -109,11 +109,13 @@
662 }
663
664
665+#ifndef NO_COPY_RELOC
666 bool
667 EBLHOOK(copy_reloc_p) (int reloc)
668 {
669 return reloc == R_TYPE (COPY);
670 }
671+#endif
672
673 bool
674 EBLHOOK(none_reloc_p) (int reloc)
675@@ -135,7 +137,9 @@
676 ebl->reloc_type_name = EBLHOOK(reloc_type_name);
677 ebl->reloc_type_check = EBLHOOK(reloc_type_check);
678 ebl->reloc_valid_use = EBLHOOK(reloc_valid_use);
679+#ifndef NO_COPY_RELOC
680 ebl->copy_reloc_p = EBLHOOK(copy_reloc_p);
681+#endif
682 ebl->none_reloc_p = EBLHOOK(none_reloc_p);
683 #ifndef NO_RELATIVE_RELOC
684 ebl->relative_reloc_p = EBLHOOK(relative_reloc_p);
685Index: elfutils-0.145/backends/Makefile.am
686===================================================================
687--- elfutils-0.145.orig/backends/Makefile.am 2010-02-24 18:57:26.000000000 +0000
688+++ elfutils-0.145/backends/Makefile.am 2010-02-24 18:57:57.000000000 +0000
689@@ -29,11 +29,11 @@
690 -I$(top_srcdir)/libelf -I$(top_srcdir)/libdw
691
692
693-modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 parisc
694+modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 parisc mips
695 libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \
696 libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \
697 libebl_sparc_pic.a libebl_ppc_pic.a libebl_ppc64_pic.a \
698- libebl_s390_pic.a libebl_parisc_pic.a
699+ libebl_s390_pic.a libebl_parisc_pic.a libebl_mips_pic.a
700 noinst_LIBRARIES = $(libebl_pic)
701 noinst_DATA = $(libebl_pic:_pic.a=.so)
702
703@@ -99,6 +99,10 @@
704 libebl_parisc_pic_a_SOURCES = $(parisc_SRCS)
705 am_libebl_parisc_pic_a_OBJECTS = $(parisc_SRCS:.c=.os)
706
707+mips_SRCS = mips_init.c mips_symbol.c mips_regs.c mips_retval.c
708+libebl_mips_pic_a_SOURCES = $(mips_SRCS)
709+am_libebl_mips_pic_a_OBJECTS = $(mips_SRCS:.c=.os)
710+
711 libebl_%.so libebl_%.map: libebl_%_pic.a $(libelf) $(libdw)
712 @rm -f $(@:.so=.map)
713 echo 'ELFUTILS_$(PACKAGE_VERSION) { global: $*_init; local: *; };' \
diff --git a/meta/recipes-devtools/elfutils/elfutils/nm-Fix-size-passed-to-snprintf-for-invalid-sh_name-case.patch b/meta/recipes-devtools/elfutils/elfutils/nm-Fix-size-passed-to-snprintf-for-invalid-sh_name-case.patch
new file mode 100644
index 0000000000..2b5dad368a
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils/nm-Fix-size-passed-to-snprintf-for-invalid-sh_name-case.patch
@@ -0,0 +1,27 @@
1Upstream-Status: Backport
2
3nm: Fix size passed to snprintf for invalid sh_name case.
4native build failed as following on Fedora18:
5nm.c: In function 'show_symbols_sysv':
6nm.c:756:27: error: argument to 'sizeof' in 'snprintf' call is the same expression as the destination; did you mean to provide an explicit length? [-Werror=sizeof-pointer-memaccess]
7 snprintf (name, sizeof name, "[invalid sh_name %#" PRIx32 "]",
8 ^
9
10The original commit is http://git.fedorahosted.org/cgit/elfutils.git/commit/src/nm.c?id=57bd66cabf6e6b9ecf622cdbf350804897a8df58
11
12Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
13
14--- elfutils-0.148/src/nm.c.org 2013-03-11 22:36:11.000000000 -0500
15+++ elfutils-0.148/src/nm.c 2013-03-11 22:46:09.000000000 -0500
16@@ -752,8 +752,9 @@
17 gelf_getshdr (scn, &shdr_mem)->sh_name);
18 if (unlikely (name == NULL))
19 {
20- name = alloca (sizeof "[invalid sh_name 0x12345678]");
21- snprintf (name, sizeof name, "[invalid sh_name %#" PRIx32 "]",
22+ const size_t bufsz = sizeof "[invalid sh_name 0x12345678]";
23+ name = alloca (bufsz);
24+ snprintf (name, bufsz, "[invalid sh_name %#" PRIx32 "]",
25 gelf_getshdr (scn, &shdr_mem)->sh_name);
26 }
27 scnnames[elf_ndxscn (scn)] = name;
diff --git a/meta/recipes-devtools/elfutils/elfutils/redhat-portability.diff b/meta/recipes-devtools/elfutils/elfutils/redhat-portability.diff
new file mode 100644
index 0000000000..4b3bd649cb
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils/redhat-portability.diff
@@ -0,0 +1,1124 @@
1Upstream-Status: Backport
2
3Index: elfutils-0.148/backends/ChangeLog
4===================================================================
5--- elfutils-0.148.orig/backends/ChangeLog 2010-04-13 20:08:02.000000000 +0000
6+++ elfutils-0.148/backends/ChangeLog 2010-07-03 13:04:07.000000000 +0000
7@@ -106,6 +106,10 @@
8 * ppc_attrs.c (ppc_check_object_attribute): Handle tag
9 GNU_Power_ABI_Struct_Return.
10
11+2009-01-23 Roland McGrath <roland@redhat.com>
12+
13+ * Makefile.am (libebl_%.so): Use $(LD_AS_NEEDED).
14+
15 2008-10-04 Ulrich Drepper <drepper@redhat.com>
16
17 * i386_reloc.def: Fix entries for TLS_GOTDESC, TLS_DESC_CALL, and
18@@ -433,6 +437,11 @@
19 * sparc_init.c: Likewise.
20 * x86_64_init.c: Likewise.
21
22+2005-11-22 Roland McGrath <roland@redhat.com>
23+
24+ * Makefile.am (LD_AS_NEEDED): New variable, substituted by configure.
25+ (libebl_%.so rule): Use it in place of -Wl,--as-needed.
26+
27 2005-11-19 Roland McGrath <roland@redhat.com>
28
29 * ppc64_reloc.def: REL30 -> ADDR30.
30@@ -455,6 +464,9 @@
31 * Makefile.am (uninstall): Don't try to remove $(pkgincludedir).
32 (CLEANFILES): Add libebl_$(m).so.
33
34+ * Makefile.am (WEXTRA): New variable, substituted by configure.
35+ (AM_CFLAGS): Use it in place of -Wextra.
36+
37 * ppc_reloc.def: Update bits per Alan Modra <amodra@bigpond.net.au>.
38 * ppc64_reloc.def: Likewise.
39
40Index: elfutils-0.148/backends/Makefile.am
41===================================================================
42--- elfutils-0.148.orig/backends/Makefile.am 2010-04-13 20:08:02.000000000 +0000
43+++ elfutils-0.148/backends/Makefile.am 2010-07-03 13:04:07.000000000 +0000
44@@ -103,7 +103,7 @@
45 $(LINK) -shared -o $(@:.map=.so) \
46 -Wl,--whole-archive $< $(cpu_$*) -Wl,--no-whole-archive \
47 -Wl,--version-script,$(@:.so=.map) \
48- -Wl,-z,defs -Wl,--as-needed $(libelf) $(libdw) $(libmudflap)
49+ -Wl,-z,defs $(LD_AS_NEEDED) $(libelf) $(libdw) $(libmudflap)
50 $(textrel_check)
51
52 libebl_i386.so: $(cpu_i386)
53Index: elfutils-0.148/backends/Makefile.in
54===================================================================
55--- elfutils-0.148.orig/backends/Makefile.in 2010-06-28 19:07:33.000000000 +0000
56+++ elfutils-0.148/backends/Makefile.in 2010-07-03 13:04:07.000000000 +0000
57@@ -165,6 +165,7 @@
58 INSTALL_SCRIPT = @INSTALL_SCRIPT@
59 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
60 LDFLAGS = @LDFLAGS@
61+LD_AS_NEEDED = @LD_AS_NEEDED@
62 LEX = @LEX@
63 LEXLIB = @LEXLIB@
64 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
65@@ -194,6 +195,7 @@
66 STRIP = @STRIP@
67 USE_NLS = @USE_NLS@
68 VERSION = @VERSION@
69+WEXTRA = @WEXTRA@
70 XGETTEXT = @XGETTEXT@
71 XGETTEXT_015 = @XGETTEXT_015@
72 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
73@@ -257,7 +259,7 @@
74 -I$(top_srcdir)/libelf -I$(top_srcdir)/libdw
75 AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
76 $($(*F)_no_Werror),,-Werror) $(if \
77- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
78+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
79 $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
80 $(am__append_1)
81 @MUDFLAP_FALSE@libmudflap =
82@@ -698,7 +700,7 @@
83 $(LINK) -shared -o $(@:.map=.so) \
84 -Wl,--whole-archive $< $(cpu_$*) -Wl,--no-whole-archive \
85 -Wl,--version-script,$(@:.so=.map) \
86- -Wl,-z,defs -Wl,--as-needed $(libelf) $(libdw) $(libmudflap)
87+ -Wl,-z,defs $(LD_AS_NEEDED) $(libelf) $(libdw) $(libmudflap)
88 $(textrel_check)
89
90 libebl_i386.so: $(cpu_i386)
91Index: elfutils-0.148/ChangeLog
92===================================================================
93--- elfutils-0.148.orig/ChangeLog 2010-04-21 14:26:40.000000000 +0000
94+++ elfutils-0.148/ChangeLog 2010-07-03 13:04:07.000000000 +0000
95@@ -2,6 +2,10 @@
96
97 * configure.ac (LOCALEDIR, DATADIRNAME): Removed.
98
99+2009-11-22 Roland McGrath <roland@redhat.com>
100+
101+ * configure.ac: Use sed and expr instead of modern bash extensions.
102+
103 2009-09-21 Ulrich Drepper <drepper@redhat.com>
104
105 * configure.ac: Update for more modern autoconf.
106@@ -10,6 +14,10 @@
107
108 * configure.ac (zip_LIBS): Check for liblzma too.
109
110+2009-08-17 Roland McGrath <roland@redhat.com>
111+
112+ * configure.ac: Check for -fgnu89-inline; add it to WEXTRA if it works.
113+
114 2009-04-19 Roland McGrath <roland@redhat.com>
115
116 * configure.ac (eu_version): Round down here, not in version.h macros.
117@@ -21,6 +29,8 @@
118
119 2009-01-23 Roland McGrath <roland@redhat.com>
120
121+ * configure.ac: Check for __builtin_popcount.
122+
123 * configure.ac (zlib check): Check for gzdirect, need zlib >= 1.2.2.3.
124
125 * configure.ac (__thread check): Use AC_LINK_IFELSE, in case of
126@@ -101,6 +111,10 @@
127 * configure.ac: Add dummy automake conditional to get dependencies
128 for non-generic linker right. See src/Makefile.am.
129
130+2005-11-22 Roland McGrath <roland@redhat.com>
131+
132+ * configure.ac: Check for --as-needed linker option.
133+
134 2005-11-18 Roland McGrath <roland@redhat.com>
135
136 * Makefile.am (DISTCHECK_CONFIGURE_FLAGS): New variable.
137@@ -148,6 +162,17 @@
138 * Makefile.am (all_SUBDIRS): Add libdwfl.
139 * configure.ac: Write libdwfl/Makefile.
140
141+2005-05-31 Roland McGrath <roland@redhat.com>
142+
143+ * configure.ac (WEXTRA): Check for -Wextra and set this substitution.
144+
145+ * configure.ac: Check for struct stat st_?tim members.
146+ * src/strip.c (process_file): Use st_?time if st_?tim are not there.
147+
148+ * configure.ac: Check for futimes function.
149+ * src/strip.c (handle_elf) [! HAVE_FUTIMES]: Use utimes instead.
150+ (handle_ar) [! HAVE_FUTIMES]: Likewise.
151+
152 2005-05-19 Roland McGrath <roland@redhat.com>
153
154 * configure.ac [AH_BOTTOM] (INTDECL, _INTDECL): New macros.
155Index: elfutils-0.148/config/eu.am
156===================================================================
157--- elfutils-0.148.orig/config/eu.am 2010-04-21 14:26:40.000000000 +0000
158+++ elfutils-0.148/config/eu.am 2010-07-03 13:04:07.000000000 +0000
159@@ -25,11 +25,14 @@
160 ## <http://www.openinventionnetwork.com>.
161 ##
162
163+WEXTRA = @WEXTRA@
164+LD_AS_NEEDED = @LD_AS_NEEDED@
165+
166 DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H -DLOCALEDIR='"${localedir}"'
167 INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I..
168 AM_CFLAGS = -std=gnu99 -Wall -Wshadow \
169 $(if $($(*F)_no_Werror),,-Werror) \
170- $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \
171+ $(if $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) \
172 $(if $($(*F)_no_Wformat),-Wno-format,-Wformat=2) \
173 $($(*F)_CFLAGS)
174
175Index: elfutils-0.148/config/Makefile.in
176===================================================================
177--- elfutils-0.148.orig/config/Makefile.in 2010-06-28 19:07:34.000000000 +0000
178+++ elfutils-0.148/config/Makefile.in 2010-07-03 13:04:07.000000000 +0000
179@@ -76,6 +76,7 @@
180 INSTALL_SCRIPT = @INSTALL_SCRIPT@
181 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
182 LDFLAGS = @LDFLAGS@
183+LD_AS_NEEDED = @LD_AS_NEEDED@
184 LEX = @LEX@
185 LEXLIB = @LEXLIB@
186 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
187@@ -105,6 +106,7 @@
188 STRIP = @STRIP@
189 USE_NLS = @USE_NLS@
190 VERSION = @VERSION@
191+WEXTRA = @WEXTRA@
192 XGETTEXT = @XGETTEXT@
193 XGETTEXT_015 = @XGETTEXT_015@
194 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
195Index: elfutils-0.148/config.h.in
196===================================================================
197--- elfutils-0.148.orig/config.h.in 2010-06-28 19:07:37.000000000 +0000
198+++ elfutils-0.148/config.h.in 2010-07-03 13:04:07.000000000 +0000
199@@ -1,5 +1,8 @@
200 /* config.h.in. Generated from configure.ac by autoheader. */
201
202+/* Have __builtin_popcount. */
203+#undef HAVE_BUILTIN_POPCOUNT
204+
205 /* $libdir subdirectory containing libebl modules. */
206 #undef LIBEBL_SUBDIR
207
208@@ -55,4 +58,7 @@
209 /* Define for large files, on AIX-style hosts. */
210 #undef _LARGE_FILES
211
212+/* Stubbed out if missing compiler support. */
213+#undef __thread
214+
215 #include <eu-config.h>
216Index: elfutils-0.148/configure.ac
217===================================================================
218--- elfutils-0.148.orig/configure.ac 2010-06-28 19:07:26.000000000 +0000
219+++ elfutils-0.148/configure.ac 2010-07-03 13:04:07.000000000 +0000
220@@ -73,6 +73,54 @@
221 AS_IF([test "x$ac_cv_c99" != xyes],
222 AC_MSG_ERROR([gcc with C99 support required]))
223
224+AC_CACHE_CHECK([for -Wextra option to $CC], ac_cv_cc_wextra, [dnl
225+old_CFLAGS="$CFLAGS"
226+CFLAGS="$CFLAGS -Wextra"
227+AC_COMPILE_IFELSE([void foo (void) { }],
228+ ac_cv_cc_wextra=yes, ac_cv_cc_wextra=no)
229+CFLAGS="$old_CFLAGS"])
230+AC_SUBST(WEXTRA)
231+AS_IF([test "x$ac_cv_cc_wextra" = xyes], [WEXTRA=-Wextra], [WEXTRA=-W])
232+
233+AC_CACHE_CHECK([for -fgnu89-inline option to $CC], ac_cv_cc_gnu89_inline, [dnl
234+old_CFLAGS="$CFLAGS"
235+CFLAGS="$CFLAGS -fgnu89-inline -Werror"
236+AC_COMPILE_IFELSE([
237+void foo (void)
238+{
239+ inline void bar (void) {}
240+ bar ();
241+}
242+extern inline void baz (void) {}
243+], ac_cv_cc_gnu89_inline=yes, ac_cv_cc_gnu89_inline=no)
244+CFLAGS="$old_CFLAGS"])
245+AS_IF([test "x$ac_cv_cc_gnu89_inline" = xyes],
246+ [WEXTRA="${WEXTRA:+$WEXTRA }-fgnu89-inline"])
247+
248+AC_CACHE_CHECK([for --as-needed linker option],
249+ ac_cv_as_needed, [dnl
250+cat > conftest.c <<EOF
251+int main (void) { return 0; }
252+EOF
253+if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
254+ -fPIC -shared -o conftest.so conftest.c
255+ -Wl,--as-needed 1>&AS_MESSAGE_LOG_FD])
256+then
257+ ac_cv_as_needed=yes
258+else
259+ ac_cv_as_needed=no
260+fi
261+rm -f conftest*])
262+AS_IF([test "x$ac_cv_as_needed" = xyes],
263+ [LD_AS_NEEDED=-Wl,--as-needed], [LD_AS_NEEDED=])
264+AC_SUBST(LD_AS_NEEDED)
265+
266+AC_CACHE_CHECK([for __builtin_popcount], ac_cv_popcount, [dnl
267+AC_LINK_IFELSE([AC_LANG_PROGRAM([], [[exit (__builtin_popcount (127));]])],
268+ ac_cv_popcount=yes, ac_cv_popcount=no)])
269+AS_IF([test "x$ac_cv_popcount" = xyes],
270+ [AC_DEFINE([HAVE_BUILTIN_POPCOUNT], [1], [Have __builtin_popcount.])])
271+
272 AC_CACHE_CHECK([for __thread support], ac_cv_tls, [dnl
273 # Use the same flags that we use for our DSOs, so the test is representative.
274 # Some old compiler/linker/libc combinations fail some ways and not others.
275@@ -88,7 +136,10 @@
276 CFLAGS="$save_CFLAGS"
277 LDFLAGS="$save_LDFLAGS"])
278 AS_IF([test "x$ac_cv_tls" != xyes],
279- AC_MSG_ERROR([__thread support required]))
280+ [AS_IF([test "$use_locks" = yes],
281+ [AC_MSG_ERROR([--enable-thread-safety requires __thread support])],
282+ [AC_DEFINE([__thread], [/* empty: no multi-thread support */],
283+ [Stubbed out if missing compiler support.])])])
284
285 dnl This test must come as early as possible after the compiler configuration
286 dnl tests, because the choice of the file model can (in principle) affect
287@@ -251,7 +302,7 @@
288
289 # 1.234<whatever> -> 1234<whatever>
290 case "$PACKAGE_VERSION" in
291-[[0-9]].*) eu_version="${PACKAGE_VERSION/./}" ;;
292+[[0-9]].*) eu_version=`echo "$PACKAGE_VERSION" | sed 's@\.@@'` ;;
293 *) AC_MSG_ERROR([confused by version number '$PACKAGE_VERSION']) ;;
294 esac
295 case "$eu_version" in
296@@ -280,6 +331,6 @@
297 esac
298
299 # Round up to the next release API (x.y) version.
300-[eu_version=$[($eu_version + 999) / 1000]]
301+eu_version=`expr \( $eu_version + 999 \) / 1000`
302
303 AC_OUTPUT
304Index: elfutils-0.148/lib/ChangeLog
305===================================================================
306--- elfutils-0.148.orig/lib/ChangeLog 2010-06-28 19:05:56.000000000 +0000
307+++ elfutils-0.148/lib/ChangeLog 2010-07-03 13:04:07.000000000 +0000
308@@ -14,6 +14,9 @@
309
310 2009-01-23 Roland McGrath <roland@redhat.com>
311
312+ * eu-config.h [! HAVE_BUILTIN_POPCOUNT]
313+ (__builtin_popcount): New inline function.
314+
315 * eu-config.h: Add multiple inclusion protection.
316
317 2009-01-17 Ulrich Drepper <drepper@redhat.com>
318@@ -70,6 +73,11 @@
319 * Makefile.am (libeu_a_SOURCES): Add it.
320 * system.h: Declare crc32_file.
321
322+2005-02-07 Roland McGrath <roland@redhat.com>
323+
324+ * Makefile.am (WEXTRA): New variable, substituted by configure.
325+ (AM_CFLAGS): Use it in place of -Wextra.
326+
327 2005-04-30 Ulrich Drepper <drepper@redhat.com>
328
329 * Makefile.am: Use -ffunction-sections for xmalloc.c.
330Index: elfutils-0.148/lib/eu-config.h
331===================================================================
332--- elfutils-0.148.orig/lib/eu-config.h 2009-08-12 14:23:22.000000000 +0000
333+++ elfutils-0.148/lib/eu-config.h 2010-07-03 13:04:07.000000000 +0000
334@@ -182,6 +182,17 @@
335 /* This macro is used by the tests conditionalize for standalone building. */
336 #define ELFUTILS_HEADER(name) <lib##name.h>
337
338+#ifndef HAVE_BUILTIN_POPCOUNT
339+# define __builtin_popcount hakmem_popcount
340+static inline unsigned int __attribute__ ((unused))
341+hakmem_popcount (unsigned int x)
342+{
343+ /* HAKMEM 169 */
344+ unsigned int n = x - ((x >> 1) & 033333333333) - ((x >> 2) & 011111111111);
345+ return ((n + (n >> 3)) & 030707070707) % 63;
346+}
347+#endif /* HAVE_BUILTIN_POPCOUNT */
348+
349
350 #ifdef SHARED
351 # define OLD_VERSION(name, version) \
352Index: elfutils-0.148/lib/Makefile.in
353===================================================================
354--- elfutils-0.148.orig/lib/Makefile.in 2010-06-28 19:07:33.000000000 +0000
355+++ elfutils-0.148/lib/Makefile.in 2010-07-03 13:04:07.000000000 +0000
356@@ -99,6 +99,7 @@
357 INSTALL_SCRIPT = @INSTALL_SCRIPT@
358 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
359 LDFLAGS = @LDFLAGS@
360+LD_AS_NEEDED = @LD_AS_NEEDED@
361 LEX = @LEX@
362 LEXLIB = @LEXLIB@
363 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
364@@ -128,6 +129,7 @@
365 STRIP = @STRIP@
366 USE_NLS = @USE_NLS@
367 VERSION = @VERSION@
368+WEXTRA = @WEXTRA@
369 XGETTEXT = @XGETTEXT@
370 XGETTEXT_015 = @XGETTEXT_015@
371 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
372@@ -190,7 +192,7 @@
373 -I$(srcdir)/../libelf
374 AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
375 $($(*F)_no_Werror),,-Werror) $(if \
376- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
377+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
378 $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
379 $(am__append_1) -fpic
380 @MUDFLAP_FALSE@libmudflap =
381Index: elfutils-0.148/libasm/ChangeLog
382===================================================================
383--- elfutils-0.148.orig/libasm/ChangeLog 2010-03-05 05:48:23.000000000 +0000
384+++ elfutils-0.148/libasm/ChangeLog 2010-07-03 13:04:07.000000000 +0000
385@@ -67,6 +67,11 @@
386 * asm_error.c: Add new error ASM_E_IOERROR.
387 * libasmP.h: Add ASM_E_IOERROR definition.
388
389+2005-05-31 Roland McGrath <roland@redhat.com>
390+
391+ * Makefile.am (WEXTRA): New variable, substituted by configure.
392+ (AM_CFLAGS): Use it in place of -Wextra.
393+
394 2005-02-15 Ulrich Drepper <drepper@redhat.com>
395
396 * Makefile.am (AM_CFLAGS): Add -Wunused -Wextra -Wformat=2.
397Index: elfutils-0.148/libasm/Makefile.in
398===================================================================
399--- elfutils-0.148.orig/libasm/Makefile.in 2010-06-28 19:07:33.000000000 +0000
400+++ elfutils-0.148/libasm/Makefile.in 2010-07-03 13:04:07.000000000 +0000
401@@ -147,6 +147,7 @@
402 INSTALL_SCRIPT = @INSTALL_SCRIPT@
403 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
404 LDFLAGS = @LDFLAGS@
405+LD_AS_NEEDED = @LD_AS_NEEDED@
406 LEX = @LEX@
407 LEXLIB = @LEXLIB@
408 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
409@@ -176,6 +177,7 @@
410 STRIP = @STRIP@
411 USE_NLS = @USE_NLS@
412 VERSION = 1
413+WEXTRA = @WEXTRA@
414 XGETTEXT = @XGETTEXT@
415 XGETTEXT_015 = @XGETTEXT_015@
416 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
417@@ -239,7 +241,7 @@
418 -I$(top_srcdir)/libdw
419 AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
420 $($(*F)_no_Werror),,-Werror) $(if \
421- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
422+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
423 $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
424 $(am__append_1)
425 @MUDFLAP_FALSE@libmudflap =
426Index: elfutils-0.148/libcpu/ChangeLog
427===================================================================
428--- elfutils-0.148.orig/libcpu/ChangeLog 2010-03-05 05:48:23.000000000 +0000
429+++ elfutils-0.148/libcpu/ChangeLog 2010-07-03 13:04:07.000000000 +0000
430@@ -9,6 +9,9 @@
431
432 2009-01-23 Roland McGrath <roland@redhat.com>
433
434+ * i386_disasm.c (i386_disasm): Add abort after assert-constant for old
435+ compilers that don't realize it's noreturn.
436+
437 * Makefile.am (i386_parse_CFLAGS): Use quotes around command
438 substitution that can produce leading whitespace.
439
440@@ -338,6 +341,11 @@
441 * defs/i386.doc: New file.
442 * defs/x86_64: New file.
443
444+2005-04-04 Roland McGrath <roland@redhat.com>
445+
446+ * Makefile.am (WEXTRA): New variable, substituted by configure.
447+ (AM_CFLAGS): Use it instead of -Wextra.
448+
449 2005-02-15 Ulrich Drepper <drepper@redhat.com>
450
451 * Makefile (AM_CFLAGS): Add -Wunused -Wextra -Wformat=2.
452Index: elfutils-0.148/libcpu/i386_disasm.c
453===================================================================
454--- elfutils-0.148.orig/libcpu/i386_disasm.c 2009-01-08 20:56:36.000000000 +0000
455+++ elfutils-0.148/libcpu/i386_disasm.c 2010-07-03 13:04:07.000000000 +0000
456@@ -791,6 +791,7 @@
457
458 default:
459 assert (! "INVALID not handled");
460+ abort ();
461 }
462 }
463 else
464Index: elfutils-0.148/libcpu/Makefile.in
465===================================================================
466--- elfutils-0.148.orig/libcpu/Makefile.in 2010-06-28 19:07:33.000000000 +0000
467+++ elfutils-0.148/libcpu/Makefile.in 2010-07-03 13:04:07.000000000 +0000
468@@ -116,6 +116,7 @@
469 INSTALL_SCRIPT = @INSTALL_SCRIPT@
470 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
471 LDFLAGS = @LDFLAGS@
472+LD_AS_NEEDED = @LD_AS_NEEDED@
473 LEX = @LEX@
474 LEXLIB = @LEXLIB@
475 LEX_OUTPUT_ROOT = lex.$(<F:lex.l=)
476@@ -145,6 +146,7 @@
477 STRIP = @STRIP@
478 USE_NLS = @USE_NLS@
479 VERSION = @VERSION@
480+WEXTRA = @WEXTRA@
481 XGETTEXT = @XGETTEXT@
482 XGETTEXT_015 = @XGETTEXT_015@
483 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
484@@ -208,7 +210,7 @@
485 -I$(srcdir)/../libdw -I$(srcdir)/../libasm
486 AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
487 $($(*F)_no_Werror),,-Werror) $(if \
488- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
489+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
490 $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
491 $(am__append_1) -fpic -fdollars-in-identifiers
492 @MUDFLAP_FALSE@libmudflap =
493Index: elfutils-0.148/libdw/ChangeLog
494===================================================================
495--- elfutils-0.148.orig/libdw/ChangeLog 2010-06-28 19:05:56.000000000 +0000
496+++ elfutils-0.148/libdw/ChangeLog 2010-07-03 13:04:07.000000000 +0000
497@@ -276,6 +276,10 @@
498
499 * dwarf_hasattr_integrate.c: Integrate DW_AT_specification too.
500
501+2009-08-17 Roland McGrath <roland@redhat.com>
502+
503+ * libdw.h: Disable extern inlines for GCC 4.2.
504+
505 2009-08-10 Roland McGrath <roland@redhat.com>
506
507 * dwarf_getscopevar.c: Use dwarf_diename.
508@@ -1044,6 +1048,11 @@
509
510 2005-05-31 Roland McGrath <roland@redhat.com>
511
512+ * Makefile.am (WEXTRA): New variable, substituted by configure.
513+ (AM_CFLAGS): Use it in place of -Wextra.
514+
515+2005-05-31 Roland McGrath <roland@redhat.com>
516+
517 * dwarf_formref_die.c (dwarf_formref_die): Add CU header offset to
518 formref offset.
519
520Index: elfutils-0.148/libdw/libdw.h
521===================================================================
522--- elfutils-0.148.orig/libdw/libdw.h 2010-06-28 19:05:56.000000000 +0000
523+++ elfutils-0.148/libdw/libdw.h 2010-07-03 13:04:07.000000000 +0000
524@@ -842,7 +842,7 @@
525
526
527 /* Inline optimizations. */
528-#ifdef __OPTIMIZE__
529+#if defined __OPTIMIZE__ && !(__GNUC__ == 4 && __GNUC_MINOR__ == 2)
530 /* Return attribute code of given attribute. */
531 __libdw_extern_inline unsigned int
532 dwarf_whatattr (Dwarf_Attribute *attr)
533Index: elfutils-0.148/libdw/Makefile.in
534===================================================================
535--- elfutils-0.148.orig/libdw/Makefile.in 2010-06-28 19:07:33.000000000 +0000
536+++ elfutils-0.148/libdw/Makefile.in 2010-07-03 13:04:07.000000000 +0000
537@@ -191,6 +191,7 @@
538 INSTALL_SCRIPT = @INSTALL_SCRIPT@
539 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
540 LDFLAGS = @LDFLAGS@
541+LD_AS_NEEDED = @LD_AS_NEEDED@
542 LEX = @LEX@
543 LEXLIB = @LEXLIB@
544 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
545@@ -220,6 +221,7 @@
546 STRIP = @STRIP@
547 USE_NLS = @USE_NLS@
548 VERSION = 1
549+WEXTRA = @WEXTRA@
550 XGETTEXT = @XGETTEXT@
551 XGETTEXT_015 = @XGETTEXT_015@
552 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
553@@ -282,7 +284,7 @@
554 -I$(srcdir)/../libelf
555 AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
556 $($(*F)_no_Werror),,-Werror) $(if \
557- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
558+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
559 $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
560 $(am__append_1) $(am__append_2)
561 @MUDFLAP_FALSE@libmudflap =
562Index: elfutils-0.148/libdwfl/ChangeLog
563===================================================================
564--- elfutils-0.148.orig/libdwfl/ChangeLog 2010-06-28 19:05:56.000000000 +0000
565+++ elfutils-0.148/libdwfl/ChangeLog 2010-07-03 13:04:07.000000000 +0000
566@@ -1265,6 +1265,11 @@
567
568 2005-07-21 Roland McGrath <roland@redhat.com>
569
570+ * Makefile.am (WEXTRA): New variable, substituted by configure.
571+ (AM_CFLAGS): Use it in place of -Wextra.
572+
573+2005-07-21 Roland McGrath <roland@redhat.com>
574+
575 * Makefile.am (noinst_HEADERS): Add loc2c.c.
576
577 * test2.c (main): Check sscanf result to quiet warning.
578Index: elfutils-0.148/libdwfl/Makefile.in
579===================================================================
580--- elfutils-0.148.orig/libdwfl/Makefile.in 2010-06-28 19:07:33.000000000 +0000
581+++ elfutils-0.148/libdwfl/Makefile.in 2010-07-03 13:04:07.000000000 +0000
582@@ -181,6 +181,7 @@
583 INSTALL_SCRIPT = @INSTALL_SCRIPT@
584 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
585 LDFLAGS = @LDFLAGS@
586+LD_AS_NEEDED = @LD_AS_NEEDED@
587 LEX = @LEX@
588 LEXLIB = @LEXLIB@
589 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
590@@ -210,6 +211,7 @@
591 STRIP = @STRIP@
592 USE_NLS = @USE_NLS@
593 VERSION = 1
594+WEXTRA = @WEXTRA@
595 XGETTEXT = @XGETTEXT@
596 XGETTEXT_015 = @XGETTEXT_015@
597 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
598@@ -273,7 +275,7 @@
599 -I$(srcdir)/../libdw
600 AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
601 $($(*F)_no_Werror),,-Werror) $(if \
602- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
603+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
604 $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
605 $(am__append_1)
606 @MUDFLAP_FALSE@libmudflap =
607Index: elfutils-0.148/libebl/ChangeLog
608===================================================================
609--- elfutils-0.148.orig/libebl/ChangeLog 2010-03-05 05:48:23.000000000 +0000
610+++ elfutils-0.148/libebl/ChangeLog 2010-07-03 13:04:07.000000000 +0000
611@@ -624,6 +624,11 @@
612 * Makefile.am (libebl_*_so_SOURCES): Set to $(*_SRCS) so dependency
613 tracking works right.
614
615+2005-05-31 Roland McGrath <roland@redhat.com>
616+
617+ * Makefile.am (WEXTRA): New variable, substituted by configure.
618+ (AM_CFLAGS): Use it in place of -Wextra.
619+
620 2005-05-21 Ulrich Drepper <drepper@redhat.com>
621
622 * libebl_x86_64.map: Add x86_64_core_note.
623Index: elfutils-0.148/libebl/Makefile.in
624===================================================================
625--- elfutils-0.148.orig/libebl/Makefile.in 2010-06-28 19:07:34.000000000 +0000
626+++ elfutils-0.148/libebl/Makefile.in 2010-07-03 13:04:07.000000000 +0000
627@@ -143,6 +143,7 @@
628 INSTALL_SCRIPT = @INSTALL_SCRIPT@
629 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
630 LDFLAGS = @LDFLAGS@
631+LD_AS_NEEDED = @LD_AS_NEEDED@
632 LEX = @LEX@
633 LEXLIB = @LEXLIB@
634 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
635@@ -172,6 +173,7 @@
636 STRIP = @STRIP@
637 USE_NLS = @USE_NLS@
638 VERSION = 1
639+WEXTRA = @WEXTRA@
640 XGETTEXT = @XGETTEXT@
641 XGETTEXT_015 = @XGETTEXT_015@
642 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
643@@ -235,7 +237,7 @@
644 -I$(srcdir)/../libasm
645 AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
646 $($(*F)_no_Werror),,-Werror) $(if \
647- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
648+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
649 $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
650 $(am__append_1) -fpic
651 @MUDFLAP_FALSE@libmudflap =
652Index: elfutils-0.148/libelf/ChangeLog
653===================================================================
654--- elfutils-0.148.orig/libelf/ChangeLog 2010-06-14 21:17:20.000000000 +0000
655+++ elfutils-0.148/libelf/ChangeLog 2010-07-03 13:04:07.000000000 +0000
656@@ -657,6 +657,11 @@
657
658 * elf.h: Update from glibc.
659
660+2005-05-31 Roland McGrath <roland@redhat.com>
661+
662+ * Makefile.am (WEXTRA): New variable, substituted by configure.
663+ (AM_CFLAGS): Use it in place of -Wextra.
664+
665 2005-05-08 Roland McGrath <roland@redhat.com>
666
667 * elf_begin.c (read_file) [_MUDFLAP]: Don't use mmap for now.
668Index: elfutils-0.148/libelf/common.h
669===================================================================
670--- elfutils-0.148.orig/libelf/common.h 2009-01-08 20:56:36.000000000 +0000
671+++ elfutils-0.148/libelf/common.h 2010-07-03 13:04:07.000000000 +0000
672@@ -160,7 +160,7 @@
673 (Var) = (sizeof (Var) == 1 \
674 ? (unsigned char) (Var) \
675 : (sizeof (Var) == 2 \
676- ? bswap_16 (Var) \
677+ ? (unsigned short int) bswap_16 (Var) \
678 : (sizeof (Var) == 4 \
679 ? bswap_32 (Var) \
680 : bswap_64 (Var))))
681@@ -169,7 +169,7 @@
682 (Dst) = (sizeof (Var) == 1 \
683 ? (unsigned char) (Var) \
684 : (sizeof (Var) == 2 \
685- ? bswap_16 (Var) \
686+ ? (unsigned short int) bswap_16 (Var) \
687 : (sizeof (Var) == 4 \
688 ? bswap_32 (Var) \
689 : bswap_64 (Var))))
690Index: elfutils-0.148/libelf/Makefile.in
691===================================================================
692--- elfutils-0.148.orig/libelf/Makefile.in 2010-06-28 19:07:34.000000000 +0000
693+++ elfutils-0.148/libelf/Makefile.in 2010-07-03 13:04:07.000000000 +0000
694@@ -189,6 +189,7 @@
695 INSTALL_SCRIPT = @INSTALL_SCRIPT@
696 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
697 LDFLAGS = @LDFLAGS@
698+LD_AS_NEEDED = @LD_AS_NEEDED@
699 LEX = @LEX@
700 LEXLIB = @LEXLIB@
701 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
702@@ -218,6 +219,7 @@
703 STRIP = @STRIP@
704 USE_NLS = @USE_NLS@
705 VERSION = 1
706+WEXTRA = @WEXTRA@
707 XGETTEXT = @XGETTEXT@
708 XGETTEXT_015 = @XGETTEXT_015@
709 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
710@@ -279,7 +281,7 @@
711 INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I..
712 AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
713 $($(*F)_no_Werror),,-Werror) $(if \
714- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
715+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
716 $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
717 $(am__append_1) $(am__append_2)
718 @MUDFLAP_FALSE@libmudflap =
719Index: elfutils-0.148/m4/Makefile.in
720===================================================================
721--- elfutils-0.148.orig/m4/Makefile.in 2010-06-28 19:07:34.000000000 +0000
722+++ elfutils-0.148/m4/Makefile.in 2010-07-03 13:04:07.000000000 +0000
723@@ -75,6 +75,7 @@
724 INSTALL_SCRIPT = @INSTALL_SCRIPT@
725 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
726 LDFLAGS = @LDFLAGS@
727+LD_AS_NEEDED = @LD_AS_NEEDED@
728 LEX = @LEX@
729 LEXLIB = @LEXLIB@
730 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
731@@ -104,6 +105,7 @@
732 STRIP = @STRIP@
733 USE_NLS = @USE_NLS@
734 VERSION = @VERSION@
735+WEXTRA = @WEXTRA@
736 XGETTEXT = @XGETTEXT@
737 XGETTEXT_015 = @XGETTEXT_015@
738 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
739Index: elfutils-0.148/Makefile.in
740===================================================================
741--- elfutils-0.148.orig/Makefile.in 2010-06-28 19:07:33.000000000 +0000
742+++ elfutils-0.148/Makefile.in 2010-07-03 13:04:07.000000000 +0000
743@@ -155,6 +155,7 @@
744 INSTALL_SCRIPT = @INSTALL_SCRIPT@
745 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
746 LDFLAGS = @LDFLAGS@
747+LD_AS_NEEDED = @LD_AS_NEEDED@
748 LEX = @LEX@
749 LEXLIB = @LEXLIB@
750 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
751@@ -184,6 +185,7 @@
752 STRIP = @STRIP@
753 USE_NLS = @USE_NLS@
754 VERSION = @VERSION@
755+WEXTRA = @WEXTRA@
756 XGETTEXT = @XGETTEXT@
757 XGETTEXT_015 = @XGETTEXT_015@
758 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
759Index: elfutils-0.148/src/addr2line.c
760===================================================================
761--- elfutils-0.148.orig/src/addr2line.c 2010-05-28 14:38:30.000000000 +0000
762+++ elfutils-0.148/src/addr2line.c 2010-07-03 13:05:40.000000000 +0000
763@@ -447,10 +447,10 @@
764 bool parsed = false;
765 int i, j;
766 char *name = NULL;
767- if (sscanf (string, "(%m[^)])%" PRIiMAX "%n", &name, &addr, &i) == 2
768+ if (sscanf (string, "(%a[^)])%" PRIiMAX "%n", &name, &addr, &i) == 2
769 && string[i] == '\0')
770 parsed = adjust_to_section (name, &addr, dwfl);
771- switch (sscanf (string, "%m[^-+]%n%" PRIiMAX "%n", &name, &i, &addr, &j))
772+ switch (sscanf (string, "%a[^-+]%n%" PRIiMAX "%n", &name, &i, &addr, &j))
773 {
774 default:
775 break;
776Index: elfutils-0.148/src/ChangeLog
777===================================================================
778--- elfutils-0.148.orig/src/ChangeLog 2010-06-28 19:05:56.000000000 +0000
779+++ elfutils-0.148/src/ChangeLog 2010-07-03 13:04:08.000000000 +0000
780@@ -165,8 +165,16 @@
781 * readelf.c (attr_callback): Use print_block only when we don't use
782 print_ops.
783
784+2009-08-17 Roland McGrath <roland@redhat.com>
785+
786+ * ld.h: Disable extern inlines for GCC 4.2.
787+
788 2009-08-14 Roland McGrath <roland@redhat.com>
789
790+ * strings.c (read_block): Conditionalize posix_fadvise use
791+ on [POSIX_FADV_SEQUENTIAL].
792+ From Petr Salinger <Petr.Salinger@seznam.cz>.
793+
794 * ar.c (do_oper_extract): Use pathconf instead of statfs.
795
796 2009-08-01 Ulrich Drepper <drepper@redhat.com>
797@@ -330,6 +338,8 @@
798 * readelf.c (print_debug_frame_section): Use t instead of j formats
799 for ptrdiff_t OFFSET.
800
801+ * addr2line.c (handle_address): Use %a instead of %m for compatibility.
802+
803 2009-01-21 Ulrich Drepper <drepper@redhat.com>
804
805 * elflint.c (check_program_header): Fix typo in .eh_frame_hdr section
806@@ -513,6 +523,11 @@
807 that matches its PT_LOAD's p_flags &~ PF_W. On sparc, PF_X really
808 is valid in RELRO.
809
810+2008-03-01 Roland McGrath <roland@redhat.com>
811+
812+ * readelf.c (dump_archive_index): Tweak portability hack
813+ to match [__GNUC__ < 4] too.
814+
815 2008-02-29 Roland McGrath <roland@redhat.com>
816
817 * readelf.c (print_attributes): Add a cast.
818@@ -764,6 +779,8 @@
819
820 * readelf.c (hex_dump): Fix rounding error in whitespace calculation.
821
822+ * Makefile.am (readelf_no_Werror): New variable.
823+
824 2007-10-15 Roland McGrath <roland@redhat.com>
825
826 * make-debug-archive.in: New file.
827@@ -1203,6 +1220,10 @@
828 * elflint.c (valid_e_machine): Add EM_ALPHA.
829 Reported by Christian Aichinger <Greek0@gmx.net>.
830
831+ * strings.c (map_file): Define POSIX_MADV_SEQUENTIAL to
832+ MADV_SEQUENTIAL if undefined. Don't call posix_madvise
833+ if neither is defined.
834+
835 2006-08-08 Ulrich Drepper <drepper@redhat.com>
836
837 * elflint.c (check_dynamic): Don't require DT_HASH for DT_SYMTAB.
838@@ -1279,6 +1300,10 @@
839 * Makefile.am: Add hacks to create dependency files for non-generic
840 linker.
841
842+2006-04-05 Roland McGrath <roland@redhat.com>
843+
844+ * strings.c (MAP_POPULATE): Define to 0 if undefined.
845+
846 2006-06-12 Ulrich Drepper <drepper@redhat.com>
847
848 * ldgeneric.c (ld_generic_generate_sections): Don't create .interp
849@@ -1627,6 +1652,11 @@
850 * readelf.c (print_debug_loc_section): Fix indentation for larger
851 address size.
852
853+2005-05-31 Roland McGrath <roland@redhat.com>
854+
855+ * Makefile.am (WEXTRA): New variable, substituted by configure.
856+ (AM_CFLAGS): Use it in place of -Wextra.
857+
858 2005-05-30 Roland McGrath <roland@redhat.com>
859
860 * readelf.c (print_debug_line_section): Print section offset of each
861Index: elfutils-0.148/src/findtextrel.c
862===================================================================
863--- elfutils-0.148.orig/src/findtextrel.c 2009-02-11 01:12:59.000000000 +0000
864+++ elfutils-0.148/src/findtextrel.c 2010-07-03 13:04:08.000000000 +0000
865@@ -490,7 +490,11 @@
866
867
868 static void
869-check_rel (size_t nsegments, struct segments segments[nsegments],
870+check_rel (size_t nsegments, struct segments segments[
871+#if __GNUC__ >= 4
872+ nsegments
873+#endif
874+ ],
875 GElf_Addr addr, Elf *elf, Elf_Scn *symscn, Dwarf *dw,
876 const char *fname, bool more_than_one, void **knownsrcs)
877 {
878Index: elfutils-0.148/src/ld.h
879===================================================================
880--- elfutils-0.148.orig/src/ld.h 2009-06-13 22:39:51.000000000 +0000
881+++ elfutils-0.148/src/ld.h 2010-07-03 13:04:08.000000000 +0000
882@@ -1122,6 +1122,7 @@
883
884 /* Checked whether the symbol is undefined and referenced from a DSO. */
885 extern bool linked_from_dso_p (struct scninfo *scninfo, size_t symidx);
886+#if defined __OPTIMIZE__ && !(__GNUC__ == 4 && __GNUC_MINOR__ == 2)
887 #ifdef __GNUC_STDC_INLINE__
888 __attribute__ ((__gnu_inline__))
889 #endif
890@@ -1139,5 +1140,6 @@
891
892 return sym->defined && sym->in_dso;
893 }
894+#endif /* Optimizing and not GCC 4.2. */
895
896 #endif /* ld.h */
897Index: elfutils-0.148/src/Makefile.am
898===================================================================
899--- elfutils-0.148.orig/src/Makefile.am 2010-03-05 05:48:23.000000000 +0000
900+++ elfutils-0.148/src/Makefile.am 2010-07-03 13:04:08.000000000 +0000
901@@ -99,6 +99,9 @@
902 # XXX While the file is not finished, don't warn about this
903 ldgeneric_no_Wunused = yes
904
905+# Buggy old compilers.
906+readelf_no_Werror = yes
907+
908 readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
909 nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
910 size_LDADD = $(libelf) $(libeu) $(libmudflap)
911Index: elfutils-0.148/src/Makefile.in
912===================================================================
913--- elfutils-0.148.orig/src/Makefile.in 2010-06-28 19:07:34.000000000 +0000
914+++ elfutils-0.148/src/Makefile.in 2010-07-03 13:04:08.000000000 +0000
915@@ -228,6 +228,7 @@
916 INSTALL_SCRIPT = @INSTALL_SCRIPT@
917 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
918 LDFLAGS = @LDFLAGS@
919+LD_AS_NEEDED = @LD_AS_NEEDED@
920 LEX = @LEX@
921 LEXLIB = @LEXLIB@
922 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
923@@ -257,6 +258,7 @@
924 STRIP = @STRIP@
925 USE_NLS = @USE_NLS@
926 VERSION = @VERSION@
927+WEXTRA = @WEXTRA@
928 XGETTEXT = @XGETTEXT@
929 XGETTEXT_015 = @XGETTEXT_015@
930 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
931@@ -321,7 +323,7 @@
932 -I$(srcdir)/../libasm
933 AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
934 $($(*F)_no_Werror),,-Werror) $(if \
935- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
936+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
937 $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
938 $(am__append_1)
939 @MUDFLAP_FALSE@libmudflap =
940@@ -368,6 +370,9 @@
941 addr2line_no_Wformat = yes
942 # XXX While the file is not finished, don't warn about this
943 ldgeneric_no_Wunused = yes
944+
945+# Buggy old compilers.
946+readelf_no_Werror = yes
947 readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
948 nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
949 size_LDADD = $(libelf) $(libeu) $(libmudflap)
950Index: elfutils-0.148/src/readelf.c
951===================================================================
952--- elfutils-0.148.orig/src/readelf.c 2010-06-28 19:05:56.000000000 +0000
953+++ elfutils-0.148/src/readelf.c 2010-07-03 13:04:08.000000000 +0000
954@@ -7845,7 +7845,7 @@
955 if (unlikely (elf_rand (elf, as_off) == 0)
956 || unlikely ((subelf = elf_begin (-1, ELF_C_READ_MMAP, elf))
957 == NULL))
958-#if __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 7)
959+#if __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 7) || __GNUC__ < 4
960 while (1)
961 #endif
962 error (EXIT_FAILURE, 0,
963Index: elfutils-0.148/src/strings.c
964===================================================================
965--- elfutils-0.148.orig/src/strings.c 2009-02-11 01:12:59.000000000 +0000
966+++ elfutils-0.148/src/strings.c 2010-07-03 13:04:08.000000000 +0000
967@@ -51,6 +51,10 @@
968
969 #include <system.h>
970
971+#ifndef MAP_POPULATE
972+# define MAP_POPULATE 0
973+#endif
974+
975
976 /* Prototypes of local functions. */
977 static int read_fd (int fd, const char *fname, off64_t fdlen);
978@@ -491,8 +495,13 @@
979 fd, start_off);
980 if (mem != MAP_FAILED)
981 {
982+#if !defined POSIX_MADV_SEQUENTIAL && defined MADV_SEQUENTIAL
983+# define POSIX_MADV_SEQUENTIAL MADV_SEQUENTIAL
984+#endif
985+#ifdef POSIX_MADV_SEQUENTIAL
986 /* We will go through the mapping sequentially. */
987 (void) posix_madvise (mem, map_size, POSIX_MADV_SEQUENTIAL);
988+#endif
989 break;
990 }
991 if (errno != EINVAL && errno != ENOMEM)
992@@ -586,9 +595,11 @@
993 elfmap_off = from & ~(ps - 1);
994 elfmap_base = elfmap = map_file (fd, elfmap_off, fdlen, &elfmap_size);
995
996+#ifdef POSIX_FADV_SEQUENTIAL
997 if (unlikely (elfmap == MAP_FAILED))
998 /* Let the kernel know we are going to read everything in sequence. */
999 (void) posix_fadvise (fd, 0, 0, POSIX_FADV_SEQUENTIAL);
1000+#endif
1001 }
1002
1003 if (unlikely (elfmap == MAP_FAILED))
1004Index: elfutils-0.148/src/strip.c
1005===================================================================
1006--- elfutils-0.148.orig/src/strip.c 2010-01-15 09:05:55.000000000 +0000
1007+++ elfutils-0.148/src/strip.c 2010-07-03 13:04:08.000000000 +0000
1008@@ -53,6 +53,12 @@
1009 #include <libebl.h>
1010 #include <system.h>
1011
1012+#ifdef HAVE_FUTIMES
1013+# define FUTIMES(fd, fname, tvp) futimes (fd, tvp)
1014+#else
1015+# define FUTIMES(fd, fname, tvp) utimes (fname, tvp)
1016+#endif
1017+
1018
1019 /* Name and version of program. */
1020 static void print_version (FILE *stream, struct argp_state *state);
1021@@ -301,8 +307,18 @@
1022
1023 /* If we have to preserve the timestamp, we need it in the
1024 format utimes() understands. */
1025+#ifdef HAVE_STRUCT_STAT_ST_ATIM
1026 TIMESPEC_TO_TIMEVAL (&tv[0], &pre_st.st_atim);
1027+#else
1028+ tv[0].tv_sec = pre_st.st_atime;
1029+ tv[0].tv_usec = 0;
1030+#endif
1031+#ifdef HAVE_STRUCT_STAT_ST_MTIM
1032 TIMESPEC_TO_TIMEVAL (&tv[1], &pre_st.st_mtim);
1033+#else
1034+ tv[1].tv_sec = pre_st.st_atime;
1035+ tv[1].tv_usec = 0;
1036+#endif
1037 }
1038
1039 /* Open the file. */
1040@@ -1747,7 +1763,7 @@
1041 /* If requested, preserve the timestamp. */
1042 if (tvp != NULL)
1043 {
1044- if (futimes (fd, tvp) != 0)
1045+ if (FUTIMES (fd, output_fname, tvp) != 0)
1046 {
1047 error (0, errno, gettext ("\
1048 cannot set access and modification date of '%s'"),
1049@@ -1804,7 +1820,7 @@
1050
1051 if (tvp != NULL)
1052 {
1053- if (unlikely (futimes (fd, tvp) != 0))
1054+ if (unlikely (FUTIMES (fd, fname, tvp) != 0))
1055 {
1056 error (0, errno, gettext ("\
1057 cannot set access and modification date of '%s'"), fname);
1058Index: elfutils-0.148/tests/ChangeLog
1059===================================================================
1060--- elfutils-0.148.orig/tests/ChangeLog 2010-06-28 19:05:56.000000000 +0000
1061+++ elfutils-0.148/tests/ChangeLog 2010-07-03 13:04:08.000000000 +0000
1062@@ -154,6 +154,8 @@
1063
1064 2008-01-21 Roland McGrath <roland@redhat.com>
1065
1066+ * line2addr.c (main): Revert last change.
1067+
1068 * testfile45.S.bz2: Add tests for cltq, cqto.
1069 * testfile45.expect.bz2: Adjust.
1070
1071@@ -862,6 +864,11 @@
1072 * Makefile.am (TESTS): Add run-elflint-test.sh.
1073 (EXTRA_DIST): Add run-elflint-test.sh and testfile18.bz2.
1074
1075+2005-05-31 Roland McGrath <roland@redhat.com>
1076+
1077+ * Makefile.am (WEXTRA): New variable, substituted by configure.
1078+ (AM_CFLAGS): Use it in place of -Wextra.
1079+
1080 2005-05-24 Ulrich Drepper <drepper@redhat.com>
1081
1082 * get-files.c (main): Use correct format specifier.
1083Index: elfutils-0.148/tests/line2addr.c
1084===================================================================
1085--- elfutils-0.148.orig/tests/line2addr.c 2009-01-08 20:56:37.000000000 +0000
1086+++ elfutils-0.148/tests/line2addr.c 2010-07-03 13:04:08.000000000 +0000
1087@@ -132,7 +132,7 @@
1088 {
1089 struct args a = { .arg = argv[cnt] };
1090
1091- switch (sscanf (a.arg, "%m[^:]:%d", &a.file, &a.line))
1092+ switch (sscanf (a.arg, "%a[^:]:%d", &a.file, &a.line))
1093 {
1094 default:
1095 case 0:
1096Index: elfutils-0.148/tests/Makefile.in
1097===================================================================
1098--- elfutils-0.148.orig/tests/Makefile.in 2010-06-28 19:07:34.000000000 +0000
1099+++ elfutils-0.148/tests/Makefile.in 2010-07-03 13:04:08.000000000 +0000
1100@@ -372,6 +372,7 @@
1101 INSTALL_SCRIPT = @INSTALL_SCRIPT@
1102 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
1103 LDFLAGS = @LDFLAGS@
1104+LD_AS_NEEDED = @LD_AS_NEEDED@
1105 LEX = @LEX@
1106 LEXLIB = @LEXLIB@
1107 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
1108@@ -401,6 +402,7 @@
1109 STRIP = @STRIP@
1110 USE_NLS = @USE_NLS@
1111 VERSION = @VERSION@
1112+WEXTRA = @WEXTRA@
1113 XGETTEXT = @XGETTEXT@
1114 XGETTEXT_015 = @XGETTEXT_015@
1115 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
1116@@ -462,7 +464,7 @@
1117 INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I.. $(am__append_2)
1118 AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
1119 $($(*F)_no_Werror),,-Werror) $(if \
1120- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
1121+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
1122 $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
1123 $(am__append_1)
1124 @MUDFLAP_FALSE@libmudflap =
diff --git a/meta/recipes-devtools/elfutils/elfutils/redhat-robustify.diff b/meta/recipes-devtools/elfutils/elfutils/redhat-robustify.diff
new file mode 100644
index 0000000000..cd398549df
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils/redhat-robustify.diff
@@ -0,0 +1,1709 @@
1Upstream-Status: Backport
2
3Index: elfutils-0.148/libelf/ChangeLog
4===================================================================
5--- elfutils-0.148.orig/libelf/ChangeLog 2010-07-03 13:07:10.000000000 +0000
6+++ elfutils-0.148/libelf/ChangeLog 2010-07-03 13:07:11.000000000 +0000
7@@ -649,10 +649,53 @@
8 If section content hasn't been read yet, do it before looking for the
9 block size. If no section data present, infer size of section header.
10
11+2005-05-14 Jakub Jelinek <jakub@redhat.com>
12+
13+ * libelfP.h (INVALID_NDX): Define.
14+ * gelf_getdyn.c (gelf_getdyn): Use it. Remove ndx < 0 test if any.
15+ * gelf_getlib.c (gelf_getlib): Likewise.
16+ * gelf_getmove.c (gelf_getmove): Likewise.
17+ * gelf_getrel.c (gelf_getrel): Likewise.
18+ * gelf_getrela.c (gelf_getrela): Likewise.
19+ * gelf_getsym.c (gelf_getsym): Likewise.
20+ * gelf_getsyminfo.c (gelf_getsyminfo): Likewise.
21+ * gelf_getsymshndx.c (gelf_getsymshndx): Likewise.
22+ * gelf_getversym.c (gelf_getversym): Likewise.
23+ * gelf_update_dyn.c (gelf_update_dyn): Likewise.
24+ * gelf_update_lib.c (gelf_update_lib): Likewise.
25+ * gelf_update_move.c (gelf_update_move): Likewise.
26+ * gelf_update_rel.c (gelf_update_rel): Likewise.
27+ * gelf_update_rela.c (gelf_update_rela): Likewise.
28+ * gelf_update_sym.c (gelf_update_sym): Likewise.
29+ * gelf_update_syminfo.c (gelf_update_syminfo): Likewise.
30+ * gelf_update_symshndx.c (gelf_update_symshndx): Likewise.
31+ * gelf_update_versym.c (gelf_update_versym): Likewise.
32+ * elf_newscn.c (elf_newscn): Check for overflow.
33+ * elf32_updatefile.c (__elfw2(LIBELFBITS,updatemmap)): Likewise.
34+ (__elfw2(LIBELFBITS,updatefile)): Likewise.
35+ * elf_begin.c (file_read_elf): Likewise.
36+ * elf32_newphdr.c (elfw2(LIBELFBITS,newphdr)): Likewise.
37+ * elf_getarsym.c (elf_getarsym): Likewise.
38+ * elf32_getshdr.c (elfw2(LIBELFBITS,getshdr)): Likewise.
39 2005-05-11 Ulrich Drepper <drepper@redhat.com>
40
41 * elf.h: Update again.
42
43+2005-05-17 Jakub Jelinek <jakub@redhat.com>
44+
45+ * elf32_getphdr.c (elfw2(LIBELFBITS,getphdr)): Check if program header
46+ table fits into object's bounds.
47+ * elf_getshstrndx.c (elf_getshstrndx): Add elf->start_offset to
48+ elf->map_address. Check if first section header fits into object's
49+ bounds.
50+ * elf32_getshdr.c (elfw2(LIBELFBITS,getshdr)):
51+ Check if section header table fits into object's bounds.
52+ * elf_begin.c (get_shnum): Ensure section headers fits into
53+ object's bounds.
54+ (file_read_elf): Make sure scncnt is small enough to allocate both
55+ ElfXX_Shdr and Elf_Scn array. Make sure section and program header
56+ tables fit into object's bounds. Avoid memory leak on failure.
57+
58 2005-05-09 Ulrich Drepper <drepper@redhat.com>
59
60 * elf.h: Update from glibc.
61Index: elfutils-0.148/libelf/elf32_getphdr.c
62===================================================================
63--- elfutils-0.148.orig/libelf/elf32_getphdr.c 2010-04-21 14:26:40.000000000 +0000
64+++ elfutils-0.148/libelf/elf32_getphdr.c 2010-07-03 13:07:11.000000000 +0000
65@@ -114,6 +114,16 @@
66
67 if (elf->map_address != NULL)
68 {
69+ /* First see whether the information in the ELF header is
70+ valid and it does not ask for too much. */
71+ if (unlikely (ehdr->e_phoff >= elf->maximum_size)
72+ || unlikely (elf->maximum_size - ehdr->e_phoff < size))
73+ {
74+ /* Something is wrong. */
75+ __libelf_seterrno (ELF_E_INVALID_PHDR);
76+ goto out;
77+ }
78+
79 /* All the data is already mapped. Use it. */
80 void *file_phdr = ((char *) elf->map_address
81 + elf->start_offset + ehdr->e_phoff);
82Index: elfutils-0.148/libelf/elf32_getshdr.c
83===================================================================
84--- elfutils-0.148.orig/libelf/elf32_getshdr.c 2009-06-13 22:41:42.000000000 +0000
85+++ elfutils-0.148/libelf/elf32_getshdr.c 2010-07-03 13:07:11.000000000 +0000
86@@ -1,5 +1,5 @@
87 /* Return section header.
88- Copyright (C) 1998, 1999, 2000, 2001, 2002, 2005, 2007, 2009 Red Hat, Inc.
89+ Copyright (C) 1998-2009 Red Hat, Inc.
90 This file is part of Red Hat elfutils.
91 Written by Ulrich Drepper <drepper@redhat.com>, 1998.
92
93@@ -81,7 +81,8 @@
94 goto out;
95
96 size_t shnum;
97- if (__elf_getshdrnum_rdlock (elf, &shnum) != 0)
98+ if (__elf_getshdrnum_rdlock (elf, &shnum) != 0
99+ || shnum > SIZE_MAX / sizeof (ElfW2(LIBELFBITS,Shdr)))
100 goto out;
101 size_t size = shnum * sizeof (ElfW2(LIBELFBITS,Shdr));
102
103@@ -98,6 +99,16 @@
104
105 if (elf->map_address != NULL)
106 {
107+ /* First see whether the information in the ELF header is
108+ valid and it does not ask for too much. */
109+ if (unlikely (ehdr->e_shoff >= elf->maximum_size)
110+ || unlikely (elf->maximum_size - ehdr->e_shoff < size))
111+ {
112+ /* Something is wrong. */
113+ __libelf_seterrno (ELF_E_INVALID_SECTION_HEADER);
114+ goto free_and_out;
115+ }
116+
117 ElfW2(LIBELFBITS,Shdr) *notcvt;
118
119 /* All the data is already mapped. If we could use it
120Index: elfutils-0.148/libelf/elf32_newphdr.c
121===================================================================
122--- elfutils-0.148.orig/libelf/elf32_newphdr.c 2010-01-12 16:57:54.000000000 +0000
123+++ elfutils-0.148/libelf/elf32_newphdr.c 2010-07-03 13:07:11.000000000 +0000
124@@ -135,6 +135,12 @@
125 || count == PN_XNUM
126 || elf->state.ELFW(elf,LIBELFBITS).phdr == NULL)
127 {
128+ if (unlikely (count > SIZE_MAX / sizeof (ElfW2(LIBELFBITS,Phdr))))
129+ {
130+ result = NULL;
131+ goto out;
132+ }
133+
134 /* Allocate a new program header with the appropriate number of
135 elements. */
136 result = (ElfW2(LIBELFBITS,Phdr) *)
137Index: elfutils-0.148/libelf/elf32_updatefile.c
138===================================================================
139--- elfutils-0.148.orig/libelf/elf32_updatefile.c 2010-01-12 16:57:54.000000000 +0000
140+++ elfutils-0.148/libelf/elf32_updatefile.c 2010-07-03 13:07:11.000000000 +0000
141@@ -223,6 +223,9 @@
142 /* Write all the sections. Well, only those which are modified. */
143 if (shnum > 0)
144 {
145+ if (unlikely (shnum > SIZE_MAX / sizeof (Elf_Scn *)))
146+ return 1;
147+
148 Elf_ScnList *list = &elf->state.ELFW(elf,LIBELFBITS).scns;
149 Elf_Scn **scns = (Elf_Scn **) alloca (shnum * sizeof (Elf_Scn *));
150 char *const shdr_start = ((char *) elf->map_address + elf->start_offset
151@@ -645,6 +648,10 @@
152 /* Write all the sections. Well, only those which are modified. */
153 if (shnum > 0)
154 {
155+ if (unlikely (shnum > SIZE_MAX / (sizeof (Elf_Scn *)
156+ + sizeof (ElfW2(LIBELFBITS,Shdr)))))
157+ return 1;
158+
159 off_t shdr_offset = elf->start_offset + ehdr->e_shoff;
160 #if EV_NUM != 2
161 xfct_t shdr_fctp = __elf_xfctstom[__libelf_version - 1][EV_CURRENT - 1][ELFW(ELFCLASS, LIBELFBITS) - 1][ELF_T_SHDR];
162Index: elfutils-0.148/libelf/elf_begin.c
163===================================================================
164--- elfutils-0.148.orig/libelf/elf_begin.c 2010-04-21 14:26:40.000000000 +0000
165+++ elfutils-0.148/libelf/elf_begin.c 2010-07-03 13:07:11.000000000 +0000
166@@ -165,7 +165,8 @@
167
168 if (unlikely (result == 0) && ehdr.e32->e_shoff != 0)
169 {
170- if (ehdr.e32->e_shoff + sizeof (Elf32_Shdr) > maxsize)
171+ if (unlikely (ehdr.e32->e_shoff >= maxsize)
172+ || unlikely (maxsize - ehdr.e32->e_shoff < sizeof (Elf32_Shdr)))
173 /* Cannot read the first section header. */
174 return 0;
175
176@@ -213,7 +214,8 @@
177
178 if (unlikely (result == 0) && ehdr.e64->e_shoff != 0)
179 {
180- if (ehdr.e64->e_shoff + sizeof (Elf64_Shdr) > maxsize)
181+ if (unlikely (ehdr.e64->e_shoff >= maxsize)
182+ || unlikely (ehdr.e64->e_shoff + sizeof (Elf64_Shdr) > maxsize))
183 /* Cannot read the first section header. */
184 return 0;
185
186@@ -285,6 +287,15 @@
187 /* Could not determine the number of sections. */
188 return NULL;
189
190+ /* Check for too many sections. */
191+ if (e_ident[EI_CLASS] == ELFCLASS32)
192+ {
193+ if (scncnt > SIZE_MAX / (sizeof (Elf_Scn) + sizeof (Elf32_Shdr)))
194+ return NULL;
195+ }
196+ else if (scncnt > SIZE_MAX / (sizeof (Elf_Scn) + sizeof (Elf64_Shdr)))
197+ return NULL;
198+
199 /* We can now allocate the memory. Even if there are no section headers,
200 we allocate space for a zeroth section in case we need it later. */
201 const size_t scnmax = (scncnt ?: (cmd == ELF_C_RDWR || cmd == ELF_C_RDWR_MMAP)
202@@ -324,6 +335,16 @@
203 {
204 /* We can use the mmapped memory. */
205 elf->state.elf32.ehdr = ehdr;
206+
207+ if (unlikely (ehdr->e_shoff >= maxsize)
208+ || unlikely (maxsize - ehdr->e_shoff
209+ < scncnt * sizeof (Elf32_Shdr)))
210+ {
211+ free_and_out:
212+ free (elf);
213+ __libelf_seterrno (ELF_E_INVALID_FILE);
214+ return NULL;
215+ }
216 elf->state.elf32.shdr
217 = (Elf32_Shdr *) ((char *) ehdr + ehdr->e_shoff);
218
219@@ -410,6 +431,11 @@
220 {
221 /* We can use the mmapped memory. */
222 elf->state.elf64.ehdr = ehdr;
223+
224+ if (unlikely (ehdr->e_shoff >= maxsize)
225+ || unlikely (ehdr->e_shoff
226+ + scncnt * sizeof (Elf32_Shdr) > maxsize))
227+ goto free_and_out;
228 elf->state.elf64.shdr
229 = (Elf64_Shdr *) ((char *) ehdr + ehdr->e_shoff);
230
231Index: elfutils-0.148/libelf/elf_getarsym.c
232===================================================================
233--- elfutils-0.148.orig/libelf/elf_getarsym.c 2009-01-08 20:56:37.000000000 +0000
234+++ elfutils-0.148/libelf/elf_getarsym.c 2010-07-03 13:07:11.000000000 +0000
235@@ -179,6 +179,9 @@
236 size_t index_size = atol (tmpbuf);
237
238 if (SARMAG + sizeof (struct ar_hdr) + index_size > elf->maximum_size
239+#if SIZE_MAX <= 4294967295U
240+ || n >= SIZE_MAX / sizeof (Elf_Arsym)
241+#endif
242 || n * sizeof (uint32_t) > index_size)
243 {
244 /* This index table cannot be right since it does not fit into
245Index: elfutils-0.148/libelf/elf_getshdrstrndx.c
246===================================================================
247--- elfutils-0.148.orig/libelf/elf_getshdrstrndx.c 2009-06-13 22:31:35.000000000 +0000
248+++ elfutils-0.148/libelf/elf_getshdrstrndx.c 2010-07-03 13:07:11.000000000 +0000
249@@ -125,10 +125,25 @@
250 if (elf->map_address != NULL
251 && elf->state.elf32.ehdr->e_ident[EI_DATA] == MY_ELFDATA
252 && (ALLOW_UNALIGNED
253- || (((size_t) ((char *) elf->map_address + offset))
254+ || (((size_t) ((char *) elf->map_address
255+ + elf->start_offset + offset))
256 & (__alignof__ (Elf32_Shdr) - 1)) == 0))
257- /* We can directly access the memory. */
258- num = ((Elf32_Shdr *) (elf->map_address + offset))->sh_link;
259+ {
260+ /* First see whether the information in the ELF header is
261+ valid and it does not ask for too much. */
262+ if (unlikely (elf->maximum_size - offset
263+ < sizeof (Elf32_Shdr)))
264+ {
265+ /* Something is wrong. */
266+ __libelf_seterrno (ELF_E_INVALID_SECTION_HEADER);
267+ result = -1;
268+ goto out;
269+ }
270+
271+ /* We can directly access the memory. */
272+ num = ((Elf32_Shdr *) (elf->map_address + elf->start_offset
273+ + offset))->sh_link;
274+ }
275 else
276 {
277 /* We avoid reading in all the section headers. Just read
278@@ -163,10 +178,25 @@
279 if (elf->map_address != NULL
280 && elf->state.elf64.ehdr->e_ident[EI_DATA] == MY_ELFDATA
281 && (ALLOW_UNALIGNED
282- || (((size_t) ((char *) elf->map_address + offset))
283+ || (((size_t) ((char *) elf->map_address
284+ + elf->start_offset + offset))
285 & (__alignof__ (Elf64_Shdr) - 1)) == 0))
286- /* We can directly access the memory. */
287- num = ((Elf64_Shdr *) (elf->map_address + offset))->sh_link;
288+ {
289+ /* First see whether the information in the ELF header is
290+ valid and it does not ask for too much. */
291+ if (unlikely (elf->maximum_size - offset
292+ < sizeof (Elf64_Shdr)))
293+ {
294+ /* Something is wrong. */
295+ __libelf_seterrno (ELF_E_INVALID_SECTION_HEADER);
296+ result = -1;
297+ goto out;
298+ }
299+
300+ /* We can directly access the memory. */
301+ num = ((Elf64_Shdr *) (elf->map_address + elf->start_offset
302+ + offset))->sh_link;
303+ }
304 else
305 {
306 /* We avoid reading in all the section headers. Just read
307Index: elfutils-0.148/libelf/elf_newscn.c
308===================================================================
309--- elfutils-0.148.orig/libelf/elf_newscn.c 2009-01-08 20:56:37.000000000 +0000
310+++ elfutils-0.148/libelf/elf_newscn.c 2010-07-03 13:07:11.000000000 +0000
311@@ -104,10 +104,18 @@
312 else
313 {
314 /* We must allocate a new element. */
315- Elf_ScnList *newp;
316+ Elf_ScnList *newp = NULL;
317
318 assert (elf->state.elf.scnincr > 0);
319
320+ if (
321+#if SIZE_MAX <= 4294967295U
322+ likely (elf->state.elf.scnincr
323+ < SIZE_MAX / 2 / sizeof (Elf_Scn) - sizeof (Elf_ScnList))
324+#else
325+ 1
326+#endif
327+ )
328 newp = (Elf_ScnList *) calloc (sizeof (Elf_ScnList)
329 + ((elf->state.elf.scnincr *= 2)
330 * sizeof (Elf_Scn)), 1);
331Index: elfutils-0.148/libelf/gelf_getdyn.c
332===================================================================
333--- elfutils-0.148.orig/libelf/gelf_getdyn.c 2009-01-08 20:56:37.000000000 +0000
334+++ elfutils-0.148/libelf/gelf_getdyn.c 2010-07-03 13:07:11.000000000 +0000
335@@ -1,5 +1,5 @@
336 /* Get information from dynamic table at the given index.
337- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
338+ Copyright (C) 2000-2009 Red Hat, Inc.
339 This file is part of Red Hat elfutils.
340 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
341
342@@ -93,7 +93,7 @@
343 table entries has to be adopted. The user better has provided
344 a buffer where we can store the information. While copying the
345 data we are converting the format. */
346- if (unlikely ((ndx + 1) * sizeof (Elf32_Dyn) > data_scn->d.d_size))
347+ if (INVALID_NDX (ndx, Elf32_Dyn, &data_scn->d))
348 {
349 __libelf_seterrno (ELF_E_INVALID_INDEX);
350 goto out;
351@@ -114,7 +114,7 @@
352
353 /* The data is already in the correct form. Just make sure the
354 index is OK. */
355- if (unlikely ((ndx + 1) * sizeof (GElf_Dyn) > data_scn->d.d_size))
356+ if (INVALID_NDX (ndx, GElf_Dyn, &data_scn->d))
357 {
358 __libelf_seterrno (ELF_E_INVALID_INDEX);
359 goto out;
360Index: elfutils-0.148/libelf/gelf_getlib.c
361===================================================================
362--- elfutils-0.148.orig/libelf/gelf_getlib.c 2009-01-08 20:56:37.000000000 +0000
363+++ elfutils-0.148/libelf/gelf_getlib.c 2010-07-03 13:07:11.000000000 +0000
364@@ -1,5 +1,5 @@
365 /* Get library from table at the given index.
366- Copyright (C) 2004 Red Hat, Inc.
367+ Copyright (C) 2004-2009 Red Hat, Inc.
368 This file is part of Red Hat elfutils.
369 Written by Ulrich Drepper <drepper@redhat.com>, 2004.
370
371@@ -86,7 +86,7 @@
372 /* The data is already in the correct form. Just make sure the
373 index is OK. */
374 GElf_Lib *result = NULL;
375- if (unlikely ((ndx + 1) * sizeof (GElf_Lib) > data->d_size))
376+ if (INVALID_NDX (ndx, GElf_Lib, data))
377 __libelf_seterrno (ELF_E_INVALID_INDEX);
378 else
379 {
380Index: elfutils-0.148/libelf/gelf_getmove.c
381===================================================================
382--- elfutils-0.148.orig/libelf/gelf_getmove.c 2009-01-08 20:56:37.000000000 +0000
383+++ elfutils-0.148/libelf/gelf_getmove.c 2010-07-03 13:07:11.000000000 +0000
384@@ -1,5 +1,5 @@
385 /* Get move structure at the given index.
386- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
387+ Copyright (C) 2000-2009 Red Hat, Inc.
388 This file is part of Red Hat elfutils.
389 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
390
391@@ -83,7 +83,7 @@
392
393 /* The data is already in the correct form. Just make sure the
394 index is OK. */
395- if (unlikely ((ndx + 1) * sizeof (GElf_Move) > data->d_size))
396+ if (INVALID_NDX (ndx, GElf_Move, data))
397 {
398 __libelf_seterrno (ELF_E_INVALID_INDEX);
399 goto out;
400Index: elfutils-0.148/libelf/gelf_getrela.c
401===================================================================
402--- elfutils-0.148.orig/libelf/gelf_getrela.c 2009-01-08 20:56:37.000000000 +0000
403+++ elfutils-0.148/libelf/gelf_getrela.c 2010-07-03 13:07:11.000000000 +0000
404@@ -1,5 +1,5 @@
405 /* Get RELA relocation information at given index.
406- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
407+ Copyright (C) 2000-2009 Red Hat, Inc.
408 This file is part of Red Hat elfutils.
409 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
410
411@@ -71,12 +71,6 @@
412 if (data_scn == NULL)
413 return NULL;
414
415- if (unlikely (ndx < 0))
416- {
417- __libelf_seterrno (ELF_E_INVALID_INDEX);
418- return NULL;
419- }
420-
421 if (unlikely (data_scn->d.d_type != ELF_T_RELA))
422 {
423 __libelf_seterrno (ELF_E_INVALID_HANDLE);
424@@ -93,7 +87,7 @@
425 if (scn->elf->class == ELFCLASS32)
426 {
427 /* We have to convert the data. */
428- if (unlikely ((ndx + 1) * sizeof (Elf32_Rela) > data_scn->d.d_size))
429+ if (INVALID_NDX (ndx, Elf32_Rela, &data_scn->d))
430 {
431 __libelf_seterrno (ELF_E_INVALID_INDEX);
432 result = NULL;
433@@ -114,7 +108,7 @@
434 {
435 /* Simply copy the data after we made sure we are actually getting
436 correct data. */
437- if (unlikely ((ndx + 1) * sizeof (Elf64_Rela) > data_scn->d.d_size))
438+ if (INVALID_NDX (ndx, Elf64_Rela, &data_scn->d))
439 {
440 __libelf_seterrno (ELF_E_INVALID_INDEX);
441 result = NULL;
442Index: elfutils-0.148/libelf/gelf_getrel.c
443===================================================================
444--- elfutils-0.148.orig/libelf/gelf_getrel.c 2009-01-08 20:56:37.000000000 +0000
445+++ elfutils-0.148/libelf/gelf_getrel.c 2010-07-03 13:07:11.000000000 +0000
446@@ -1,5 +1,5 @@
447 /* Get REL relocation information at given index.
448- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
449+ Copyright (C) 2000-2009 Red Hat, Inc.
450 This file is part of Red Hat elfutils.
451 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
452
453@@ -71,12 +71,6 @@
454 if (data_scn == NULL)
455 return NULL;
456
457- if (unlikely (ndx < 0))
458- {
459- __libelf_seterrno (ELF_E_INVALID_INDEX);
460- return NULL;
461- }
462-
463 if (unlikely (data_scn->d.d_type != ELF_T_REL))
464 {
465 __libelf_seterrno (ELF_E_INVALID_HANDLE);
466@@ -93,7 +87,7 @@
467 if (scn->elf->class == ELFCLASS32)
468 {
469 /* We have to convert the data. */
470- if (unlikely ((ndx + 1) * sizeof (Elf32_Rel) > data_scn->d.d_size))
471+ if (INVALID_NDX (ndx, Elf32_Rel, &data_scn->d))
472 {
473 __libelf_seterrno (ELF_E_INVALID_INDEX);
474 result = NULL;
475@@ -113,7 +107,7 @@
476 {
477 /* Simply copy the data after we made sure we are actually getting
478 correct data. */
479- if (unlikely ((ndx + 1) * sizeof (Elf64_Rel) > data_scn->d.d_size))
480+ if (INVALID_NDX (ndx, Elf64_Rel, &data_scn->d))
481 {
482 __libelf_seterrno (ELF_E_INVALID_INDEX);
483 result = NULL;
484Index: elfutils-0.148/libelf/gelf_getsym.c
485===================================================================
486--- elfutils-0.148.orig/libelf/gelf_getsym.c 2009-01-08 20:56:37.000000000 +0000
487+++ elfutils-0.148/libelf/gelf_getsym.c 2010-07-03 13:07:11.000000000 +0000
488@@ -1,5 +1,5 @@
489 /* Get symbol information from symbol table at the given index.
490- Copyright (C) 1999, 2000, 2001, 2002 Red Hat, Inc.
491+ Copyright (C) 1999-2009 Red Hat, Inc.
492 This file is part of Red Hat elfutils.
493 Written by Ulrich Drepper <drepper@redhat.com>, 1999.
494
495@@ -90,7 +90,7 @@
496 table entries has to be adopted. The user better has provided
497 a buffer where we can store the information. While copying the
498 data we are converting the format. */
499- if (unlikely ((ndx + 1) * sizeof (Elf32_Sym) > data->d_size))
500+ if (INVALID_NDX (ndx, Elf32_Sym, data))
501 {
502 __libelf_seterrno (ELF_E_INVALID_INDEX);
503 goto out;
504@@ -119,7 +119,7 @@
505
506 /* The data is already in the correct form. Just make sure the
507 index is OK. */
508- if (unlikely ((ndx + 1) * sizeof (GElf_Sym) > data->d_size))
509+ if (INVALID_NDX (ndx, GElf_Sym, data))
510 {
511 __libelf_seterrno (ELF_E_INVALID_INDEX);
512 goto out;
513Index: elfutils-0.148/libelf/gelf_getsyminfo.c
514===================================================================
515--- elfutils-0.148.orig/libelf/gelf_getsyminfo.c 2009-01-08 20:56:37.000000000 +0000
516+++ elfutils-0.148/libelf/gelf_getsyminfo.c 2010-07-03 13:07:11.000000000 +0000
517@@ -1,5 +1,5 @@
518 /* Get additional symbol information from symbol table at the given index.
519- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
520+ Copyright (C) 2000-2009 Red Hat, Inc.
521 This file is part of Red Hat elfutils.
522 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
523
524@@ -84,7 +84,7 @@
525
526 /* The data is already in the correct form. Just make sure the
527 index is OK. */
528- if (unlikely ((ndx + 1) * sizeof (GElf_Syminfo) > data->d_size))
529+ if (INVALID_NDX (ndx, GElf_Syminfo, data))
530 {
531 __libelf_seterrno (ELF_E_INVALID_INDEX);
532 goto out;
533Index: elfutils-0.148/libelf/gelf_getsymshndx.c
534===================================================================
535--- elfutils-0.148.orig/libelf/gelf_getsymshndx.c 2009-01-08 20:56:37.000000000 +0000
536+++ elfutils-0.148/libelf/gelf_getsymshndx.c 2010-07-03 13:07:11.000000000 +0000
537@@ -1,6 +1,6 @@
538 /* Get symbol information and separate section index from symbol table
539 at the given index.
540- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
541+ Copyright (C) 2000-2009 Red Hat, Inc.
542 This file is part of Red Hat elfutils.
543 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
544
545@@ -90,7 +90,7 @@
546 section index table. */
547 if (likely (shndxdata_scn != NULL))
548 {
549- if (unlikely ((ndx + 1) * sizeof (Elf32_Word) > shndxdata_scn->d.d_size))
550+ if (INVALID_NDX (ndx, Elf32_Word, &shndxdata_scn->d))
551 {
552 __libelf_seterrno (ELF_E_INVALID_INDEX);
553 goto out;
554@@ -110,7 +110,7 @@
555 table entries has to be adopted. The user better has provided
556 a buffer where we can store the information. While copying the
557 data we are converting the format. */
558- if (unlikely ((ndx + 1) * sizeof (Elf32_Sym) > symdata->d_size))
559+ if (INVALID_NDX (ndx, Elf32_Sym, symdata))
560 {
561 __libelf_seterrno (ELF_E_INVALID_INDEX);
562 goto out;
563@@ -139,7 +139,7 @@
564
565 /* The data is already in the correct form. Just make sure the
566 index is OK. */
567- if (unlikely ((ndx + 1) * sizeof (GElf_Sym) > symdata->d_size))
568+ if (INVALID_NDX (ndx, GElf_Sym, symdata))
569 {
570 __libelf_seterrno (ELF_E_INVALID_INDEX);
571 goto out;
572Index: elfutils-0.148/libelf/gelf_getversym.c
573===================================================================
574--- elfutils-0.148.orig/libelf/gelf_getversym.c 2009-01-08 20:56:37.000000000 +0000
575+++ elfutils-0.148/libelf/gelf_getversym.c 2010-07-03 13:07:11.000000000 +0000
576@@ -1,5 +1,5 @@
577 /* Get symbol version information at the given index.
578- Copyright (C) 1999, 2000, 2001, 2002 Red Hat, Inc.
579+ Copyright (C) 1999-2009 Red Hat, Inc.
580 This file is part of Red Hat elfutils.
581 Written by Ulrich Drepper <drepper@redhat.com>, 1999.
582
583@@ -92,7 +92,7 @@
584
585 /* The data is already in the correct form. Just make sure the
586 index is OK. */
587- if (unlikely ((ndx + 1) * sizeof (GElf_Versym) > data->d_size))
588+ if (INVALID_NDX (ndx, GElf_Versym, data))
589 {
590 __libelf_seterrno (ELF_E_INVALID_INDEX);
591 result = NULL;
592Index: elfutils-0.148/libelf/gelf_update_dyn.c
593===================================================================
594--- elfutils-0.148.orig/libelf/gelf_update_dyn.c 2009-01-08 20:56:37.000000000 +0000
595+++ elfutils-0.148/libelf/gelf_update_dyn.c 2010-07-03 13:07:11.000000000 +0000
596@@ -1,5 +1,5 @@
597 /* Update information in dynamic table at the given index.
598- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
599+ Copyright (C) 2000-2009 Red Hat, Inc.
600 This file is part of Red Hat elfutils.
601 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
602
603@@ -71,12 +71,6 @@
604 if (data == NULL)
605 return 0;
606
607- if (unlikely (ndx < 0))
608- {
609- __libelf_seterrno (ELF_E_INVALID_INDEX);
610- return 0;
611- }
612-
613 if (unlikely (data_scn->d.d_type != ELF_T_DYN))
614 {
615 /* The type of the data better should match. */
616@@ -102,7 +96,7 @@
617 }
618
619 /* Check whether we have to resize the data buffer. */
620- if (unlikely ((ndx + 1) * sizeof (Elf32_Dyn) > data_scn->d.d_size))
621+ if (INVALID_NDX (ndx, Elf32_Dyn, &data_scn->d))
622 {
623 __libelf_seterrno (ELF_E_INVALID_INDEX);
624 goto out;
625@@ -116,7 +110,7 @@
626 else
627 {
628 /* Check whether we have to resize the data buffer. */
629- if (unlikely ((ndx + 1) * sizeof (Elf64_Dyn) > data_scn->d.d_size))
630+ if (INVALID_NDX (ndx, Elf64_Dyn, &data_scn->d))
631 {
632 __libelf_seterrno (ELF_E_INVALID_INDEX);
633 goto out;
634Index: elfutils-0.148/libelf/gelf_update_lib.c
635===================================================================
636--- elfutils-0.148.orig/libelf/gelf_update_lib.c 2009-01-08 20:56:37.000000000 +0000
637+++ elfutils-0.148/libelf/gelf_update_lib.c 2010-07-03 13:07:11.000000000 +0000
638@@ -1,5 +1,5 @@
639 /* Update library in table at the given index.
640- Copyright (C) 2004 Red Hat, Inc.
641+ Copyright (C) 2004-2009 Red Hat, Inc.
642 This file is part of Red Hat elfutils.
643 Written by Ulrich Drepper <drepper@redhat.com>, 2004.
644
645@@ -68,12 +68,6 @@
646 if (data == NULL)
647 return 0;
648
649- if (unlikely (ndx < 0))
650- {
651- __libelf_seterrno (ELF_E_INVALID_INDEX);
652- return 0;
653- }
654-
655 Elf_Data_Scn *data_scn = (Elf_Data_Scn *) data;
656 if (unlikely (data_scn->d.d_type != ELF_T_LIB))
657 {
658@@ -87,7 +81,7 @@
659
660 /* Check whether we have to resize the data buffer. */
661 int result = 0;
662- if (unlikely ((ndx + 1) * sizeof (Elf64_Lib) > data_scn->d.d_size))
663+ if (INVALID_NDX (ndx, Elf64_Lib, &data_scn->d))
664 __libelf_seterrno (ELF_E_INVALID_INDEX);
665 else
666 {
667Index: elfutils-0.148/libelf/gelf_update_move.c
668===================================================================
669--- elfutils-0.148.orig/libelf/gelf_update_move.c 2009-01-08 20:56:37.000000000 +0000
670+++ elfutils-0.148/libelf/gelf_update_move.c 2010-07-03 13:07:11.000000000 +0000
671@@ -1,5 +1,5 @@
672 /* Update move structure at the given index.
673- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
674+ Copyright (C) 2000-2009 Red Hat, Inc.
675 This file is part of Red Hat elfutils.
676 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
677
678@@ -75,8 +75,7 @@
679 assert (sizeof (GElf_Move) == sizeof (Elf64_Move));
680
681 /* Check whether we have to resize the data buffer. */
682- if (unlikely (ndx < 0)
683- || unlikely ((ndx + 1) * sizeof (GElf_Move) > data_scn->d.d_size))
684+ if (INVALID_NDX (ndx, GElf_Move, &data_scn->d))
685 {
686 __libelf_seterrno (ELF_E_INVALID_INDEX);
687 return 0;
688Index: elfutils-0.148/libelf/gelf_update_rela.c
689===================================================================
690--- elfutils-0.148.orig/libelf/gelf_update_rela.c 2009-01-08 20:56:37.000000000 +0000
691+++ elfutils-0.148/libelf/gelf_update_rela.c 2010-07-03 13:07:11.000000000 +0000
692@@ -1,5 +1,5 @@
693 /* Update RELA relocation information at given index.
694- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
695+ Copyright (C) 2000-2009 Red Hat, Inc.
696 This file is part of Red Hat elfutils.
697 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
698
699@@ -68,12 +68,6 @@
700 if (dst == NULL)
701 return 0;
702
703- if (unlikely (ndx < 0))
704- {
705- __libelf_seterrno (ELF_E_INVALID_INDEX);
706- return 0;
707- }
708-
709 if (unlikely (data_scn->d.d_type != ELF_T_RELA))
710 {
711 /* The type of the data better should match. */
712@@ -101,7 +95,7 @@
713 }
714
715 /* Check whether we have to resize the data buffer. */
716- if (unlikely ((ndx + 1) * sizeof (Elf32_Rela) > data_scn->d.d_size))
717+ if (INVALID_NDX (ndx, Elf32_Rela, &data_scn->d))
718 {
719 __libelf_seterrno (ELF_E_INVALID_INDEX);
720 goto out;
721@@ -117,7 +111,7 @@
722 else
723 {
724 /* Check whether we have to resize the data buffer. */
725- if (unlikely ((ndx + 1) * sizeof (Elf64_Rela) > data_scn->d.d_size))
726+ if (INVALID_NDX (ndx, Elf64_Rela, &data_scn->d))
727 {
728 __libelf_seterrno (ELF_E_INVALID_INDEX);
729 goto out;
730Index: elfutils-0.148/libelf/gelf_update_rel.c
731===================================================================
732--- elfutils-0.148.orig/libelf/gelf_update_rel.c 2009-01-08 20:56:37.000000000 +0000
733+++ elfutils-0.148/libelf/gelf_update_rel.c 2010-07-03 13:07:11.000000000 +0000
734@@ -1,5 +1,5 @@
735 /* Update REL relocation information at given index.
736- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
737+ Copyright (C) 2000-2009 Red Hat, Inc.
738 This file is part of Red Hat elfutils.
739 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
740
741@@ -68,12 +68,6 @@
742 if (dst == NULL)
743 return 0;
744
745- if (unlikely (ndx < 0))
746- {
747- __libelf_seterrno (ELF_E_INVALID_INDEX);
748- return 0;
749- }
750-
751 if (unlikely (data_scn->d.d_type != ELF_T_REL))
752 {
753 /* The type of the data better should match. */
754@@ -99,7 +93,7 @@
755 }
756
757 /* Check whether we have to resize the data buffer. */
758- if (unlikely ((ndx + 1) * sizeof (Elf32_Rel) > data_scn->d.d_size))
759+ if (INVALID_NDX (ndx, Elf32_Rel, &data_scn->d))
760 {
761 __libelf_seterrno (ELF_E_INVALID_INDEX);
762 goto out;
763@@ -114,7 +108,7 @@
764 else
765 {
766 /* Check whether we have to resize the data buffer. */
767- if (unlikely ((ndx + 1) * sizeof (Elf64_Rel) > data_scn->d.d_size))
768+ if (INVALID_NDX (ndx, Elf64_Rel, &data_scn->d))
769 {
770 __libelf_seterrno (ELF_E_INVALID_INDEX);
771 goto out;
772Index: elfutils-0.148/libelf/gelf_update_sym.c
773===================================================================
774--- elfutils-0.148.orig/libelf/gelf_update_sym.c 2009-01-08 20:56:37.000000000 +0000
775+++ elfutils-0.148/libelf/gelf_update_sym.c 2010-07-03 13:07:11.000000000 +0000
776@@ -1,5 +1,5 @@
777 /* Update symbol information in symbol table at the given index.
778- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
779+ Copyright (C) 2000-2009 Red Hat, Inc.
780 This file is part of Red Hat elfutils.
781 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
782
783@@ -72,12 +72,6 @@
784 if (data == NULL)
785 return 0;
786
787- if (unlikely (ndx < 0))
788- {
789- __libelf_seterrno (ELF_E_INVALID_INDEX);
790- return 0;
791- }
792-
793 if (unlikely (data_scn->d.d_type != ELF_T_SYM))
794 {
795 /* The type of the data better should match. */
796@@ -102,7 +96,7 @@
797 }
798
799 /* Check whether we have to resize the data buffer. */
800- if (unlikely ((ndx + 1) * sizeof (Elf32_Sym) > data_scn->d.d_size))
801+ if (INVALID_NDX (ndx, Elf32_Sym, &data_scn->d))
802 {
803 __libelf_seterrno (ELF_E_INVALID_INDEX);
804 goto out;
805@@ -125,7 +119,7 @@
806 else
807 {
808 /* Check whether we have to resize the data buffer. */
809- if (unlikely ((ndx + 1) * sizeof (Elf64_Sym) > data_scn->d.d_size))
810+ if (INVALID_NDX (ndx, Elf64_Sym, &data_scn->d))
811 {
812 __libelf_seterrno (ELF_E_INVALID_INDEX);
813 goto out;
814Index: elfutils-0.148/libelf/gelf_update_syminfo.c
815===================================================================
816--- elfutils-0.148.orig/libelf/gelf_update_syminfo.c 2009-01-08 20:56:37.000000000 +0000
817+++ elfutils-0.148/libelf/gelf_update_syminfo.c 2010-07-03 13:07:11.000000000 +0000
818@@ -1,5 +1,5 @@
819 /* Update additional symbol information in symbol table at the given index.
820- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
821+ Copyright (C) 2000-2009 Red Hat, Inc.
822 This file is part of Red Hat elfutils.
823 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
824
825@@ -72,12 +72,6 @@
826 if (data == NULL)
827 return 0;
828
829- if (unlikely (ndx < 0))
830- {
831- __libelf_seterrno (ELF_E_INVALID_INDEX);
832- return 0;
833- }
834-
835 if (unlikely (data_scn->d.d_type != ELF_T_SYMINFO))
836 {
837 /* The type of the data better should match. */
838@@ -93,7 +87,7 @@
839 rwlock_wrlock (scn->elf->lock);
840
841 /* Check whether we have to resize the data buffer. */
842- if (unlikely ((ndx + 1) * sizeof (GElf_Syminfo) > data_scn->d.d_size))
843+ if (INVALID_NDX (ndx, GElf_Syminfo, &data_scn->d))
844 {
845 __libelf_seterrno (ELF_E_INVALID_INDEX);
846 goto out;
847Index: elfutils-0.148/libelf/gelf_update_symshndx.c
848===================================================================
849--- elfutils-0.148.orig/libelf/gelf_update_symshndx.c 2009-01-08 20:56:37.000000000 +0000
850+++ elfutils-0.148/libelf/gelf_update_symshndx.c 2010-07-03 13:07:11.000000000 +0000
851@@ -1,6 +1,6 @@
852 /* Update symbol information and section index in symbol table at the
853 given index.
854- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
855+ Copyright (C) 2000-2009 Red Hat, Inc.
856 This file is part of Red Hat elfutils.
857 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
858
859@@ -77,12 +77,6 @@
860 if (symdata == NULL)
861 return 0;
862
863- if (unlikely (ndx < 0))
864- {
865- __libelf_seterrno (ELF_E_INVALID_INDEX);
866- return 0;
867- }
868-
869 if (unlikely (symdata_scn->d.d_type != ELF_T_SYM))
870 {
871 /* The type of the data better should match. */
872@@ -128,7 +122,7 @@
873 }
874
875 /* Check whether we have to resize the data buffer. */
876- if (unlikely ((ndx + 1) * sizeof (Elf32_Sym) > symdata_scn->d.d_size))
877+ if (INVALID_NDX (ndx, Elf32_Sym, &symdata_scn->d))
878 {
879 __libelf_seterrno (ELF_E_INVALID_INDEX);
880 goto out;
881@@ -151,7 +145,7 @@
882 else
883 {
884 /* Check whether we have to resize the data buffer. */
885- if (unlikely ((ndx + 1) * sizeof (Elf64_Sym) > symdata_scn->d.d_size))
886+ if (INVALID_NDX (ndx, Elf64_Sym, &symdata_scn->d))
887 {
888 __libelf_seterrno (ELF_E_INVALID_INDEX);
889 goto out;
890Index: elfutils-0.148/libelf/gelf_update_versym.c
891===================================================================
892--- elfutils-0.148.orig/libelf/gelf_update_versym.c 2009-01-08 20:56:37.000000000 +0000
893+++ elfutils-0.148/libelf/gelf_update_versym.c 2010-07-03 13:07:11.000000000 +0000
894@@ -1,5 +1,5 @@
895 /* Update symbol version information.
896- Copyright (C) 2001, 2002 Red Hat, Inc.
897+ Copyright (C) 2001-2009 Red Hat, Inc.
898 This file is part of Red Hat elfutils.
899 Written by Ulrich Drepper <drepper@redhat.com>, 2001.
900
901@@ -75,8 +75,7 @@
902 assert (sizeof (GElf_Versym) == sizeof (Elf64_Versym));
903
904 /* Check whether we have to resize the data buffer. */
905- if (unlikely (ndx < 0)
906- || unlikely ((ndx + 1) * sizeof (GElf_Versym) > data_scn->d.d_size))
907+ if (INVALID_NDX (ndx, GElf_Versym, &data_scn->d))
908 {
909 __libelf_seterrno (ELF_E_INVALID_INDEX);
910 return 0;
911Index: elfutils-0.148/libelf/libelfP.h
912===================================================================
913--- elfutils-0.148.orig/libelf/libelfP.h 2010-01-12 16:57:54.000000000 +0000
914+++ elfutils-0.148/libelf/libelfP.h 2010-07-03 13:07:11.000000000 +0000
915@@ -608,4 +608,8 @@
916 /* Align offset to 4 bytes as needed for note name and descriptor data. */
917 #define NOTE_ALIGN(n) (((n) + 3) & -4U)
918
919+/* Convenience macro. */
920+#define INVALID_NDX(ndx, type, data) \
921+ unlikely ((data)->d_size / sizeof (type) <= (unsigned int) (ndx))
922+
923 #endif /* libelfP.h */
924Index: elfutils-0.148/src/ChangeLog
925===================================================================
926--- elfutils-0.148.orig/src/ChangeLog 2010-07-03 13:07:10.000000000 +0000
927+++ elfutils-0.148/src/ChangeLog 2010-07-03 13:07:11.000000000 +0000
928@@ -1640,6 +1640,16 @@
929 object symbols or symbols with unknown type.
930 (check_rel): Likewise.
931
932+2005-06-09 Roland McGrath <roland@redhat.com>
933+
934+ * readelf.c (handle_dynamic, handle_symtab): Check for bogus sh_link.
935+ (handle_verneed, handle_verdef, handle_versym, handle_hash): Likewise.
936+ (handle_scngrp): Check for bogus sh_info.
937+
938+ * strip.c (handle_elf): Check for bogus values in sh_link, sh_info,
939+ st_shndx, e_shstrndx, and SHT_GROUP or SHT_SYMTAB_SHNDX data.
940+ Don't use assert on input values, instead bail with "illformed" error.
941+
942 2005-06-08 Roland McGrath <roland@redhat.com>
943
944 * readelf.c (print_ops): Add consts.
945@@ -1690,6 +1700,19 @@
946
947 * readelf.c (dwarf_tag_string): Add new tags.
948
949+2005-05-17 Jakub Jelinek <jakub@redhat.com>
950+
951+ * elflint.c (check_hash): Don't check entries beyond end of section.
952+ (check_note): Don't crash if gelf_rawchunk fails.
953+ (section_name): Return <invalid> if gelf_getshdr returns NULL.
954+
955+2005-05-14 Jakub Jelinek <jakub@redhat.com>
956+
957+ * elflint.c (section_name): Return "<invalid>" instead of
958+ crashing on invalid section name.
959+ (check_symtab, is_rel_dyn, check_rela, check_rel, check_dynamic,
960+ check_symtab_shndx, check_hash, check_versym): Robustify.
961+
962 2005-05-08 Roland McGrath <roland@redhat.com>
963
964 * strip.c (handle_elf): Don't translate hash and versym data formats,
965Index: elfutils-0.148/src/elflint.c
966===================================================================
967--- elfutils-0.148.orig/src/elflint.c 2010-04-13 20:08:02.000000000 +0000
968+++ elfutils-0.148/src/elflint.c 2010-07-03 13:07:11.000000000 +0000
969@@ -131,6 +131,10 @@
970 /* Array to count references in section groups. */
971 static int *scnref;
972
973+/* Numbers of sections and program headers. */
974+static unsigned int shnum;
975+static unsigned int phnum;
976+
977
978 int
979 main (int argc, char *argv[])
980@@ -319,10 +323,19 @@
981 {
982 GElf_Shdr shdr_mem;
983 GElf_Shdr *shdr;
984+ const char *ret;
985+
986+ if ((unsigned int) idx > shnum)
987+ return "<invalid>";
988
989 shdr = gelf_getshdr (elf_getscn (ebl->elf, idx), &shdr_mem);
990+ if (shdr == NULL)
991+ return "<invalid>";
992
993- return elf_strptr (ebl->elf, shstrndx, shdr->sh_name);
994+ ret = elf_strptr (ebl->elf, shstrndx, shdr->sh_name);
995+ if (ret == NULL)
996+ return "<invalid>";
997+ return ret;
998 }
999
1000
1001@@ -344,11 +357,6 @@
1002 (sizeof (valid_e_machine) / sizeof (valid_e_machine[0]))
1003
1004
1005-/* Numbers of sections and program headers. */
1006-static unsigned int shnum;
1007-static unsigned int phnum;
1008-
1009-
1010 static void
1011 check_elf_header (Ebl *ebl, GElf_Ehdr *ehdr, size_t size)
1012 {
1013@@ -632,7 +640,8 @@
1014 }
1015 }
1016
1017- if (shdr->sh_entsize != gelf_fsize (ebl->elf, ELF_T_SYM, 1, EV_CURRENT))
1018+ size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_SYM, 1, EV_CURRENT);
1019+ if (shdr->sh_entsize != sh_entsize)
1020 ERROR (gettext ("\
1021 section [%2u] '%s': entry size is does not match ElfXX_Sym\n"),
1022 idx, section_name (ebl, idx));
1023@@ -670,7 +679,7 @@
1024 xndxscnidx, section_name (ebl, xndxscnidx));
1025 }
1026
1027- for (size_t cnt = 1; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt)
1028+ for (size_t cnt = 1; cnt < shdr->sh_size / sh_entsize; ++cnt)
1029 {
1030 sym = gelf_getsymshndx (data, xndxdata, cnt, &sym_mem, &xndx);
1031 if (sym == NULL)
1032@@ -690,7 +699,8 @@
1033 else
1034 {
1035 name = elf_strptr (ebl->elf, shdr->sh_link, sym->st_name);
1036- assert (name != NULL);
1037+ assert (name != NULL
1038+ || strshdr->sh_type != SHT_STRTAB);
1039 }
1040
1041 if (sym->st_shndx == SHN_XINDEX)
1042@@ -1038,9 +1048,11 @@
1043 {
1044 GElf_Shdr rcshdr_mem;
1045 const GElf_Shdr *rcshdr = gelf_getshdr (scn, &rcshdr_mem);
1046- assert (rcshdr != NULL);
1047
1048- if (rcshdr->sh_type == SHT_DYNAMIC)
1049+ if (rcshdr == NULL)
1050+ break;
1051+
1052+ if (rcshdr->sh_type == SHT_DYNAMIC && rcshdr->sh_entsize)
1053 {
1054 /* Found the dynamic section. Look through it. */
1055 Elf_Data *d = elf_getdata (scn, NULL);
1056@@ -1050,7 +1062,9 @@
1057 {
1058 GElf_Dyn dyn_mem;
1059 GElf_Dyn *dyn = gelf_getdyn (d, cnt, &dyn_mem);
1060- assert (dyn != NULL);
1061+
1062+ if (dyn == NULL)
1063+ break;
1064
1065 if (dyn->d_tag == DT_RELCOUNT)
1066 {
1067@@ -1064,7 +1078,9 @@
1068 /* Does the number specified number of relative
1069 relocations exceed the total number of
1070 relocations? */
1071- if (dyn->d_un.d_val > shdr->sh_size / shdr->sh_entsize)
1072+ if (shdr->sh_entsize != 0
1073+ && dyn->d_un.d_val > (shdr->sh_size
1074+ / shdr->sh_entsize))
1075 ERROR (gettext ("\
1076 section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n"),
1077 idx, section_name (ebl, idx),
1078@@ -1224,7 +1240,8 @@
1079 }
1080 }
1081
1082- if (shdr->sh_entsize != gelf_fsize (ebl->elf, reltype, 1, EV_CURRENT))
1083+ size_t sh_entsize = gelf_fsize (ebl->elf, reltype, 1, EV_CURRENT);
1084+ if (shdr->sh_entsize != sh_entsize)
1085 ERROR (gettext (reltype == ELF_T_RELA ? "\
1086 section [%2d] '%s': section entry size does not match ElfXX_Rela\n" : "\
1087 section [%2d] '%s': section entry size does not match ElfXX_Rel\n"),
1088@@ -1447,7 +1464,8 @@
1089 Elf_Data *symdata = elf_getdata (symscn, NULL);
1090 enum load_state state = state_undecided;
1091
1092- for (size_t cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt)
1093+ size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_RELA, 1, EV_CURRENT);
1094+ for (size_t cnt = 0; cnt < shdr->sh_size / sh_entsize; ++cnt)
1095 {
1096 GElf_Rela rela_mem;
1097 GElf_Rela *rela = gelf_getrela (data, cnt, &rela_mem);
1098@@ -1497,7 +1515,8 @@
1099 Elf_Data *symdata = elf_getdata (symscn, NULL);
1100 enum load_state state = state_undecided;
1101
1102- for (size_t cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt)
1103+ size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_REL, 1, EV_CURRENT);
1104+ for (size_t cnt = 0; cnt < shdr->sh_size / sh_entsize; ++cnt)
1105 {
1106 GElf_Rel rel_mem;
1107 GElf_Rel *rel = gelf_getrel (data, cnt, &rel_mem);
1108@@ -1600,7 +1619,8 @@
1109 shdr->sh_link, section_name (ebl, shdr->sh_link),
1110 idx, section_name (ebl, idx));
1111
1112- if (shdr->sh_entsize != gelf_fsize (ebl->elf, ELF_T_DYN, 1, EV_CURRENT))
1113+ size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_DYN, 1, EV_CURRENT);
1114+ if (shdr->sh_entsize != sh_entsize)
1115 ERROR (gettext ("\
1116 section [%2d] '%s': section entry size does not match ElfXX_Dyn\n"),
1117 idx, section_name (ebl, idx));
1118@@ -1610,7 +1630,7 @@
1119 idx, section_name (ebl, idx));
1120
1121 bool non_null_warned = false;
1122- for (cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt)
1123+ for (cnt = 0; cnt < shdr->sh_size / sh_entsize; ++cnt)
1124 {
1125 GElf_Dyn dyn_mem;
1126 GElf_Dyn *dyn = gelf_getdyn (data, cnt, &dyn_mem);
1127@@ -1891,6 +1911,8 @@
1128 idx, section_name (ebl, idx));
1129
1130 if (symshdr != NULL
1131+ && shdr->sh_entsize
1132+ && symshdr->sh_entsize
1133 && (shdr->sh_size / shdr->sh_entsize
1134 < symshdr->sh_size / symshdr->sh_entsize))
1135 ERROR (gettext ("\
1136@@ -1917,6 +1939,12 @@
1137 }
1138
1139 Elf_Data *data = elf_getdata (elf_getscn (ebl->elf, idx), NULL);
1140+ if (data == NULL)
1141+ {
1142+ ERROR (gettext ("section [%2d] '%s': cannot get section data\n"),
1143+ idx, section_name (ebl, idx));
1144+ return;
1145+ }
1146
1147 if (*((Elf32_Word *) data->d_buf) != 0)
1148 ERROR (gettext ("symbol 0 should have zero extended section index\n"));
1149@@ -1959,7 +1987,7 @@
1150
1151 size_t maxidx = nchain;
1152
1153- if (symshdr != NULL)
1154+ if (symshdr != NULL && symshdr->sh_entsize != 0)
1155 {
1156 size_t symsize = symshdr->sh_size / symshdr->sh_entsize;
1157
1158@@ -1970,18 +1998,28 @@
1159 maxidx = symsize;
1160 }
1161
1162+ Elf32_Word *buf = (Elf32_Word *) data->d_buf;
1163+ Elf32_Word *end = (Elf32_Word *) ((char *) data->d_buf + shdr->sh_size);
1164 size_t cnt;
1165 for (cnt = 2; cnt < 2 + nbucket; ++cnt)
1166- if (((Elf32_Word *) data->d_buf)[cnt] >= maxidx)
1167+ {
1168+ if (buf + cnt >= end)
1169+ break;
1170+ else if (buf[cnt] >= maxidx)
1171 ERROR (gettext ("\
1172 section [%2d] '%s': hash bucket reference %zu out of bounds\n"),
1173 idx, section_name (ebl, idx), cnt - 2);
1174+ }
1175
1176 for (; cnt < 2 + nbucket + nchain; ++cnt)
1177- if (((Elf32_Word *) data->d_buf)[cnt] >= maxidx)
1178+ {
1179+ if (buf + cnt >= end)
1180+ break;
1181+ else if (buf[cnt] >= maxidx)
1182 ERROR (gettext ("\
1183 section [%2d] '%s': hash chain reference %zu out of bounds\n"),
1184 idx, section_name (ebl, idx), cnt - 2 - nbucket);
1185+ }
1186 }
1187
1188
1189@@ -2011,18 +2049,28 @@
1190 maxidx = symsize;
1191 }
1192
1193+ Elf64_Xword *buf = (Elf64_Xword *) data->d_buf;
1194+ Elf64_Xword *end = (Elf64_Xword *) ((char *) data->d_buf + shdr->sh_size);
1195 size_t cnt;
1196 for (cnt = 2; cnt < 2 + nbucket; ++cnt)
1197- if (((Elf64_Xword *) data->d_buf)[cnt] >= maxidx)
1198+ {
1199+ if (buf + cnt >= end)
1200+ break;
1201+ else if (buf[cnt] >= maxidx)
1202 ERROR (gettext ("\
1203 section [%2d] '%s': hash bucket reference %zu out of bounds\n"),
1204 idx, section_name (ebl, idx), cnt - 2);
1205+ }
1206
1207 for (; cnt < 2 + nbucket + nchain; ++cnt)
1208- if (((Elf64_Xword *) data->d_buf)[cnt] >= maxidx)
1209+ {
1210+ if (buf + cnt >= end)
1211+ break;
1212+ else if (buf[cnt] >= maxidx)
1213 ERROR (gettext ("\
1214 section [%2d] '%s': hash chain reference %" PRIu64 " out of bounds\n"),
1215- idx, section_name (ebl, idx), (uint64_t) (cnt - 2 - nbucket));
1216+ idx, section_name (ebl, idx), (uint64_t) cnt - 2 - nbucket);
1217+ }
1218 }
1219
1220
1221@@ -2047,7 +2095,7 @@
1222 if (shdr->sh_size < (4 + bitmask_words + nbuckets) * sizeof (Elf32_Word))
1223 {
1224 ERROR (gettext ("\
1225-section [%2d] '%s': hash table section is too small (is %ld, expected at least%ld)\n"),
1226+section [%2d] '%s': hash table section is too small (is %ld, expected at least %ld)\n"),
1227 idx, section_name (ebl, idx), (long int) shdr->sh_size,
1228 (long int) ((4 + bitmask_words + nbuckets) * sizeof (Elf32_Word)));
1229 return;
1230@@ -2719,8 +2767,9 @@
1231
1232 /* The number of elements in the version symbol table must be the
1233 same as the number of symbols. */
1234- if (shdr->sh_size / shdr->sh_entsize
1235- != symshdr->sh_size / symshdr->sh_entsize)
1236+ if (shdr->sh_entsize && symshdr->sh_entsize
1237+ && (shdr->sh_size / shdr->sh_entsize
1238+ != symshdr->sh_size / symshdr->sh_entsize))
1239 ERROR (gettext ("\
1240 section [%2d] '%s' has different number of entries than symbol table [%2d] '%s'\n"),
1241 idx, section_name (ebl, idx),
1242Index: elfutils-0.148/src/readelf.c
1243===================================================================
1244--- elfutils-0.148.orig/src/readelf.c 2010-07-03 13:07:10.000000000 +0000
1245+++ elfutils-0.148/src/readelf.c 2010-07-03 13:07:11.000000000 +0000
1246@@ -1172,6 +1172,8 @@
1247 Elf32_Word *grpref = (Elf32_Word *) data->d_buf;
1248
1249 GElf_Sym sym_mem;
1250+ GElf_Sym *sym = gelf_getsym (symdata, shdr->sh_info, &sym_mem);
1251+
1252 printf ((grpref[0] & GRP_COMDAT)
1253 ? ngettext ("\
1254 \nCOMDAT section group [%2zu] '%s' with signature '%s' contains %zu entry:\n",
1255@@ -1184,8 +1186,8 @@
1256 data->d_size / sizeof (Elf32_Word) - 1),
1257 elf_ndxscn (scn),
1258 elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
1259- elf_strptr (ebl->elf, symshdr->sh_link,
1260- gelf_getsym (symdata, shdr->sh_info, &sym_mem)->st_name)
1261+ (sym == NULL ? NULL
1262+ : elf_strptr (ebl->elf, symshdr->sh_link, sym->st_name))
1263 ?: gettext ("<INVALID SYMBOL>"),
1264 data->d_size / sizeof (Elf32_Word) - 1);
1265
1266@@ -1336,7 +1338,8 @@
1267 handle_dynamic (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr)
1268 {
1269 int class = gelf_getclass (ebl->elf);
1270- GElf_Shdr glink;
1271+ GElf_Shdr glink_mem;
1272+ GElf_Shdr *glink;
1273 Elf_Data *data;
1274 size_t cnt;
1275 size_t shstrndx;
1276@@ -1351,6 +1354,11 @@
1277 error (EXIT_FAILURE, 0,
1278 gettext ("cannot get section header string table index"));
1279
1280+ glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), &glink_mem);
1281+ if (glink == NULL)
1282+ error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %Zu"),
1283+ elf_ndxscn (scn));
1284+
1285 printf (ngettext ("\
1286 \nDynamic segment contains %lu entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
1287 "\
1288@@ -1360,9 +1368,7 @@
1289 class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
1290 shdr->sh_offset,
1291 (int) shdr->sh_link,
1292- elf_strptr (ebl->elf, shstrndx,
1293- gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
1294- &glink)->sh_name));
1295+ elf_strptr (ebl->elf, shstrndx, glink->sh_name));
1296 fputs_unlocked (gettext (" Type Value\n"), stdout);
1297
1298 for (cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt)
1299@@ -1945,6 +1951,13 @@
1300 error (EXIT_FAILURE, 0,
1301 gettext ("cannot get section header string table index"));
1302
1303+ GElf_Shdr glink_mem;
1304+ GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
1305+ &glink_mem);
1306+ if (glink == NULL)
1307+ error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %Zu"),
1308+ elf_ndxscn (scn));
1309+
1310 /* Now we can compute the number of entries in the section. */
1311 unsigned int nsyms = data->d_size / (class == ELFCLASS32
1312 ? sizeof (Elf32_Sym)
1313@@ -1955,15 +1968,12 @@
1314 nsyms),
1315 (unsigned int) elf_ndxscn (scn),
1316 elf_strptr (ebl->elf, shstrndx, shdr->sh_name), nsyms);
1317- GElf_Shdr glink;
1318 printf (ngettext (" %lu local symbol String table: [%2u] '%s'\n",
1319 " %lu local symbols String table: [%2u] '%s'\n",
1320 shdr->sh_info),
1321 (unsigned long int) shdr->sh_info,
1322 (unsigned int) shdr->sh_link,
1323- elf_strptr (ebl->elf, shstrndx,
1324- gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
1325- &glink)->sh_name));
1326+ elf_strptr (ebl->elf, shstrndx, glink->sh_name));
1327
1328 fputs_unlocked (class == ELFCLASS32
1329 ? gettext ("\
1330@@ -2199,7 +2209,13 @@
1331 error (EXIT_FAILURE, 0,
1332 gettext ("cannot get section header string table index"));
1333
1334- GElf_Shdr glink;
1335+ GElf_Shdr glink_mem;
1336+ GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
1337+ &glink_mem);
1338+ if (glink == NULL)
1339+ error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %Zu"),
1340+ elf_ndxscn (scn));
1341+
1342 printf (ngettext ("\
1343 \nVersion needs section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
1344 "\
1345@@ -2210,9 +2226,7 @@
1346 class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
1347 shdr->sh_offset,
1348 (unsigned int) shdr->sh_link,
1349- elf_strptr (ebl->elf, shstrndx,
1350- gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
1351- &glink)->sh_name));
1352+ elf_strptr (ebl->elf, shstrndx, glink->sh_name));
1353
1354 unsigned int offset = 0;
1355 for (int cnt = shdr->sh_info; --cnt >= 0; )
1356@@ -2265,8 +2279,14 @@
1357 error (EXIT_FAILURE, 0,
1358 gettext ("cannot get section header string table index"));
1359
1360+ GElf_Shdr glink_mem;
1361+ GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
1362+ &glink_mem);
1363+ if (glink == NULL)
1364+ error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %Zu"),
1365+ elf_ndxscn (scn));
1366+
1367 int class = gelf_getclass (ebl->elf);
1368- GElf_Shdr glink;
1369 printf (ngettext ("\
1370 \nVersion definition section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
1371 "\
1372@@ -2278,9 +2298,7 @@
1373 class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
1374 shdr->sh_offset,
1375 (unsigned int) shdr->sh_link,
1376- elf_strptr (ebl->elf, shstrndx,
1377- gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
1378- &glink)->sh_name));
1379+ elf_strptr (ebl->elf, shstrndx, glink->sh_name));
1380
1381 unsigned int offset = 0;
1382 for (int cnt = shdr->sh_info; --cnt >= 0; )
1383@@ -2542,8 +2560,14 @@
1384 filename = NULL;
1385 }
1386
1387+ GElf_Shdr glink_mem;
1388+ GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
1389+ &glink_mem);
1390+ if (glink == NULL)
1391+ error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %Zu"),
1392+ elf_ndxscn (scn));
1393+
1394 /* Print the header. */
1395- GElf_Shdr glink;
1396 printf (ngettext ("\
1397 \nVersion symbols section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'",
1398 "\
1399@@ -2555,9 +2579,7 @@
1400 class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
1401 shdr->sh_offset,
1402 (unsigned int) shdr->sh_link,
1403- elf_strptr (ebl->elf, shstrndx,
1404- gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
1405- &glink)->sh_name));
1406+ elf_strptr (ebl->elf, shstrndx, glink->sh_name));
1407
1408 /* Now we can finally look at the actual contents of this section. */
1409 for (unsigned int cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt)
1410@@ -2609,7 +2631,17 @@
1411 for (Elf32_Word cnt = 0; cnt < nbucket; ++cnt)
1412 ++counts[lengths[cnt]];
1413
1414- GElf_Shdr glink;
1415+ GElf_Shdr glink_mem;
1416+ GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf,
1417+ shdr->sh_link),
1418+ &glink_mem);
1419+ if (glink == NULL)
1420+ {
1421+ error (0, 0, gettext ("invalid sh_link value in section %Zu"),
1422+ elf_ndxscn (scn));
1423+ return;
1424+ }
1425+
1426 printf (ngettext ("\
1427 \nHistogram for bucket list length in section [%2u] '%s' (total of %d bucket):\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
1428 "\
1429@@ -2622,9 +2654,7 @@
1430 shdr->sh_addr,
1431 shdr->sh_offset,
1432 (unsigned int) shdr->sh_link,
1433- elf_strptr (ebl->elf, shstrndx,
1434- gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
1435- &glink)->sh_name));
1436+ elf_strptr (ebl->elf, shstrndx, glink->sh_name));
1437
1438 if (extrastr != NULL)
1439 fputs (extrastr, stdout);
1440@@ -4312,6 +4342,16 @@
1441 return;
1442 }
1443
1444+ GElf_Shdr glink_mem;
1445+ GElf_Shdr *glink;
1446+ glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), &glink_mem);
1447+ if (glink == NULL)
1448+ {
1449+ error (0, 0, gettext ("invalid sh_link value in section %Zu"),
1450+ elf_ndxscn (scn));
1451+ return;
1452+ }
1453+
1454 printf (ngettext ("\
1455 \nDWARF section [%2zu] '%s' at offset %#" PRIx64 " contains %zu entry:\n",
1456 "\
1457Index: elfutils-0.148/src/strip.c
1458===================================================================
1459--- elfutils-0.148.orig/src/strip.c 2010-07-03 13:07:10.000000000 +0000
1460+++ elfutils-0.148/src/strip.c 2010-07-03 13:07:11.000000000 +0000
1461@@ -561,6 +561,11 @@
1462 goto fail_close;
1463 }
1464
1465+ if (shstrndx >= shnum)
1466+ goto illformed;
1467+
1468+#define elf_assert(test) do { if (!(test)) goto illformed; } while (0)
1469+
1470 /* Storage for section information. We leave room for two more
1471 entries since we unconditionally create a section header string
1472 table. Maybe some weird tool created an ELF file without one.
1473@@ -582,7 +587,7 @@
1474 {
1475 /* This should always be true (i.e., there should not be any
1476 holes in the numbering). */
1477- assert (elf_ndxscn (scn) == cnt);
1478+ elf_assert (elf_ndxscn (scn) == cnt);
1479
1480 shdr_info[cnt].scn = scn;
1481
1482@@ -595,6 +600,7 @@
1483 shdr_info[cnt].shdr.sh_name);
1484 if (shdr_info[cnt].name == NULL)
1485 {
1486+ illformed:
1487 error (0, 0, gettext ("illformed file '%s'"), fname);
1488 goto fail_close;
1489 }
1490@@ -604,6 +610,8 @@
1491
1492 /* Remember the shdr.sh_link value. */
1493 shdr_info[cnt].old_sh_link = shdr_info[cnt].shdr.sh_link;
1494+ if (shdr_info[cnt].old_sh_link >= shnum)
1495+ goto illformed;
1496
1497 /* Sections in files other than relocatable object files which
1498 are not loaded can be freely moved by us. In relocatable
1499@@ -616,7 +624,7 @@
1500 appropriate reference. */
1501 if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_SYMTAB_SHNDX))
1502 {
1503- assert (shdr_info[shdr_info[cnt].shdr.sh_link].symtab_idx == 0);
1504+ elf_assert (shdr_info[shdr_info[cnt].shdr.sh_link].symtab_idx == 0);
1505 shdr_info[shdr_info[cnt].shdr.sh_link].symtab_idx = cnt;
1506 }
1507 else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GROUP))
1508@@ -633,7 +641,12 @@
1509 for (inner = 1;
1510 inner < shdr_info[cnt].data->d_size / sizeof (Elf32_Word);
1511 ++inner)
1512+ {
1513+ if (grpref[inner] < shnum)
1514 shdr_info[grpref[inner]].group_idx = cnt;
1515+ else
1516+ goto illformed;
1517+ }
1518
1519 if (inner == 1 || (inner == 2 && (grpref[0] & GRP_COMDAT) == 0))
1520 /* If the section group contains only one element and this
1521@@ -644,7 +657,7 @@
1522 }
1523 else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GNU_versym))
1524 {
1525- assert (shdr_info[shdr_info[cnt].shdr.sh_link].version_idx == 0);
1526+ elf_assert (shdr_info[shdr_info[cnt].shdr.sh_link].version_idx == 0);
1527 shdr_info[shdr_info[cnt].shdr.sh_link].version_idx = cnt;
1528 }
1529
1530@@ -652,7 +665,7 @@
1531 discarded right away. */
1532 if ((shdr_info[cnt].shdr.sh_flags & SHF_GROUP) != 0)
1533 {
1534- assert (shdr_info[cnt].group_idx != 0);
1535+ elf_assert (shdr_info[cnt].group_idx != 0);
1536
1537 if (shdr_info[shdr_info[cnt].group_idx].idx == 0)
1538 {
1539@@ -727,11 +740,15 @@
1540 {
1541 /* If a relocation section is marked as being removed make
1542 sure the section it is relocating is removed, too. */
1543- if ((shdr_info[cnt].shdr.sh_type == SHT_REL
1544+ if (shdr_info[cnt].shdr.sh_type == SHT_REL
1545 || shdr_info[cnt].shdr.sh_type == SHT_RELA)
1546- && shdr_info[shdr_info[cnt].shdr.sh_info].idx != 0)
1547+ {
1548+ if (shdr_info[cnt].shdr.sh_info >= shnum)
1549+ goto illformed;
1550+ else if (shdr_info[shdr_info[cnt].shdr.sh_info].idx != 0)
1551 shdr_info[cnt].idx = 1;
1552 }
1553+ }
1554
1555 if (shdr_info[cnt].idx == 1)
1556 {
1557@@ -758,7 +775,7 @@
1558 if (shdr_info[cnt].symtab_idx != 0
1559 && shdr_info[shdr_info[cnt].symtab_idx].data == NULL)
1560 {
1561- assert (shdr_info[cnt].shdr.sh_type == SHT_SYMTAB);
1562+ elf_assert (shdr_info[cnt].shdr.sh_type == SHT_SYMTAB);
1563
1564 shdr_info[shdr_info[cnt].symtab_idx].data
1565 = elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn,
1566@@ -798,6 +815,9 @@
1567 else if (scnidx == SHN_XINDEX)
1568 scnidx = xndx;
1569
1570+ if (scnidx >= shnum)
1571+ goto illformed;
1572+
1573 if (shdr_info[scnidx].idx == 0)
1574 /* This symbol table has a real symbol in
1575 a discarded section. So preserve the
1576@@ -828,12 +848,16 @@
1577 }
1578
1579 /* Handle references through sh_info. */
1580- if (SH_INFO_LINK_P (&shdr_info[cnt].shdr)
1581- && shdr_info[shdr_info[cnt].shdr.sh_info].idx == 0)
1582+ if (SH_INFO_LINK_P (&shdr_info[cnt].shdr))
1583+ {
1584+ if (shdr_info[cnt].shdr.sh_info >= shnum)
1585+ goto illformed;
1586+ else if ( shdr_info[shdr_info[cnt].shdr.sh_info].idx == 0)
1587 {
1588 shdr_info[shdr_info[cnt].shdr.sh_info].idx = 1;
1589 changes |= shdr_info[cnt].shdr.sh_info < cnt;
1590 }
1591+ }
1592
1593 /* Mark the section as investigated. */
1594 shdr_info[cnt].idx = 2;
1595@@ -972,7 +996,7 @@
1596 error (EXIT_FAILURE, 0, gettext ("while generating output file: %s"),
1597 elf_errmsg (-1));
1598
1599- assert (elf_ndxscn (shdr_info[cnt].newscn) == shdr_info[cnt].idx);
1600+ elf_assert (elf_ndxscn (shdr_info[cnt].newscn) == shdr_info[cnt].idx);
1601
1602 /* Add this name to the section header string table. */
1603 shdr_info[cnt].se = ebl_strtabadd (shst, shdr_info[cnt].name, 0);
1604@@ -1009,7 +1033,7 @@
1605 error (EXIT_FAILURE, 0,
1606 gettext ("while create section header section: %s"),
1607 elf_errmsg (-1));
1608- assert (elf_ndxscn (shdr_info[cnt].newscn) == shdr_info[cnt].idx);
1609+ elf_assert (elf_ndxscn (shdr_info[cnt].newscn) == shdr_info[cnt].idx);
1610
1611 shdr_info[cnt].data = elf_newdata (shdr_info[cnt].newscn);
1612 if (shdr_info[cnt].data == NULL)
1613@@ -1065,7 +1089,7 @@
1614 error (EXIT_FAILURE, 0,
1615 gettext ("while create section header section: %s"),
1616 elf_errmsg (-1));
1617- assert (elf_ndxscn (shdr_info[cnt].newscn) == idx);
1618+ elf_assert (elf_ndxscn (shdr_info[cnt].newscn) == idx);
1619
1620 /* Finalize the string table and fill in the correct indices in the
1621 section headers. */
1622@@ -1155,20 +1179,20 @@
1623 shndxdata = elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn,
1624 NULL);
1625
1626- assert ((versiondata->d_size / sizeof (Elf32_Word))
1627+ elf_assert ((versiondata->d_size / sizeof (Elf32_Word))
1628 >= shdr_info[cnt].data->d_size / elsize);
1629 }
1630
1631 if (shdr_info[cnt].version_idx != 0)
1632 {
1633- assert (shdr_info[cnt].shdr.sh_type == SHT_DYNSYM);
1634+ elf_assert (shdr_info[cnt].shdr.sh_type == SHT_DYNSYM);
1635 /* This section has associated version
1636 information. We have to modify that
1637 information, too. */
1638 versiondata = elf_getdata (shdr_info[shdr_info[cnt].version_idx].scn,
1639 NULL);
1640
1641- assert ((versiondata->d_size / sizeof (GElf_Versym))
1642+ elf_assert ((versiondata->d_size / sizeof (GElf_Versym))
1643 >= shdr_info[cnt].data->d_size / elsize);
1644 }
1645
1646@@ -1223,7 +1247,7 @@
1647 sec = shdr_info[sym->st_shndx].idx;
1648 else
1649 {
1650- assert (shndxdata != NULL);
1651+ elf_assert (shndxdata != NULL);
1652
1653 sec = shdr_info[xshndx].idx;
1654 }
1655@@ -1244,7 +1268,7 @@
1656 nxshndx = sec;
1657 }
1658
1659- assert (sec < SHN_LORESERVE || shndxdata != NULL);
1660+ elf_assert (sec < SHN_LORESERVE || shndxdata != NULL);
1661
1662 if ((inner != destidx || nshndx != sym->st_shndx
1663 || (shndxdata != NULL && nxshndx != xshndx))
1664@@ -1268,7 +1292,7 @@
1665 || shdr_info[cnt].debug_data == NULL)
1666 /* This is a section symbol for a section which has
1667 been removed. */
1668- assert (GELF_ST_TYPE (sym->st_info) == STT_SECTION);
1669+ elf_assert (GELF_ST_TYPE (sym->st_info) == STT_SECTION);
1670 }
1671
1672 if (destidx != inner)
1673@@ -1455,11 +1479,11 @@
1674 {
1675 GElf_Sym sym_mem;
1676 GElf_Sym *sym = gelf_getsym (symd, inner, &sym_mem);
1677- assert (sym != NULL);
1678+ elf_assert (sym != NULL);
1679
1680 const char *name = elf_strptr (elf, strshndx,
1681 sym->st_name);
1682- assert (name != NULL);
1683+ elf_assert (name != NULL);
1684 size_t hidx = elf_hash (name) % nbucket;
1685
1686 if (bucket[hidx] == 0)
1687@@ -1478,7 +1502,7 @@
1688 else
1689 {
1690 /* Alpha and S390 64-bit use 64-bit SHT_HASH entries. */
1691- assert (shdr_info[cnt].shdr.sh_entsize
1692+ elf_assert (shdr_info[cnt].shdr.sh_entsize
1693 == sizeof (Elf64_Xword));
1694
1695 Elf64_Xword *bucket = (Elf64_Xword *) hashd->d_buf;
1696@@ -1509,11 +1533,11 @@
1697 {
1698 GElf_Sym sym_mem;
1699 GElf_Sym *sym = gelf_getsym (symd, inner, &sym_mem);
1700- assert (sym != NULL);
1701+ elf_assert (sym != NULL);
1702
1703 const char *name = elf_strptr (elf, strshndx,
1704 sym->st_name);
1705- assert (name != NULL);
1706+ elf_assert (name != NULL);
1707 size_t hidx = elf_hash (name) % nbucket;
1708
1709 if (bucket[hidx] == 0)
diff --git a/meta/recipes-devtools/elfutils/elfutils/remove-unused.patch b/meta/recipes-devtools/elfutils/elfutils/remove-unused.patch
new file mode 100644
index 0000000000..6a19791480
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils/remove-unused.patch
@@ -0,0 +1,154 @@
1Upstream-Status: Backport
2
3Remove unused variables from the code to prevent -Werror causing a build
4failure on hosts with GCC 4.6.
5
6These changes are all upstream so should not be required once we've updated
7to elfutils 0.152 or later. Therefore this patch consolidates several
8changes from elfutils upstream by Roland McGrath into a single file so that
9it's easier to remove later once we upgrade.
10Links to upstream gitweb of the consolidated commits follow:
11- http://git.fedorahosted.org/git?p=elfutils.git;a=commit;h=7094d00a169afb27e0323f8580e817798ae7c240
12- http://git.fedorahosted.org/git?p=elfutils.git;a=commit;h=fd992543185126eb0280c1ee0883e073020499b4
13- http://git.fedorahosted.org/git?p=elfutils.git;a=commit;h=4db89f04bb59327abd7a3b60e88f2e7e73c65c79
14- http://git.fedorahosted.org/git?p=elfutils.git;a=commit;h=8f6c1795ab9d41f03805eebd55767070ade55aac
15- http://git.fedorahosted.org/git?p=elfutils.git;a=commit;h=240784b48aa276822c5a61c9ad6a4355051ce259
16
17Joshua Lock <josh@linux.intel.com> - 06/04/11
18
19Index: elfutils-0.148/libasm/asm_newscn.c
20===================================================================
21--- elfutils-0.148.orig/libasm/asm_newscn.c
22+++ elfutils-0.148/libasm/asm_newscn.c
23@@ -162,7 +162,6 @@ asm_newscn (ctx, scnname, type, flags)
24 GElf_Xword flags;
25 {
26 size_t scnname_len = strlen (scnname) + 1;
27- unsigned long int hval;
28 AsmScn_t *result;
29
30 /* If no context is given there might be an earlier error. */
31@@ -180,8 +179,6 @@ asm_newscn (ctx, scnname, type, flags)
32 return NULL;
33 }
34
35- hval = elf_hash (scnname);
36-
37 rwlock_wrlock (ctx->lock);
38
39 /* This is a new section. */
40Index: elfutils-0.148/src/elflint.c
41===================================================================
42--- elfutils-0.148.orig/src/elflint.c
43+++ elfutils-0.148/src/elflint.c
44@@ -707,9 +707,10 @@ section [%2d] '%s': symbol %zu: invalid
45 {
46 if (xndxdata == NULL)
47 {
48- ERROR (gettext ("\
49+ if (!no_xndx_warned)
50+ ERROR (gettext ("\
51 section [%2d] '%s': symbol %zu: too large section index but no extended section index section\n"),
52- idx, section_name (ebl, idx), cnt);
53+ idx, section_name (ebl, idx), cnt);
54 no_xndx_warned = true;
55 }
56 else if (xndx < SHN_LORESERVE)
57@@ -1592,10 +1593,6 @@ check_dynamic (Ebl *ebl, GElf_Ehdr *ehdr
58 [DT_STRSZ] = true,
59 [DT_SYMENT] = true
60 };
61- GElf_Addr reladdr = 0;
62- GElf_Word relsz = 0;
63- GElf_Addr pltreladdr = 0;
64- GElf_Word pltrelsz = 0;
65
66 memset (has_dt, '\0', sizeof (has_dt));
67 memset (has_val_dt, '\0', sizeof (has_val_dt));
68@@ -1694,15 +1691,6 @@ section [%2d] '%s': entry %zu: level 2 t
69 section [%2d] '%s': entry %zu: DT_PLTREL value must be DT_REL or DT_RELA\n"),
70 idx, section_name (ebl, idx), cnt);
71
72- if (dyn->d_tag == DT_REL)
73- reladdr = dyn->d_un.d_ptr;
74- if (dyn->d_tag == DT_RELSZ)
75- relsz = dyn->d_un.d_val;
76- if (dyn->d_tag == DT_JMPREL)
77- pltreladdr = dyn->d_un.d_ptr;
78- if (dyn->d_tag == DT_PLTRELSZ)
79- pltrelsz = dyn->d_un.d_val;
80-
81 /* Check that addresses for entries are in loaded segments. */
82 switch (dyn->d_tag)
83 {
84Index: elfutils-0.148/src/ldgeneric.c
85===================================================================
86--- elfutils-0.148.orig/src/ldgeneric.c
87+++ elfutils-0.148/src/ldgeneric.c
88@@ -285,12 +285,10 @@ static int
89 check_for_duplicate2 (struct usedfiles *newp, struct usedfiles *list)
90 {
91 struct usedfiles *first;
92- struct usedfiles *prevp;
93
94 if (list == NULL)
95 return 0;
96
97- prevp = list;
98 list = first = list->next;
99 do
100 {
101Index: elfutils-0.148/src/ldscript.y
102===================================================================
103--- elfutils-0.148.orig/src/ldscript.y
104+++ elfutils-0.148/src/ldscript.y
105@@ -802,12 +802,9 @@ add_versions (struct version *versions)
106
107 do
108 {
109- struct version *oldp;
110-
111 add_id_list (versions->versionname, versions->local_names, true);
112 add_id_list (versions->versionname, versions->global_names, false);
113
114- oldp = versions;
115 versions = versions->next;
116 }
117 while (versions != NULL);
118Index: elfutils-0.148/src/unstrip.c
119===================================================================
120--- elfutils-0.148.orig/src/unstrip.c
121+++ elfutils-0.148/src/unstrip.c
122@@ -1301,7 +1301,6 @@ more sections in stripped file than debu
123 /* Match each debuginfo section with its corresponding stripped section. */
124 bool check_prelink = false;
125 Elf_Scn *unstripped_symtab = NULL;
126- size_t unstripped_strtab_ndx = SHN_UNDEF;
127 size_t alloc_avail = 0;
128 scn = NULL;
129 while ((scn = elf_nextscn (unstripped, scn)) != NULL)
130@@ -1313,7 +1312,6 @@ more sections in stripped file than debu
131 if (shdr->sh_type == SHT_SYMTAB)
132 {
133 unstripped_symtab = scn;
134- unstripped_strtab_ndx = shdr->sh_link;
135 continue;
136 }
137
138Index: elfutils-0.148/src/ldscript.c
139===================================================================
140--- elfutils-0.148.orig/src/ldscript.c
141+++ elfutils-0.148/src/ldscript.c
142@@ -2728,12 +2728,9 @@ add_versions (struct version *versions)
143
144 do
145 {
146- struct version *oldp;
147-
148 add_id_list (versions->versionname, versions->local_names, true);
149 add_id_list (versions->versionname, versions->global_names, false);
150
151- oldp = versions;
152 versions = versions->next;
153 }
154 while (versions != NULL);
diff --git a/meta/recipes-devtools/elfutils/elfutils/run-ptest b/meta/recipes-devtools/elfutils/elfutils/run-ptest
new file mode 100644
index 0000000000..51ea6df5fe
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils/run-ptest
@@ -0,0 +1,3 @@
1#!/bin/sh
2
3make -C tests -k runtest-TESTS
diff --git a/meta/recipes-devtools/elfutils/elfutils/testsuite-ignore-elflint.diff b/meta/recipes-devtools/elfutils/elfutils/testsuite-ignore-elflint.diff
new file mode 100644
index 0000000000..d792d5fd73
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils/testsuite-ignore-elflint.diff
@@ -0,0 +1,21 @@
1Upstream-Status: Backport
2
3On many architectures this test fails because binaries/libs produced by
4binutils don't pass elflint. However elfutils shouldn't FTBFS because of this.
5
6So we run the tests on all archs to see what breaks, but if it breaks we ignore
7the result (exitcode 77 means: this test was skipped).
8
9Index: elfutils-0.128/tests/run-elflint-self.sh
10===================================================================
11--- elfutils-0.128.orig/tests/run-elflint-self.sh 2007-07-08 21:46:16.000000000 +0000
12+++ elfutils-0.128/tests/run-elflint-self.sh 2007-07-08 21:46:49.000000000 +0000
13@@ -32,7 +32,7 @@
14 # echo $1
15 if [ -f $1 ]; then
16 testrun ../src/elflint --quiet --gnu-ld $1 ||
17- { echo "*** failure in $1"; status=1; }
18+ { echo "*** failure in $1"; status=77; }
19 fi
20 }
21
diff --git a/meta/recipes-devtools/elfutils/elfutils/uclibc-support.patch b/meta/recipes-devtools/elfutils/elfutils/uclibc-support.patch
new file mode 100644
index 0000000000..3cf16ac923
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils/uclibc-support.patch
@@ -0,0 +1,91 @@
1on uclibc systems libintl and libuargp are separate from libc.
2so they need to be specified on commandline when we use proxy-libintl
3then libintl is a static archive so it should be listed last since
4elfutils does not respect disable-nls we need to link in libintl
5
6We add a new option --enable-uclibc which will be used to control
7the uclibc specific configurations during build.
8
9Signed-off-by: Khem Raj <raj.khem>
10
11Upstream-Status: Inappropriate [uclibc specific]
12
13Index: elfutils-0.148/configure.ac
14===================================================================
15--- elfutils-0.148.orig/configure.ac
16+++ elfutils-0.148/configure.ac
17@@ -55,9 +55,16 @@ AS_IF([test "$use_locks" = yes], [AC_DEF
18
19 AH_TEMPLATE([USE_LOCKS], [Defined if libraries should be thread-safe.])
20
21+AC_ARG_ENABLE([uclibc],
22+AS_HELP_STRING([--enable-uclibc], [Use uclibc for system libraries]),
23+use_uclibc=yes, use_uclibc=no)
24+AM_CONDITIONAL(USE_UCLIBC, test "$use_uclibc" = yes)
25+AS_IF([test "$use_uclibc" = yes], [AC_DEFINE(USE_UCLIBC)])
26+
27+AH_TEMPLATE([USE_UCLIBC], [Defined if uclibc libraries are used.])
28+
29 dnl Add all the languages for which translations are available.
30 ALL_LINGUAS=
31-
32 AC_PROG_CC
33 AC_PROG_RANLIB
34 AC_PROG_YACC
35Index: elfutils-0.148/libelf/Makefile.am
36===================================================================
37--- elfutils-0.148.orig/libelf/Makefile.am
38+++ elfutils-0.148/libelf/Makefile.am
39@@ -93,7 +93,12 @@ if !MUDFLAP
40 libelf_pic_a_SOURCES =
41 am_libelf_pic_a_OBJECTS = $(libelf_a_SOURCES:.c=.os)
42
43+
44 libelf_so_LDLIBS =
45+if USE_UCLIBC
46+libelf_so_LDLIBS += -lintl -luargp
47+endif
48+
49 if USE_LOCKS
50 libelf_so_LDLIBS += -lpthread
51 endif
52Index: elfutils-0.148/libdw/Makefile.am
53===================================================================
54--- elfutils-0.148.orig/libdw/Makefile.am
55+++ elfutils-0.148/libdw/Makefile.am
56@@ -98,6 +98,11 @@ if !MUDFLAP
57 libdw_pic_a_SOURCES =
58 am_libdw_pic_a_OBJECTS = $(libdw_a_SOURCES:.c=.os)
59
60+libdw_so_LDLIBS =
61+if USE_UCLIBC
62+libdw_so_LDLIBS += -lintl -luargp
63+endif
64+
65 libdw_so_SOURCES =
66 libdw.so: $(srcdir)/libdw.map libdw_pic.a \
67 ../libdwfl/libdwfl_pic.a ../libebl/libebl.a \
68@@ -108,7 +113,7 @@ libdw.so: $(srcdir)/libdw.map libdw_pic.
69 -Wl,--enable-new-dtags,-rpath,$(pkglibdir) \
70 -Wl,--version-script,$<,--no-undefined \
71 -Wl,--whole-archive $(filter-out $<,$^) -Wl,--no-whole-archive\
72- -ldl $(zip_LIBS)
73+ -ldl $(zip_LIBS) $(libdw_so_LDLIBS)
74 if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
75 ln -fs $@ $@.$(VERSION)
76
77Index: elfutils-0.148/libcpu/Makefile.am
78===================================================================
79--- elfutils-0.148.orig/libcpu/Makefile.am
80+++ elfutils-0.148/libcpu/Makefile.am
81@@ -63,6 +63,10 @@ i386_parse_CFLAGS = -DNMNES="`wc -l < i3
82 i386_lex.o: i386_parse.h
83 i386_gendis_LDADD = $(libeu) -lm $(libmudflap)
84
85+if USE_UCLIBC
86+i386_gendis_LDADD += -luargp -lintl
87+endif
88+
89 i386_parse.h: i386_parse.c ;
90
91 noinst_HEADERS = memory-access.h i386_parse.h i386_data.h
diff --git a/meta/recipes-devtools/elfutils/elfutils/x86_64_dis.h b/meta/recipes-devtools/elfutils/elfutils/x86_64_dis.h
new file mode 100644
index 0000000000..a0198bed97
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils/x86_64_dis.h
@@ -0,0 +1,1632 @@
1#define MNEMONIC_BITS 10
2#define SUFFIX_BITS 3
3#define FCT1_BITS 7
4#define STR1_BITS 4
5#define OFF1_1_BITS 7
6#define OFF1_1_BIAS 3
7#define OFF1_2_BITS 7
8#define OFF1_2_BIAS 4
9#define OFF1_3_BITS 1
10#define OFF1_3_BIAS 7
11#define FCT2_BITS 6
12#define STR2_BITS 2
13#define OFF2_1_BITS 7
14#define OFF2_1_BIAS 5
15#define OFF2_2_BITS 7
16#define OFF2_2_BIAS 4
17#define OFF2_3_BITS 4
18#define OFF2_3_BIAS 7
19#define FCT3_BITS 4
20#define STR3_BITS 1
21#define OFF3_1_BITS 6
22#define OFF3_1_BIAS 10
23#define OFF3_2_BITS 1
24#define OFF3_2_BIAS 21
25
26#include <i386_data.h>
27
28#define suffix_none 0
29#define suffix_w 1
30#define suffix_w0 2
31#define suffix_W 3
32#define suffix_tttn 4
33#define suffix_D 7
34#define suffix_w1 5
35#define suffix_W1 6
36
37static const opfct_t op1_fct[] =
38{
39 NULL,
40 FCT_MOD$R_M,
41 FCT_Mod$R_m,
42 FCT_abs,
43 FCT_ax,
44 FCT_ax$w,
45 FCT_ccc,
46 FCT_ddd,
47 FCT_disp8,
48 FCT_ds_bx,
49 FCT_ds_si,
50 FCT_dx,
51 FCT_es_di,
52 FCT_freg,
53 FCT_imm$s,
54 FCT_imm$w,
55 FCT_imm16,
56 FCT_imm64$w,
57 FCT_imm8,
58 FCT_imms8,
59 FCT_mmxreg,
60 FCT_mod$16r_m,
61 FCT_mod$64r_m,
62 FCT_mod$8r_m,
63 FCT_mod$r_m,
64 FCT_mod$r_m$w,
65 FCT_reg,
66 FCT_reg$w,
67 FCT_reg64,
68 FCT_rel,
69 FCT_sel,
70 FCT_sreg2,
71 FCT_sreg3,
72 FCT_string,
73 FCT_xmmreg,
74};
75static const char op1_str[] =
76 "%ax\0"
77 "%cl\0"
78 "%rax\0"
79 "%st\0"
80 "%xmm0\0"
81 "*";
82static const uint8_t op1_str_idx[] = {
83 0,
84 4,
85 8,
86 13,
87 17,
88 23,
89};
90static const opfct_t op2_fct[] =
91{
92 NULL,
93 FCT_MOD$R_M,
94 FCT_Mod$R_m,
95 FCT_abs,
96 FCT_absval,
97 FCT_ax$w,
98 FCT_ccc,
99 FCT_ddd,
100 FCT_ds_si,
101 FCT_dx,
102 FCT_es_di,
103 FCT_freg,
104 FCT_imm8,
105 FCT_mmxreg,
106 FCT_mod$64r_m,
107 FCT_mod$r_m,
108 FCT_mod$r_m$w,
109 FCT_oreg,
110 FCT_oreg$w,
111 FCT_reg,
112 FCT_reg$w,
113 FCT_reg64,
114 FCT_sreg3,
115 FCT_string,
116 FCT_xmmreg,
117};
118static const char op2_str[] =
119 "%rcx\0"
120 "%st";
121static const uint8_t op2_str_idx[] = {
122 0,
123 5,
124};
125static const opfct_t op3_fct[] =
126{
127 NULL,
128 FCT_mmxreg,
129 FCT_mod$r_m,
130 FCT_reg,
131 FCT_string,
132 FCT_xmmreg,
133};
134static const char op3_str[] =
135 "%rdx";
136static const uint8_t op3_str_idx[] = {
137 0,
138};
139static const struct instr_enc instrtab[] =
140{
141 { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
142 { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
143 { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
144 { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
145 { .mnemonic = MNE_adc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
146 { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
147 { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
148 { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
149 { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
150 { .mnemonic = MNE_add, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
151 { .mnemonic = MNE_addsubpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
152 { .mnemonic = MNE_addsubps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
153 { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
154 { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
155 { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
156 { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
157 { .mnemonic = MNE_and, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
158 { .mnemonic = MNE_andpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
159 { .mnemonic = MNE_andps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
160 { .mnemonic = MNE_andnpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
161 { .mnemonic = MNE_andnps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
162 { .mnemonic = MNE_movslq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 21, .str2 = 0, .off2_1 = 5, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
163 { .mnemonic = MNE_bsf, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
164 { .mnemonic = MNE_bsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
165 { .mnemonic = MNE_bswap, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 26, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
166 { .mnemonic = MNE_bt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
167 { .mnemonic = MNE_bt, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
168 { .mnemonic = MNE_btc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
169 { .mnemonic = MNE_btc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
170 { .mnemonic = MNE_btr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
171 { .mnemonic = MNE_btr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
172 { .mnemonic = MNE_bts, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
173 { .mnemonic = MNE_bts, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
174 { .mnemonic = MNE_call, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 29, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
175 { .mnemonic = MNE_call, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 22, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
176 { .mnemonic = MNE_lcall, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 22, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
177 { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
178 { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
179 { .mnemonic = MNE_clc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
180 { .mnemonic = MNE_cld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
181 { .mnemonic = MNE_cli, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
182 { .mnemonic = MNE_syscall, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
183 { .mnemonic = MNE_clts, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
184 { .mnemonic = MNE_sysret, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
185 { .mnemonic = MNE_sysenter, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
186 { .mnemonic = MNE_sysexit, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
187 { .mnemonic = MNE_cmc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
188 { .mnemonic = MNE_cmov, .rep = 0, .repe = 0, .suffix = 4, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
189 { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
190 { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
191 { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
192 { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
193 { .mnemonic = MNE_cmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
194 { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
195 { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
196 { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
197 { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
198 { .mnemonic = MNE_cmps, .rep = 0, .repe = 1, .suffix = 1, .modrm = 0, .fct1 = 12, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 8, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
199 { .mnemonic = MNE_cmpxchg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 15, .off1_2 = 11, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 8, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
200 { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
201 { .mnemonic = MNE_cpuid, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
202 { .mnemonic = MNE_cvtdq2pd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
203 { .mnemonic = MNE_cvtpd2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
204 { .mnemonic = MNE_cvttpd2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
205 { .mnemonic = MNE_dec, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
206 { .mnemonic = MNE_div, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
207 { .mnemonic = MNE_emms, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
208 { .mnemonic = MNE_enter, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 16, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 12, .str2 = 0, .off2_1 = 19, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
209 { .mnemonic = MNE_fnop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
210 { .mnemonic = MNE_fchs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
211 { .mnemonic = MNE_fabs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
212 { .mnemonic = MNE_ftst, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
213 { .mnemonic = MNE_fxam, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
214 { .mnemonic = MNE_fld1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
215 { .mnemonic = MNE_fldl2t, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
216 { .mnemonic = MNE_fldl2e, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
217 { .mnemonic = MNE_fldpi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
218 { .mnemonic = MNE_fldlg2, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
219 { .mnemonic = MNE_fldln2, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
220 { .mnemonic = MNE_fldz, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
221 { .mnemonic = MNE_f2xm1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
222 { .mnemonic = MNE_fyl2x, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
223 { .mnemonic = MNE_fptan, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
224 { .mnemonic = MNE_fpatan, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
225 { .mnemonic = MNE_fxtract, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
226 { .mnemonic = MNE_fprem1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
227 { .mnemonic = MNE_fdecstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
228 { .mnemonic = MNE_fincstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
229 { .mnemonic = MNE_fprem, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
230 { .mnemonic = MNE_fyl2xp1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
231 { .mnemonic = MNE_fsqrt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
232 { .mnemonic = MNE_fsincos, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
233 { .mnemonic = MNE_frndint, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
234 { .mnemonic = MNE_fscale, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
235 { .mnemonic = MNE_fsin, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
236 { .mnemonic = MNE_fcos, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
237 { .mnemonic = MNE_fadd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
238 { .mnemonic = MNE_fadd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
239 { .mnemonic = MNE_fadd, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
240 { .mnemonic = MNE_fmul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
241 { .mnemonic = MNE_fmul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
242 { .mnemonic = MNE_fmul, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
243 { .mnemonic = MNE_fsub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
244 { .mnemonic = MNE_fsub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
245 { .mnemonic = MNE_fsub, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
246 { .mnemonic = MNE_fsubr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
247 { .mnemonic = MNE_fsubr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
248 { .mnemonic = MNE_fsubr, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
249 { .mnemonic = MNE_fst, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
250 { .mnemonic = MNE_fst, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
251 { .mnemonic = MNE_fstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
252 { .mnemonic = MNE_fstp, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
253 { .mnemonic = MNE_fldenv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
254 { .mnemonic = MNE_fldcw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
255 { .mnemonic = MNE_fnstenv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
256 { .mnemonic = MNE_fnstcw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
257 { .mnemonic = MNE_fxch, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
258 { .mnemonic = MNE_faddp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
259 { .mnemonic = MNE_fcmovb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
260 { .mnemonic = MNE_fiadd, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
261 { .mnemonic = MNE_fcmove, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
262 { .mnemonic = MNE_fmulp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
263 { .mnemonic = MNE_fimul, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
264 { .mnemonic = MNE_fsubp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
265 { .mnemonic = MNE_fisub, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
266 { .mnemonic = MNE_fsubrp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
267 { .mnemonic = MNE_fisubr, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
268 { .mnemonic = MNE_fnstsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 1, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
269 { .mnemonic = MNE_fbld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
270 { .mnemonic = MNE_fcomip, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
271 { .mnemonic = MNE_fbstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
272 { .mnemonic = MNE_fchs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
273 { .mnemonic = MNE_fclex, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
274 { .mnemonic = MNE_finit, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
275 { .mnemonic = MNE_fwait, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
276 { .mnemonic = MNE_fnclex, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
277 { .mnemonic = MNE_fcmovb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
278 { .mnemonic = MNE_fcmove, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
279 { .mnemonic = MNE_fcmovbe, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
280 { .mnemonic = MNE_fcmovu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
281 { .mnemonic = MNE_fcmovnb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
282 { .mnemonic = MNE_fcmovne, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
283 { .mnemonic = MNE_fcmovnbe, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
284 { .mnemonic = MNE_fcmovnu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
285 { .mnemonic = MNE_fcom, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
286 { .mnemonic = MNE_fcom, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
287 { .mnemonic = MNE_fcomp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
288 { .mnemonic = MNE_fcomp, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
289 { .mnemonic = MNE_fcompp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
290 { .mnemonic = MNE_fcomi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
291 { .mnemonic = MNE_fcomip, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
292 { .mnemonic = MNE_fucomi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
293 { .mnemonic = MNE_fucomip, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
294 { .mnemonic = MNE_fcos, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
295 { .mnemonic = MNE_fdecstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
296 { .mnemonic = MNE_fdiv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
297 { .mnemonic = MNE_fdiv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
298 { .mnemonic = MNE_fdiv, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
299 { .mnemonic = MNE_fidivl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
300 { .mnemonic = MNE_fdivp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
301 { .mnemonic = MNE_fidiv, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
302 { .mnemonic = MNE_fdivrp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
303 { .mnemonic = MNE_fdivr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 2, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
304 { .mnemonic = MNE_fdivr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
305 { .mnemonic = MNE_fdivr, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
306 { .mnemonic = MNE_fidivrl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
307 { .mnemonic = MNE_fidivr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
308 { .mnemonic = MNE_fdivrp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 4, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 11, .str2 = 0, .off2_1 = 8, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
309 { .mnemonic = MNE_ffree, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
310 { .mnemonic = MNE_fcmovbe, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
311 { .mnemonic = MNE_ficom, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
312 { .mnemonic = MNE_fcmovu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
313 { .mnemonic = MNE_ficomp, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
314 { .mnemonic = MNE_fild, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
315 { .mnemonic = MNE_fildl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
316 { .mnemonic = MNE_fildll, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
317 { .mnemonic = MNE_fincstp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
318 { .mnemonic = MNE_fninit, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
319 { .mnemonic = MNE_fist, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
320 { .mnemonic = MNE_fistp, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
321 { .mnemonic = MNE_fistpll, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
322 { .mnemonic = MNE_fisttp, .rep = 0, .repe = 0, .suffix = 5, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
323 { .mnemonic = MNE_fisttpll, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
324 { .mnemonic = MNE_fldt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
325 { .mnemonic = MNE_fstpt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
326 { .mnemonic = MNE_fld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
327 { .mnemonic = MNE_fld, .rep = 0, .repe = 0, .suffix = 7, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
328 { .mnemonic = MNE_fucom, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
329 { .mnemonic = MNE_frstor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
330 { .mnemonic = MNE_fucomp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 13, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
331 { .mnemonic = MNE_fnsave, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
332 { .mnemonic = MNE_fnstsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
333 { .mnemonic = MNE_hlt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
334 { .mnemonic = MNE_idiv, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
335 { .mnemonic = MNE_imul, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
336 { .mnemonic = MNE_imul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
337 { .mnemonic = MNE_imul, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 14, .str1 = 0, .off1_1 = 13, .off1_2 = 2, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 3, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
338 { .mnemonic = MNE_in, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
339 { .mnemonic = MNE_in, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 11, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 3, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
340 { .mnemonic = MNE_inc, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
341 { .mnemonic = MNE_ins, .rep = 1, .repe = 0, .suffix = 1, .modrm = 0, .fct1 = 11, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 10, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
342 { .mnemonic = MNE_int, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
343 { .mnemonic = MNE_int3, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
344 { .mnemonic = MNE_invd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
345 { .mnemonic = MNE_swapgs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
346 { .mnemonic = MNE_invlpg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
347 { .mnemonic = MNE_iret, .rep = 0, .repe = 0, .suffix = 6, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
348 { .mnemonic = MNE_j, .rep = 0, .repe = 0, .suffix = 4, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
349 { .mnemonic = MNE_j, .rep = 0, .repe = 0, .suffix = 4, .modrm = 0, .fct1 = 29, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
350 { .mnemonic = MNE_set, .rep = 0, .repe = 0, .suffix = 4, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
351 { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
352 { .mnemonic = MNE_jmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
353 { .mnemonic = MNE_jmp, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 29, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
354 { .mnemonic = MNE_jmp, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 22, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
355 { .mnemonic = MNE_ljmp, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 30, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 4, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
356 { .mnemonic = MNE_ljmp, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 22, .str1 = 6, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
357 { .mnemonic = MNE_lahf, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
358 { .mnemonic = MNE_lar, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
359 { .mnemonic = MNE_lea, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 5, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
360 { .mnemonic = MNE_leave, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
361 { .mnemonic = MNE_lfs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
362 { .mnemonic = MNE_lgs, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
363 { .mnemonic = MNE_lgdt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
364 { .mnemonic = MNE_lidt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
365 { .mnemonic = MNE_lldt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
366 { .mnemonic = MNE_lmsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
367 { .mnemonic = MNE_lock, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
368 { .mnemonic = MNE_lods, .rep = 1, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 10, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 3, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
369 { .mnemonic = MNE_loop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
370 { .mnemonic = MNE_loope, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
371 { .mnemonic = MNE_loopne, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 8, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
372 { .mnemonic = MNE_lsl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
373 { .mnemonic = MNE_lss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
374 { .mnemonic = MNE_ltr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
375 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
376 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
377 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
378 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 17, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 18, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
379 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 3, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 35, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
380 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 37, .off1_2 = 3, .off1_3 = 0, .fct2 = 3, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
381 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 6, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 21, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
382 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 6, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
383 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 7, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 21, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
384 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 7, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
385 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 32, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
386 { .mnemonic = MNE_mov, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 22, .str2 = 0, .off2_1 = 5, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
387 { .mnemonic = MNE_movs, .rep = 1, .repe = 0, .suffix = 1, .modrm = 0, .fct1 = 10, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 10, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
388 { .mnemonic = MNE_movsbl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
389 { .mnemonic = MNE_movswl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
390 { .mnemonic = MNE_movzbl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
391 { .mnemonic = MNE_movzwl, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
392 { .mnemonic = MNE_mul, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
393 { .mnemonic = MNE_neg, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
394 { .mnemonic = MNE_pause, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
395 { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
396 { .mnemonic = MNE_popcnt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
397 { .mnemonic = MNE_not, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
398 { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
399 { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
400 { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
401 { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
402 { .mnemonic = MNE_or, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
403 { .mnemonic = MNE_out, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 12, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
404 { .mnemonic = MNE_out, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 9, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
405 { .mnemonic = MNE_outs, .rep = 1, .repe = 0, .suffix = 1, .modrm = 0, .fct1 = 10, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 9, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
406 { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
407 { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 3, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
408 { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 32, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
409 { .mnemonic = MNE_popf, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
410 { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 10, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
411 { .mnemonic = MNE_pushq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
412 { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 2, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
413 { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 28, .str1 = 0, .off1_1 = 2, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
414 { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 14, .str1 = 0, .off1_1 = 5, .off1_2 = 2, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
415 { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 31, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
416 { .mnemonic = MNE_push, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 32, .str1 = 0, .off1_1 = 7, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
417 { .mnemonic = MNE_pushf, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
418 { .mnemonic = MNE_rcl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
419 { .mnemonic = MNE_rcl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
420 { .mnemonic = MNE_rcl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
421 { .mnemonic = MNE_rcr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
422 { .mnemonic = MNE_rcr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
423 { .mnemonic = MNE_rcr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
424 { .mnemonic = MNE_rdmsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
425 { .mnemonic = MNE_rdpmc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
426 { .mnemonic = MNE_rdtsc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
427 { .mnemonic = MNE_ret, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
428 { .mnemonic = MNE_ret, .rep = 0, .repe = 0, .suffix = 3, .modrm = 0, .fct1 = 16, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
429 { .mnemonic = MNE_lret, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
430 { .mnemonic = MNE_lret, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 16, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
431 { .mnemonic = MNE_rol, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
432 { .mnemonic = MNE_rol, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
433 { .mnemonic = MNE_rol, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
434 { .mnemonic = MNE_ror, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
435 { .mnemonic = MNE_ror, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
436 { .mnemonic = MNE_ror, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
437 { .mnemonic = MNE_rsm, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
438 { .mnemonic = MNE_sahf, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
439 { .mnemonic = MNE_sar, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
440 { .mnemonic = MNE_sar, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
441 { .mnemonic = MNE_sar, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
442 { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
443 { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
444 { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
445 { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
446 { .mnemonic = MNE_sbb, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
447 { .mnemonic = MNE_scas, .rep = 0, .repe = 1, .suffix = 0, .modrm = 0, .fct1 = 12, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 3, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
448 { .mnemonic = MNE_set, .rep = 0, .repe = 0, .suffix = 4, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
449 { .mnemonic = MNE_shl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
450 { .mnemonic = MNE_shl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
451 { .mnemonic = MNE_shl, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
452 { .mnemonic = MNE_shr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
453 { .mnemonic = MNE_shld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, },
454 { .mnemonic = MNE_shld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, },
455 { .mnemonic = MNE_shr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
456 { .mnemonic = MNE_shr, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
457 { .mnemonic = MNE_shrd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, },
458 { .mnemonic = MNE_shrd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 2, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 2, .str3 = 0, .off3_1 = 6, .off3_2 = 0, },
459 { .mnemonic = MNE_vmcall, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
460 { .mnemonic = MNE_vmlaunch, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
461 { .mnemonic = MNE_vmresume, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
462 { .mnemonic = MNE_vmxoff, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
463 { .mnemonic = MNE_vmread, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 28, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 14, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
464 { .mnemonic = MNE_vmwrite, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 22, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 21, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
465 { .mnemonic = MNE_sgdt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
466 { .mnemonic = MNE_monitor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 3, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 1, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 4, .str3 = 1, .off3_1 = 0, .off3_2 = 0, },
467 { .mnemonic = MNE_mwait, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 33, .str1 = 3, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 23, .str2 = 1, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
468 { .mnemonic = MNE_sidt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
469 { .mnemonic = MNE_sldt, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
470 { .mnemonic = MNE_smsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
471 { .mnemonic = MNE_stc, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
472 { .mnemonic = MNE_std, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
473 { .mnemonic = MNE_sti, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
474 { .mnemonic = MNE_stos, .rep = 1, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 5, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 10, .str2 = 0, .off2_1 = 3, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
475 { .mnemonic = MNE_str, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
476 { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
477 { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
478 { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
479 { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
480 { .mnemonic = MNE_sub, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
481 { .mnemonic = MNE_test, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
482 { .mnemonic = MNE_test, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
483 { .mnemonic = MNE_test, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
484 { .mnemonic = MNE_ud2a, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
485 { .mnemonic = MNE_verr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
486 { .mnemonic = MNE_verw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 21, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
487 { .mnemonic = MNE_wbinvd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
488 { .mnemonic = MNE_prefetch, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
489 { .mnemonic = MNE_prefetchw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 23, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
490 { .mnemonic = MNE_prefetchnta, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
491 { .mnemonic = MNE_prefetcht0, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
492 { .mnemonic = MNE_prefetcht1, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
493 { .mnemonic = MNE_prefetcht2, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
494 { .mnemonic = MNE_nop, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
495 { .mnemonic = MNE_wrmsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
496 { .mnemonic = MNE_xadd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 15, .off1_2 = 11, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 8, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
497 { .mnemonic = MNE_xchg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
498 { .mnemonic = MNE_xchg, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 4, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 17, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
499 { .mnemonic = MNE_xlat, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 9, .str1 = 0, .off1_1 = 5, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
500 { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 27, .str1 = 0, .off1_1 = 7, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
501 { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 25, .str1 = 0, .off1_1 = 5, .off1_2 = 9, .off1_3 = 0, .fct2 = 20, .str2 = 0, .off2_1 = 5, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
502 { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 15, .str1 = 0, .off1_1 = 5, .off1_2 = 3, .off1_3 = 0, .fct2 = 5, .str2 = 0, .off2_1 = 11, .off2_2 = 3, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
503 { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 15, .str1 = 0, .off1_1 = 13, .off1_2 = 3, .off1_3 = 0, .fct2 = 16, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
504 { .mnemonic = MNE_xor, .rep = 0, .repe = 0, .suffix = 1, .modrm = 1, .fct1 = 19, .str1 = 0, .off1_1 = 13, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 3, .off2_2 = 9, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
505 { .mnemonic = MNE_emms, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
506 { .mnemonic = MNE_pand, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
507 { .mnemonic = MNE_pand, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
508 { .mnemonic = MNE_pandn, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
509 { .mnemonic = MNE_pandn, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
510 { .mnemonic = MNE_pmaddwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
511 { .mnemonic = MNE_pmaddwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
512 { .mnemonic = MNE_por, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
513 { .mnemonic = MNE_por, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
514 { .mnemonic = MNE_pxor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
515 { .mnemonic = MNE_pxor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
516 { .mnemonic = MNE_andnps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
517 { .mnemonic = MNE_andps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
518 { .mnemonic = MNE_cmpeqps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
519 { .mnemonic = MNE_cmpltps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
520 { .mnemonic = MNE_cmpleps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
521 { .mnemonic = MNE_cmpunordps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
522 { .mnemonic = MNE_cmpneqps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
523 { .mnemonic = MNE_cmpnltps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
524 { .mnemonic = MNE_cmpnleps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
525 { .mnemonic = MNE_cmpordps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
526 { .mnemonic = MNE_cmpeqss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
527 { .mnemonic = MNE_cmpltss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
528 { .mnemonic = MNE_cmpless, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
529 { .mnemonic = MNE_cmpunordss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
530 { .mnemonic = MNE_cmpneqss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
531 { .mnemonic = MNE_cmpnltss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
532 { .mnemonic = MNE_cmpnless, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
533 { .mnemonic = MNE_cmpordss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
534 { .mnemonic = MNE_fxrstor, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
535 { .mnemonic = MNE_fxsave, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
536 { .mnemonic = MNE_ldmxcsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
537 { .mnemonic = MNE_stmxcsr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
538 { .mnemonic = MNE_movsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
539 { .mnemonic = MNE_movss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
540 { .mnemonic = MNE_movupd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
541 { .mnemonic = MNE_movups, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
542 { .mnemonic = MNE_movsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
543 { .mnemonic = MNE_movss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
544 { .mnemonic = MNE_movupd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
545 { .mnemonic = MNE_movups, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
546 { .mnemonic = MNE_movddup, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
547 { .mnemonic = MNE_movsldup, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
548 { .mnemonic = MNE_movlpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
549 { .mnemonic = MNE_movhlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
550 { .mnemonic = MNE_movlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
551 { .mnemonic = MNE_movhlpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
552 { .mnemonic = MNE_movhlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
553 { .mnemonic = MNE_movlpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
554 { .mnemonic = MNE_movlps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
555 { .mnemonic = MNE_unpcklpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
556 { .mnemonic = MNE_unpcklps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
557 { .mnemonic = MNE_unpckhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
558 { .mnemonic = MNE_unpckhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
559 { .mnemonic = MNE_movshdup, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
560 { .mnemonic = MNE_movhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
561 { .mnemonic = MNE_movlhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
562 { .mnemonic = MNE_movhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
563 { .mnemonic = MNE_movlhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
564 { .mnemonic = MNE_movlhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
565 { .mnemonic = MNE_movhpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
566 { .mnemonic = MNE_movhps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
567 { .mnemonic = MNE_movapd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
568 { .mnemonic = MNE_movaps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
569 { .mnemonic = MNE_movapd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
570 { .mnemonic = MNE_movaps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
571 { .mnemonic = MNE_cvtsi2sd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
572 { .mnemonic = MNE_cvtsi2ss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
573 { .mnemonic = MNE_cvtpi2pd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
574 { .mnemonic = MNE_cvtpi2ps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
575 { .mnemonic = MNE_movntpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
576 { .mnemonic = MNE_movntps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
577 { .mnemonic = MNE_cvttsd2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
578 { .mnemonic = MNE_cvttss2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
579 { .mnemonic = MNE_cvttpd2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
580 { .mnemonic = MNE_cvttps2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
581 { .mnemonic = MNE_cvtpd2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
582 { .mnemonic = MNE_cvtsd2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
583 { .mnemonic = MNE_cvtss2si, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
584 { .mnemonic = MNE_cvtps2pi, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
585 { .mnemonic = MNE_ucomisd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
586 { .mnemonic = MNE_ucomiss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
587 { .mnemonic = MNE_comisd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
588 { .mnemonic = MNE_comiss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
589 { .mnemonic = MNE_getsec, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
590 { .mnemonic = MNE_movmskpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
591 { .mnemonic = MNE_movmskps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
592 { .mnemonic = MNE_sqrtpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
593 { .mnemonic = MNE_sqrtsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
594 { .mnemonic = MNE_sqrtss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
595 { .mnemonic = MNE_sqrtps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
596 { .mnemonic = MNE_rsqrtss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
597 { .mnemonic = MNE_rsqrtps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
598 { .mnemonic = MNE_rcpss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
599 { .mnemonic = MNE_rcpps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
600 { .mnemonic = MNE_andpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
601 { .mnemonic = MNE_andps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
602 { .mnemonic = MNE_andnpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
603 { .mnemonic = MNE_andnps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
604 { .mnemonic = MNE_orpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
605 { .mnemonic = MNE_orps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
606 { .mnemonic = MNE_xorpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
607 { .mnemonic = MNE_xorps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
608 { .mnemonic = MNE_addsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
609 { .mnemonic = MNE_addss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
610 { .mnemonic = MNE_addpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
611 { .mnemonic = MNE_addps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
612 { .mnemonic = MNE_mulsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
613 { .mnemonic = MNE_mulss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
614 { .mnemonic = MNE_mulpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
615 { .mnemonic = MNE_mulps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
616 { .mnemonic = MNE_cvtsd2ss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
617 { .mnemonic = MNE_cvtss2sd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
618 { .mnemonic = MNE_cvtpd2ps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
619 { .mnemonic = MNE_cvtps2pd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
620 { .mnemonic = MNE_cvtps2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
621 { .mnemonic = MNE_cvttps2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
622 { .mnemonic = MNE_cvtdq2ps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
623 { .mnemonic = MNE_subsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
624 { .mnemonic = MNE_subss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
625 { .mnemonic = MNE_subpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
626 { .mnemonic = MNE_subps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
627 { .mnemonic = MNE_minsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
628 { .mnemonic = MNE_minss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
629 { .mnemonic = MNE_minpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
630 { .mnemonic = MNE_minps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
631 { .mnemonic = MNE_divsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
632 { .mnemonic = MNE_divss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
633 { .mnemonic = MNE_divpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
634 { .mnemonic = MNE_divps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
635 { .mnemonic = MNE_maxsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
636 { .mnemonic = MNE_maxss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
637 { .mnemonic = MNE_maxpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
638 { .mnemonic = MNE_maxps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
639 { .mnemonic = MNE_punpcklbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
640 { .mnemonic = MNE_punpcklbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
641 { .mnemonic = MNE_punpcklwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
642 { .mnemonic = MNE_punpcklwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
643 { .mnemonic = MNE_punpckldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
644 { .mnemonic = MNE_punpckldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
645 { .mnemonic = MNE_packsswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
646 { .mnemonic = MNE_packsswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
647 { .mnemonic = MNE_pcmpgtb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
648 { .mnemonic = MNE_pcmpgtb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
649 { .mnemonic = MNE_pcmpgtw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
650 { .mnemonic = MNE_pcmpgtw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
651 { .mnemonic = MNE_pcmpgtd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
652 { .mnemonic = MNE_pcmpgtd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
653 { .mnemonic = MNE_packuswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
654 { .mnemonic = MNE_packuswb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
655 { .mnemonic = MNE_punpckhbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
656 { .mnemonic = MNE_punpckhbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
657 { .mnemonic = MNE_punpckhwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
658 { .mnemonic = MNE_punpckhwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
659 { .mnemonic = MNE_punpckhdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
660 { .mnemonic = MNE_punpckhdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
661 { .mnemonic = MNE_packssdw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
662 { .mnemonic = MNE_packssdw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
663 { .mnemonic = MNE_punpcklqdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
664 { .mnemonic = MNE_punpckhqdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
665 { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
666 { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
667 { .mnemonic = MNE_movdqa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
668 { .mnemonic = MNE_movdqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
669 { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
670 { .mnemonic = MNE_pshufd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
671 { .mnemonic = MNE_pshuflw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
672 { .mnemonic = MNE_pshufhw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
673 { .mnemonic = MNE_pshufw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 1, .str3 = 0, .off3_1 = 8, .off3_2 = 0, },
674 { .mnemonic = MNE_pcmpeqb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
675 { .mnemonic = MNE_pcmpeqb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
676 { .mnemonic = MNE_pcmpeqw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
677 { .mnemonic = MNE_pcmpeqw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
678 { .mnemonic = MNE_pcmpeqd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
679 { .mnemonic = MNE_pcmpeqd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
680 { .mnemonic = MNE_haddpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
681 { .mnemonic = MNE_haddps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
682 { .mnemonic = MNE_hsubpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
683 { .mnemonic = MNE_hsubps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
684 { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
685 { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
686 { .mnemonic = MNE_movd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
687 { .mnemonic = MNE_movdqa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
688 { .mnemonic = MNE_movdqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
689 { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
690 { .mnemonic = MNE_movnti, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 26, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
691 { .mnemonic = MNE_pinsrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
692 { .mnemonic = MNE_pinsrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 1, .str3 = 0, .off3_1 = 8, .off3_2 = 0, },
693 { .mnemonic = MNE_pextrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 3, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
694 { .mnemonic = MNE_pextrw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 3, .str3 = 0, .off3_1 = 8, .off3_2 = 0, },
695 { .mnemonic = MNE_shufpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
696 { .mnemonic = MNE_shufps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 8, .off3_2 = 0, },
697 { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
698 { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
699 { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
700 { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
701 { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
702 { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
703 { .mnemonic = MNE_paddq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
704 { .mnemonic = MNE_paddq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
705 { .mnemonic = MNE_pmullw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
706 { .mnemonic = MNE_pmullw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
707 { .mnemonic = MNE_movq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
708 { .mnemonic = MNE_movdq2q, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
709 { .mnemonic = MNE_movq2dq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 20, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
710 { .mnemonic = MNE_pmovmskb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
711 { .mnemonic = MNE_pmovmskb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 20, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 19, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
712 { .mnemonic = MNE_psubusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
713 { .mnemonic = MNE_psubusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
714 { .mnemonic = MNE_psubusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
715 { .mnemonic = MNE_psubusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
716 { .mnemonic = MNE_pminub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
717 { .mnemonic = MNE_pminub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
718 { .mnemonic = MNE_paddusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
719 { .mnemonic = MNE_paddusb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
720 { .mnemonic = MNE_paddusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
721 { .mnemonic = MNE_paddusw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
722 { .mnemonic = MNE_pmaxub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
723 { .mnemonic = MNE_pmaxub, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
724 { .mnemonic = MNE_pavgb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
725 { .mnemonic = MNE_pavgb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
726 { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
727 { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
728 { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
729 { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
730 { .mnemonic = MNE_pavgw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
731 { .mnemonic = MNE_pavgw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
732 { .mnemonic = MNE_pmulhuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
733 { .mnemonic = MNE_pmulhuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
734 { .mnemonic = MNE_pmulhw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
735 { .mnemonic = MNE_pmulhw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
736 { .mnemonic = MNE_movntdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 34, .str1 = 0, .off1_1 = 23, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
737 { .mnemonic = MNE_movntq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 20, .str1 = 0, .off1_1 = 15, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 11, .off2_2 = 17, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
738 { .mnemonic = MNE_psubsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
739 { .mnemonic = MNE_psubsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
740 { .mnemonic = MNE_psubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
741 { .mnemonic = MNE_psubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
742 { .mnemonic = MNE_pminsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
743 { .mnemonic = MNE_pminsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
744 { .mnemonic = MNE_paddsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
745 { .mnemonic = MNE_paddsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
746 { .mnemonic = MNE_paddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
747 { .mnemonic = MNE_paddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
748 { .mnemonic = MNE_pmaxsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
749 { .mnemonic = MNE_pmaxsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
750 { .mnemonic = MNE_lddqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
751 { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
752 { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
753 { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
754 { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
755 { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
756 { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
757 { .mnemonic = MNE_pmuludq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
758 { .mnemonic = MNE_pmuludq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
759 { .mnemonic = MNE_psadbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
760 { .mnemonic = MNE_psadbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
761 { .mnemonic = MNE_maskmovdqu, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 34, .str1 = 0, .off1_1 = 26, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
762 { .mnemonic = MNE_maskmovq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 20, .str1 = 0, .off1_1 = 18, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
763 { .mnemonic = MNE_psubb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
764 { .mnemonic = MNE_psubb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
765 { .mnemonic = MNE_psubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
766 { .mnemonic = MNE_psubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
767 { .mnemonic = MNE_psubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
768 { .mnemonic = MNE_psubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
769 { .mnemonic = MNE_psubq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
770 { .mnemonic = MNE_psubq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
771 { .mnemonic = MNE_paddb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
772 { .mnemonic = MNE_paddb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
773 { .mnemonic = MNE_paddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
774 { .mnemonic = MNE_paddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
775 { .mnemonic = MNE_paddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
776 { .mnemonic = MNE_paddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
777 { .mnemonic = MNE_pshufb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
778 { .mnemonic = MNE_pshufb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
779 { .mnemonic = MNE_phaddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
780 { .mnemonic = MNE_phaddw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
781 { .mnemonic = MNE_phaddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
782 { .mnemonic = MNE_phaddd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
783 { .mnemonic = MNE_phaddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
784 { .mnemonic = MNE_phaddsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
785 { .mnemonic = MNE_pmaddubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
786 { .mnemonic = MNE_pmaddubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
787 { .mnemonic = MNE_phsubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
788 { .mnemonic = MNE_phsubw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
789 { .mnemonic = MNE_phsubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
790 { .mnemonic = MNE_phsubd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
791 { .mnemonic = MNE_phsubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
792 { .mnemonic = MNE_phsubsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
793 { .mnemonic = MNE_psignb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
794 { .mnemonic = MNE_psignb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
795 { .mnemonic = MNE_psignw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
796 { .mnemonic = MNE_psignw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
797 { .mnemonic = MNE_psignd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
798 { .mnemonic = MNE_psignd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
799 { .mnemonic = MNE_pmulhrsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
800 { .mnemonic = MNE_pmulhrsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
801 { .mnemonic = MNE_pabsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
802 { .mnemonic = MNE_pabsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
803 { .mnemonic = MNE_pabsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
804 { .mnemonic = MNE_pabsw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
805 { .mnemonic = MNE_pabsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
806 { .mnemonic = MNE_pabsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 21, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
807 { .mnemonic = MNE_palignr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
808 { .mnemonic = MNE_palignr, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 1, .str2 = 0, .off2_1 = 19, .off2_2 = 25, .off2_3 = 0, .fct3 = 1, .str3 = 0, .off3_1 = 16, .off3_2 = 0, },
809 { .mnemonic = MNE_vmclear, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
810 { .mnemonic = MNE_vmxon, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 21, .off1_2 = 25, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
811 { .mnemonic = MNE_vmptrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
812 { .mnemonic = MNE_vmptrst, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
813 { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
814 { .mnemonic = MNE_psrlw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
815 { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
816 { .mnemonic = MNE_psraw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
817 { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
818 { .mnemonic = MNE_psllw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
819 { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
820 { .mnemonic = MNE_psrld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
821 { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
822 { .mnemonic = MNE_psrad, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
823 { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
824 { .mnemonic = MNE_pslld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
825 { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
826 { .mnemonic = MNE_psrlq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
827 { .mnemonic = MNE_psrldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
828 { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
829 { .mnemonic = MNE_psllq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 21, .off1_2 = 0, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 16, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
830 { .mnemonic = MNE_pslldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 18, .str1 = 0, .off1_1 = 29, .off1_2 = 0, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 24, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
831 { .mnemonic = MNE_lfence, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
832 { .mnemonic = MNE_mfence, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
833 { .mnemonic = MNE_sfence, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 0, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
834 { .mnemonic = MNE_clflush, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 24, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
835 { .mnemonic = MNE_INVALID, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 1, .str1 = 0, .off1_1 = 13, .off1_2 = 17, .off1_3 = 0, .fct2 = 13, .str2 = 0, .off2_1 = 13, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
836 { .mnemonic = MNE_blendps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
837 { .mnemonic = MNE_blendpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
838 { .mnemonic = MNE_blendvps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 5, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
839 { .mnemonic = MNE_blendvpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 5, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
840 { .mnemonic = MNE_dpps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
841 { .mnemonic = MNE_dppd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
842 { .mnemonic = MNE_insertps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
843 { .mnemonic = MNE_movntdqa, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
844 { .mnemonic = MNE_mpsadbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
845 { .mnemonic = MNE_packusdw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
846 { .mnemonic = MNE_pblendvb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 33, .str1 = 5, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
847 { .mnemonic = MNE_pblendw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
848 { .mnemonic = MNE_pcmpeqq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
849 { .mnemonic = MNE_pcmpestri, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
850 { .mnemonic = MNE_pcmpestrm, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
851 { .mnemonic = MNE_pcmpistri, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
852 { .mnemonic = MNE_pcmpistrm, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
853 { .mnemonic = MNE_pcmpgtq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
854 { .mnemonic = MNE_phminposuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
855 { .mnemonic = MNE_pinsrb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
856 { .mnemonic = MNE_pinsrd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 15, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
857 { .mnemonic = MNE_pmaxsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
858 { .mnemonic = MNE_pmaxsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
859 { .mnemonic = MNE_pmaxud, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
860 { .mnemonic = MNE_pmaxuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
861 { .mnemonic = MNE_pminsb, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
862 { .mnemonic = MNE_pminsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
863 { .mnemonic = MNE_pminud, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
864 { .mnemonic = MNE_pminuw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
865 { .mnemonic = MNE_pmovsxbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
866 { .mnemonic = MNE_pmovsxbd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
867 { .mnemonic = MNE_pmovsxbq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
868 { .mnemonic = MNE_pmovsxwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
869 { .mnemonic = MNE_pmovsxwq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
870 { .mnemonic = MNE_pmovsxdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
871 { .mnemonic = MNE_pmovzxbw, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
872 { .mnemonic = MNE_pmovzxbd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
873 { .mnemonic = MNE_pmovzxbq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
874 { .mnemonic = MNE_pmovzxwd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
875 { .mnemonic = MNE_pmovzxwq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
876 { .mnemonic = MNE_pmovzxdq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
877 { .mnemonic = MNE_pmuldq, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
878 { .mnemonic = MNE_pmulld, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
879 { .mnemonic = MNE_ptest, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 2, .str1 = 0, .off1_1 = 29, .off1_2 = 33, .off1_3 = 0, .fct2 = 24, .str2 = 0, .off2_1 = 29, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
880 { .mnemonic = MNE_roundps, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
881 { .mnemonic = MNE_roundpd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
882 { .mnemonic = MNE_roundss, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
883 { .mnemonic = MNE_roundsd, .rep = 0, .repe = 0, .suffix = 0, .modrm = 1, .fct1 = 18, .str1 = 0, .off1_1 = 37, .off1_2 = 0, .off1_3 = 0, .fct2 = 2, .str2 = 0, .off2_1 = 27, .off2_2 = 33, .off2_3 = 0, .fct3 = 5, .str3 = 0, .off3_1 = 24, .off3_2 = 0, },
884 { .mnemonic = MNE_pop, .rep = 0, .repe = 0, .suffix = 0, .modrm = 0, .fct1 = 31, .str1 = 0, .off1_1 = 0, .off1_2 = 0, .off1_3 = 0, .fct2 = 0, .str2 = 0, .off2_1 = 0, .off2_2 = 0, .off2_3 = 0, .fct3 = 0, .str3 = 0, .off3_1 = 0, .off3_2 = 0, },
885};
886static const uint8_t match_data[] =
887{
888 0x1, 0xfe, 0x14,
889 0x2, 0xfe, 0x80, 0x38, 0x10,
890 0x2, 0xfe, 0x82, 0x38, 0x10,
891 0x2, 0xfe, 0x10, 0, 0,
892 0x2, 0xfe, 0x12, 0, 0,
893 0x1, 0xfe, 0x4,
894 0x2, 0xfe, 0x80, 0x38, 0,
895 0x12, 0x83, 0x38, 0,
896 0x2, 0xfe, 0, 0, 0,
897 0x2, 0xfe, 0x2, 0, 0,
898 0x34, 0x66, 0xf, 0xd0, 0, 0,
899 0x34, 0xf2, 0xf, 0xd0, 0, 0,
900 0x1, 0xfe, 0x24,
901 0x2, 0xfe, 0x80, 0x38, 0x20,
902 0x2, 0xfe, 0x82, 0x38, 0x20,
903 0x2, 0xfe, 0x20, 0, 0,
904 0x2, 0xfe, 0x22, 0, 0,
905 0x34, 0x66, 0xf, 0x54, 0, 0,
906 0x23, 0xf, 0x54, 0, 0,
907 0x34, 0x66, 0xf, 0x55, 0, 0,
908 0x23, 0xf, 0x55, 0, 0,
909 0x12, 0x63, 0, 0,
910 0x23, 0xf, 0xbc, 0, 0,
911 0x23, 0xf, 0xbd, 0, 0,
912 0x12, 0xf, 0xf8, 0xc8,
913 0x23, 0xf, 0xa3, 0, 0,
914 0x23, 0xf, 0xba, 0x38, 0x20,
915 0x23, 0xf, 0xbb, 0, 0,
916 0x23, 0xf, 0xba, 0x38, 0x38,
917 0x23, 0xf, 0xb3, 0, 0,
918 0x23, 0xf, 0xba, 0x38, 0x30,
919 0x23, 0xf, 0xab, 0, 0,
920 0x23, 0xf, 0xba, 0x38, 0x28,
921 0x11, 0xe8,
922 0x12, 0xff, 0x38, 0x10,
923 0x12, 0xff, 0x38, 0x18,
924 0x11, 0x98,
925 0x11, 0x99,
926 0x11, 0xf8,
927 0x11, 0xfc,
928 0x11, 0xfa,
929 0x22, 0xf, 0x5,
930 0x22, 0xf, 0x6,
931 0x22, 0xf, 0x7,
932 0x22, 0xf, 0x34,
933 0x22, 0xf, 0x35,
934 0x11, 0xf5,
935 0x13, 0xf, 0xf0, 0x40, 0, 0,
936 0x1, 0xfe, 0x3c,
937 0x2, 0xfe, 0x80, 0x38, 0x38,
938 0x12, 0x83, 0x38, 0x38,
939 0x2, 0xfe, 0x38, 0, 0,
940 0x2, 0xfe, 0x3a, 0, 0,
941 0x34, 0xf2, 0xf, 0xc2, 0, 0,
942 0x34, 0xf3, 0xf, 0xc2, 0, 0,
943 0x34, 0x66, 0xf, 0xc2, 0, 0,
944 0x23, 0xf, 0xc2, 0, 0,
945 0x1, 0xfe, 0xa6,
946 0x13, 0xf, 0xfe, 0xb0, 0, 0,
947 0x23, 0xf, 0xc7, 0x38, 0x8,
948 0x22, 0xf, 0xa2,
949 0x34, 0xf3, 0xf, 0xe6, 0, 0,
950 0x34, 0xf2, 0xf, 0xe6, 0, 0,
951 0x34, 0x66, 0xf, 0xe6, 0, 0,
952 0x2, 0xfe, 0xfe, 0x38, 0x8,
953 0x2, 0xfe, 0xf6, 0x38, 0x30,
954 0x22, 0xf, 0x77,
955 0x11, 0xc8,
956 0x22, 0xd9, 0xd0,
957 0x22, 0xd9, 0xe0,
958 0x22, 0xd9, 0xe1,
959 0x22, 0xd9, 0xe4,
960 0x22, 0xd9, 0xe5,
961 0x22, 0xd9, 0xe8,
962 0x22, 0xd9, 0xe9,
963 0x22, 0xd9, 0xea,
964 0x22, 0xd9, 0xeb,
965 0x22, 0xd9, 0xec,
966 0x22, 0xd9, 0xed,
967 0x22, 0xd9, 0xee,
968 0x22, 0xd9, 0xf0,
969 0x22, 0xd9, 0xf1,
970 0x22, 0xd9, 0xf2,
971 0x22, 0xd9, 0xf3,
972 0x22, 0xd9, 0xf4,
973 0x22, 0xd9, 0xf5,
974 0x22, 0xd9, 0xf6,
975 0x22, 0xd9, 0xf7,
976 0x22, 0xd9, 0xf8,
977 0x22, 0xd9, 0xf9,
978 0x22, 0xd9, 0xfa,
979 0x22, 0xd9, 0xfb,
980 0x22, 0xd9, 0xfc,
981 0x22, 0xd9, 0xfd,
982 0x22, 0xd9, 0xfe,
983 0x22, 0xd9, 0xff,
984 0x12, 0xd8, 0xf8, 0xc0,
985 0x12, 0xdc, 0xf8, 0xc0,
986 0x2, 0xfb, 0xd8, 0x38, 0,
987 0x12, 0xd8, 0xf8, 0xc8,
988 0x12, 0xdc, 0xf8, 0xc8,
989 0x2, 0xfb, 0xd8, 0x38, 0x8,
990 0x12, 0xd8, 0xf8, 0xe0,
991 0x12, 0xdc, 0xf8, 0xe0,
992 0x2, 0xfb, 0xd8, 0x38, 0x20,
993 0x12, 0xd8, 0xf8, 0xe8,
994 0x12, 0xdc, 0xf8, 0xe8,
995 0x2, 0xfb, 0xd8, 0x38, 0x28,
996 0x12, 0xdd, 0xf8, 0xd0,
997 0x2, 0xfb, 0xd9, 0x38, 0x10,
998 0x12, 0xdd, 0xf8, 0xd8,
999 0x2, 0xfb, 0xd9, 0x38, 0x18,
1000 0x12, 0xd9, 0x38, 0x20,
1001 0x12, 0xd9, 0x38, 0x28,
1002 0x12, 0xd9, 0x38, 0x30,
1003 0x12, 0xd9, 0x38, 0x38,
1004 0x12, 0xd9, 0xf8, 0xc8,
1005 0x12, 0xde, 0xf8, 0xc0,
1006 0x12, 0xda, 0xf8, 0xc0,
1007 0x2, 0xfb, 0xda, 0x38, 0,
1008 0x12, 0xda, 0xf8, 0xc8,
1009 0x12, 0xde, 0xf8, 0xc8,
1010 0x2, 0xfb, 0xda, 0x38, 0x8,
1011 0x12, 0xde, 0xf8, 0xe0,
1012 0x2, 0xfb, 0xda, 0x38, 0x20,
1013 0x12, 0xde, 0xf8, 0xe8,
1014 0x2, 0xfb, 0xda, 0x38, 0x28,
1015 0x22, 0xdf, 0xe0,
1016 0x12, 0xdf, 0x38, 0x20,
1017 0x12, 0xdf, 0xf8, 0xf0,
1018 0x12, 0xdf, 0x38, 0x30,
1019 0x22, 0xd9, 0xe0,
1020 0x33, 0x9b, 0xdb, 0xe2,
1021 0x33, 0x9b, 0xdb, 0xe3,
1022 0x11, 0x9b,
1023 0x22, 0xdb, 0xe2,
1024 0x12, 0xda, 0xf8, 0xc0,
1025 0x12, 0xda, 0xf8, 0xc8,
1026 0x12, 0xda, 0xf8, 0xd0,
1027 0x12, 0xda, 0xf8, 0xd8,
1028 0x12, 0xdb, 0xf8, 0xc0,
1029 0x12, 0xdb, 0xf8, 0xc8,
1030 0x12, 0xdb, 0xf8, 0xd0,
1031 0x12, 0xdb, 0xf8, 0xd8,
1032 0x12, 0xd8, 0xf8, 0xd0,
1033 0x2, 0xfb, 0xd8, 0x38, 0x10,
1034 0x12, 0xd8, 0xf8, 0xd8,
1035 0x2, 0xfb, 0xd8, 0x38, 0x18,
1036 0x22, 0xde, 0xd9,
1037 0x12, 0xdb, 0xf8, 0xf0,
1038 0x12, 0xdf, 0xf8, 0xf0,
1039 0x12, 0xdb, 0xf8, 0xe8,
1040 0x12, 0xdf, 0xf8, 0xe8,
1041 0x22, 0xd9, 0xff,
1042 0x22, 0xd9, 0xf6,
1043 0x12, 0xd8, 0xf8, 0xf0,
1044 0x12, 0xdc, 0xf8, 0xf0,
1045 0x2, 0xfb, 0xd8, 0x38, 0x30,
1046 0x12, 0xda, 0x38, 0x30,
1047 0x12, 0xde, 0xf8, 0xf0,
1048 0x12, 0xde, 0x38, 0x30,
1049 0x12, 0xde, 0xf8, 0xf8,
1050 0x12, 0xd8, 0xf8, 0xf8,
1051 0x12, 0xdc, 0xf8, 0xf8,
1052 0x2, 0xfb, 0xd8, 0x38, 0x38,
1053 0x12, 0xda, 0x38, 0x38,
1054 0x12, 0xde, 0x38, 0x38,
1055 0x12, 0xde, 0xf8, 0xf0,
1056 0x12, 0xdd, 0xf8, 0xc0,
1057 0x12, 0xda, 0xf8, 0xd0,
1058 0x2, 0xfb, 0xda, 0x38, 0x10,
1059 0x12, 0xda, 0xf8, 0xd8,
1060 0x2, 0xfb, 0xda, 0x38, 0x18,
1061 0x12, 0xdf, 0x38, 0,
1062 0x12, 0xdb, 0x38, 0,
1063 0x12, 0xdf, 0x38, 0x28,
1064 0x22, 0xd9, 0xf7,
1065 0x22, 0xdb, 0xe3,
1066 0x2, 0xfb, 0xdb, 0x38, 0x10,
1067 0x2, 0xfb, 0xdb, 0x38, 0x18,
1068 0x12, 0xdf, 0x38, 0x38,
1069 0x2, 0xfb, 0xdb, 0x38, 0x8,
1070 0x12, 0xdd, 0x38, 0x8,
1071 0x12, 0xdb, 0x38, 0x28,
1072 0x12, 0xdb, 0x38, 0x38,
1073 0x12, 0xd9, 0xf8, 0xc0,
1074 0x2, 0xfb, 0xd9, 0x38, 0,
1075 0x12, 0xdd, 0xf8, 0xe0,
1076 0x12, 0xdd, 0x38, 0x20,
1077 0x12, 0xdd, 0xf8, 0xe8,
1078 0x12, 0xdd, 0x38, 0x30,
1079 0x12, 0xdd, 0x38, 0x38,
1080 0x11, 0xf4,
1081 0x2, 0xfe, 0xf6, 0x38, 0x38,
1082 0x2, 0xfe, 0xf6, 0x38, 0x28,
1083 0x23, 0xf, 0xaf, 0, 0,
1084 0x2, 0xfd, 0x69, 0, 0,
1085 0x1, 0xfe, 0xe4,
1086 0x1, 0xfe, 0xec,
1087 0x2, 0xfe, 0xfe, 0x38, 0,
1088 0x1, 0xfe, 0x6c,
1089 0x11, 0xcd,
1090 0x11, 0xcc,
1091 0x22, 0xf, 0x8,
1092 0x33, 0xf, 0x1, 0xf8,
1093 0x23, 0xf, 0x1, 0x38, 0x38,
1094 0x11, 0xcf,
1095 0x1, 0xf0, 0x70,
1096 0x12, 0xf, 0xf0, 0x80,
1097 0x13, 0xf, 0xf0, 0x90, 0x38, 0,
1098 0x11, 0xe3,
1099 0x11, 0xeb,
1100 0x11, 0xe9,
1101 0x12, 0xff, 0x38, 0x20,
1102 0x11, 0xea,
1103 0x12, 0xff, 0x38, 0x28,
1104 0x11, 0x9f,
1105 0x23, 0xf, 0x2, 0, 0,
1106 0x12, 0x8d, 0, 0,
1107 0x11, 0xc9,
1108 0x23, 0xf, 0xb4, 0, 0,
1109 0x23, 0xf, 0xb5, 0, 0,
1110 0x23, 0xf, 0x1, 0x38, 0x10,
1111 0x23, 0xf, 0x1, 0x38, 0x18,
1112 0x23, 0xf, 0, 0x38, 0x10,
1113 0x23, 0xf, 0x1, 0x38, 0x30,
1114 0x11, 0xf0,
1115 0x1, 0xfe, 0xac,
1116 0x11, 0xe2,
1117 0x11, 0xe1,
1118 0x11, 0xe0,
1119 0x23, 0xf, 0x3, 0, 0,
1120 0x23, 0xf, 0xb2, 0, 0,
1121 0x23, 0xf, 0, 0x38, 0x18,
1122 0x2, 0xfe, 0x88, 0, 0,
1123 0x2, 0xfe, 0x8a, 0, 0,
1124 0x2, 0xfe, 0xc6, 0x38, 0,
1125 0x1, 0xf0, 0xb0,
1126 0x1, 0xfe, 0xa0,
1127 0x1, 0xfe, 0xa2,
1128 0x23, 0xf, 0x20, 0xc0, 0xc0,
1129 0x23, 0xf, 0x22, 0xc0, 0xc0,
1130 0x23, 0xf, 0x21, 0xc0, 0xc0,
1131 0x23, 0xf, 0x23, 0xc0, 0xc0,
1132 0x12, 0x8c, 0, 0,
1133 0x12, 0x8e, 0, 0,
1134 0x1, 0xfe, 0xa4,
1135 0x23, 0xf, 0xbe, 0, 0,
1136 0x23, 0xf, 0xbf, 0, 0,
1137 0x23, 0xf, 0xb6, 0, 0,
1138 0x23, 0xf, 0xb7, 0, 0,
1139 0x2, 0xfe, 0xf6, 0x38, 0x20,
1140 0x2, 0xfe, 0xf6, 0x38, 0x18,
1141 0x22, 0xf3, 0x90,
1142 0x11, 0x90,
1143 0x34, 0xf3, 0xf, 0xb8, 0, 0,
1144 0x2, 0xfe, 0xf6, 0x38, 0x10,
1145 0x2, 0xfe, 0x8, 0, 0,
1146 0x2, 0xfe, 0xa, 0, 0,
1147 0x2, 0xfe, 0x80, 0x38, 0x8,
1148 0x2, 0xfe, 0x82, 0x38, 0x8,
1149 0x1, 0xfe, 0xc,
1150 0x1, 0xfe, 0xe6,
1151 0x1, 0xfe, 0xee,
1152 0x1, 0xfe, 0x6e,
1153 0x12, 0x8f, 0xf8, 0xc0,
1154 0x12, 0x8f, 0x38, 0,
1155 0x12, 0xf, 0xc7, 0x81,
1156 0x11, 0x9d,
1157 0x12, 0xff, 0xf8, 0xf0,
1158 0x12, 0xff, 0x38, 0x30,
1159 0x1, 0xf8, 0x50,
1160 0x1, 0xf8, 0x58,
1161 0x1, 0xfd, 0x68,
1162 0x1, 0xe7, 0x6,
1163 0x12, 0xf, 0xc7, 0x80,
1164 0x11, 0x9c,
1165 0x2, 0xfe, 0xd0, 0x38, 0x10,
1166 0x2, 0xfe, 0xd2, 0x38, 0x10,
1167 0x2, 0xfe, 0xc0, 0x38, 0x10,
1168 0x2, 0xfe, 0xd0, 0x38, 0x18,
1169 0x2, 0xfe, 0xd2, 0x38, 0x18,
1170 0x2, 0xfe, 0xc0, 0x38, 0x18,
1171 0x22, 0xf, 0x32,
1172 0x22, 0xf, 0x33,
1173 0x22, 0xf, 0x31,
1174 0x11, 0xc3,
1175 0x11, 0xc2,
1176 0x11, 0xcb,
1177 0x11, 0xca,
1178 0x2, 0xfe, 0xd0, 0x38, 0,
1179 0x2, 0xfe, 0xd2, 0x38, 0,
1180 0x2, 0xfe, 0xc0, 0x38, 0,
1181 0x2, 0xfe, 0xd0, 0x38, 0x8,
1182 0x2, 0xfe, 0xd2, 0x38, 0x8,
1183 0x2, 0xfe, 0xc0, 0x38, 0x8,
1184 0x22, 0xf, 0xaa,
1185 0x11, 0x9e,
1186 0x2, 0xfe, 0xd0, 0x38, 0x38,
1187 0x2, 0xfe, 0xd2, 0x38, 0x38,
1188 0x2, 0xfe, 0xc0, 0x38, 0x38,
1189 0x2, 0xfe, 0x18, 0, 0,
1190 0x2, 0xfe, 0x1a, 0, 0,
1191 0x1, 0xfe, 0x1c,
1192 0x2, 0xfe, 0x80, 0x38, 0x18,
1193 0x2, 0xfe, 0x82, 0x38, 0x18,
1194 0x1, 0xfe, 0xae,
1195 0x13, 0xf, 0xf0, 0x90, 0x38, 0,
1196 0x2, 0xfe, 0xd0, 0x38, 0x20,
1197 0x2, 0xfe, 0xd2, 0x38, 0x20,
1198 0x2, 0xfe, 0xc0, 0x38, 0x20,
1199 0x2, 0xfe, 0xd0, 0x38, 0x28,
1200 0x23, 0xf, 0xa4, 0, 0,
1201 0x23, 0xf, 0xa5, 0, 0,
1202 0x2, 0xfe, 0xd2, 0x38, 0x28,
1203 0x2, 0xfe, 0xc0, 0x38, 0x28,
1204 0x23, 0xf, 0xac, 0, 0,
1205 0x23, 0xf, 0xad, 0, 0,
1206 0x33, 0xf, 0x1, 0xc1,
1207 0x33, 0xf, 0x1, 0xc2,
1208 0x33, 0xf, 0x1, 0xc3,
1209 0x33, 0xf, 0x1, 0xc4,
1210 0x23, 0xf, 0x78, 0, 0,
1211 0x23, 0xf, 0x79, 0, 0,
1212 0x23, 0xf, 0x1, 0x38, 0,
1213 0x33, 0xf, 0x1, 0xc8,
1214 0x33, 0xf, 0x1, 0xc9,
1215 0x23, 0xf, 0x1, 0x38, 0x8,
1216 0x23, 0xf, 0, 0x38, 0,
1217 0x23, 0xf, 0x1, 0x38, 0x20,
1218 0x11, 0xf9,
1219 0x11, 0xfd,
1220 0x11, 0xfb,
1221 0x1, 0xfe, 0xaa,
1222 0x23, 0xf, 0, 0x38, 0x8,
1223 0x2, 0xfe, 0x28, 0, 0,
1224 0x2, 0xfe, 0x2a, 0, 0,
1225 0x1, 0xfe, 0x2c,
1226 0x2, 0xfe, 0x80, 0x38, 0x28,
1227 0x2, 0xfe, 0x82, 0x38, 0x28,
1228 0x2, 0xfe, 0x84, 0, 0,
1229 0x1, 0xfe, 0xa8,
1230 0x2, 0xfe, 0xf6, 0x38, 0,
1231 0x22, 0xf, 0xb,
1232 0x23, 0xf, 0, 0x38, 0x20,
1233 0x23, 0xf, 0, 0x38, 0x28,
1234 0x22, 0xf, 0x9,
1235 0x23, 0xf, 0xd, 0x38, 0,
1236 0x23, 0xf, 0xd, 0x38, 0x8,
1237 0x23, 0xf, 0x18, 0x38, 0,
1238 0x23, 0xf, 0x18, 0x38, 0x8,
1239 0x23, 0xf, 0x18, 0x38, 0x10,
1240 0x23, 0xf, 0x18, 0x38, 0x18,
1241 0x23, 0xf, 0x1f, 0, 0,
1242 0x22, 0xf, 0x30,
1243 0x13, 0xf, 0xfe, 0xc0, 0, 0,
1244 0x2, 0xfe, 0x86, 0, 0,
1245 0x1, 0xf8, 0x90,
1246 0x11, 0xd7,
1247 0x2, 0xfe, 0x30, 0, 0,
1248 0x2, 0xfe, 0x32, 0, 0,
1249 0x1, 0xfe, 0x34,
1250 0x2, 0xfe, 0x80, 0x38, 0x30,
1251 0x2, 0xfe, 0x82, 0x38, 0x30,
1252 0x22, 0xf, 0x77,
1253 0x34, 0x66, 0xf, 0xdb, 0, 0,
1254 0x23, 0xf, 0xdb, 0, 0,
1255 0x34, 0x66, 0xf, 0xdf, 0, 0,
1256 0x23, 0xf, 0xdf, 0, 0,
1257 0x34, 0x66, 0xf, 0xf5, 0, 0,
1258 0x23, 0xf, 0xf5, 0, 0,
1259 0x34, 0x66, 0xf, 0xeb, 0, 0,
1260 0x23, 0xf, 0xeb, 0, 0,
1261 0x34, 0x66, 0xf, 0xef, 0, 0,
1262 0x23, 0xf, 0xef, 0, 0,
1263 0x23, 0xf, 0x55, 0, 0,
1264 0x23, 0xf, 0x54, 0, 0,
1265 0x24, 0xf, 0xc2, 0, 0, 0xff, 0,
1266 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x1,
1267 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x2,
1268 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x3,
1269 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x4,
1270 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x5,
1271 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x6,
1272 0x24, 0xf, 0xc2, 0, 0, 0xff, 0x7,
1273 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0,
1274 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x1,
1275 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x2,
1276 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x3,
1277 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x4,
1278 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x5,
1279 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x6,
1280 0x35, 0xf3, 0xf, 0xc2, 0, 0, 0xff, 0x7,
1281 0x23, 0xf, 0xae, 0x38, 0x8,
1282 0x23, 0xf, 0xae, 0x38, 0,
1283 0x23, 0xf, 0xae, 0x38, 0x10,
1284 0x23, 0xf, 0xae, 0x38, 0x18,
1285 0x34, 0xf2, 0xf, 0x10, 0, 0,
1286 0x34, 0xf3, 0xf, 0x10, 0, 0,
1287 0x34, 0x66, 0xf, 0x10, 0, 0,
1288 0x23, 0xf, 0x10, 0, 0,
1289 0x34, 0xf2, 0xf, 0x11, 0, 0,
1290 0x34, 0xf3, 0xf, 0x11, 0, 0,
1291 0x34, 0x66, 0xf, 0x11, 0, 0,
1292 0x23, 0xf, 0x11, 0, 0,
1293 0x34, 0xf2, 0xf, 0x12, 0, 0,
1294 0x34, 0xf3, 0xf, 0x12, 0, 0,
1295 0x34, 0x66, 0xf, 0x12, 0, 0,
1296 0x23, 0xf, 0x12, 0xc0, 0xc0,
1297 0x23, 0xf, 0x12, 0, 0,
1298 0x34, 0x66, 0xf, 0x13, 0xc0, 0xc0,
1299 0x23, 0xf, 0x13, 0xc0, 0xc0,
1300 0x34, 0x66, 0xf, 0x13, 0, 0,
1301 0x23, 0xf, 0x13, 0, 0,
1302 0x34, 0x66, 0xf, 0x14, 0, 0,
1303 0x23, 0xf, 0x14, 0, 0,
1304 0x34, 0x66, 0xf, 0x15, 0, 0,
1305 0x23, 0xf, 0x15, 0, 0,
1306 0x34, 0xf3, 0xf, 0x16, 0, 0,
1307 0x34, 0x66, 0xf, 0x16, 0, 0,
1308 0x23, 0xf, 0x16, 0xc0, 0xc0,
1309 0x23, 0xf, 0x16, 0, 0,
1310 0x34, 0x66, 0xf, 0x17, 0xc0, 0xc0,
1311 0x23, 0xf, 0x17, 0xc0, 0xc0,
1312 0x34, 0x66, 0xf, 0x17, 0, 0,
1313 0x23, 0xf, 0x17, 0, 0,
1314 0x34, 0x66, 0xf, 0x28, 0, 0,
1315 0x23, 0xf, 0x28, 0, 0,
1316 0x34, 0x66, 0xf, 0x29, 0, 0,
1317 0x23, 0xf, 0x29, 0, 0,
1318 0x34, 0xf2, 0xf, 0x2a, 0, 0,
1319 0x34, 0xf3, 0xf, 0x2a, 0, 0,
1320 0x34, 0x66, 0xf, 0x2a, 0, 0,
1321 0x23, 0xf, 0x2a, 0, 0,
1322 0x34, 0x66, 0xf, 0x2b, 0, 0,
1323 0x23, 0xf, 0x2b, 0, 0,
1324 0x34, 0xf2, 0xf, 0x2c, 0, 0,
1325 0x34, 0xf3, 0xf, 0x2c, 0, 0,
1326 0x34, 0x66, 0xf, 0x2c, 0, 0,
1327 0x23, 0xf, 0x2c, 0, 0,
1328 0x34, 0x66, 0xf, 0x2d, 0, 0,
1329 0x34, 0xf2, 0xf, 0x2d, 0, 0,
1330 0x34, 0xf3, 0xf, 0x2d, 0, 0,
1331 0x23, 0xf, 0x2d, 0, 0,
1332 0x34, 0x66, 0xf, 0x2e, 0, 0,
1333 0x23, 0xf, 0x2e, 0, 0,
1334 0x34, 0x66, 0xf, 0x2f, 0, 0,
1335 0x23, 0xf, 0x2f, 0, 0,
1336 0x22, 0xf, 0x37,
1337 0x34, 0x66, 0xf, 0x50, 0xc0, 0xc0,
1338 0x23, 0xf, 0x50, 0xc0, 0xc0,
1339 0x34, 0x66, 0xf, 0x51, 0, 0,
1340 0x34, 0xf2, 0xf, 0x51, 0, 0,
1341 0x34, 0xf3, 0xf, 0x51, 0, 0,
1342 0x23, 0xf, 0x51, 0, 0,
1343 0x34, 0xf3, 0xf, 0x52, 0, 0,
1344 0x23, 0xf, 0x52, 0, 0,
1345 0x34, 0xf3, 0xf, 0x53, 0, 0,
1346 0x23, 0xf, 0x53, 0, 0,
1347 0x34, 0x66, 0xf, 0x54, 0, 0,
1348 0x23, 0xf, 0x54, 0, 0,
1349 0x34, 0x66, 0xf, 0x55, 0, 0,
1350 0x23, 0xf, 0x55, 0, 0,
1351 0x34, 0x66, 0xf, 0x56, 0, 0,
1352 0x23, 0xf, 0x56, 0, 0,
1353 0x34, 0x66, 0xf, 0x57, 0, 0,
1354 0x23, 0xf, 0x57, 0, 0,
1355 0x34, 0xf2, 0xf, 0x58, 0, 0,
1356 0x34, 0xf3, 0xf, 0x58, 0, 0,
1357 0x34, 0x66, 0xf, 0x58, 0, 0,
1358 0x23, 0xf, 0x58, 0, 0,
1359 0x34, 0xf2, 0xf, 0x59, 0, 0,
1360 0x34, 0xf3, 0xf, 0x59, 0, 0,
1361 0x34, 0x66, 0xf, 0x59, 0, 0,
1362 0x23, 0xf, 0x59, 0, 0,
1363 0x34, 0xf2, 0xf, 0x5a, 0, 0,
1364 0x34, 0xf3, 0xf, 0x5a, 0, 0,
1365 0x34, 0x66, 0xf, 0x5a, 0, 0,
1366 0x23, 0xf, 0x5a, 0, 0,
1367 0x34, 0x66, 0xf, 0x5b, 0, 0,
1368 0x34, 0xf3, 0xf, 0x5b, 0, 0,
1369 0x23, 0xf, 0x5b, 0, 0,
1370 0x34, 0xf2, 0xf, 0x5c, 0, 0,
1371 0x34, 0xf3, 0xf, 0x5c, 0, 0,
1372 0x34, 0x66, 0xf, 0x5c, 0, 0,
1373 0x23, 0xf, 0x5c, 0, 0,
1374 0x34, 0xf2, 0xf, 0x5d, 0, 0,
1375 0x34, 0xf3, 0xf, 0x5d, 0, 0,
1376 0x34, 0x66, 0xf, 0x5d, 0, 0,
1377 0x23, 0xf, 0x5d, 0, 0,
1378 0x34, 0xf2, 0xf, 0x5e, 0, 0,
1379 0x34, 0xf3, 0xf, 0x5e, 0, 0,
1380 0x34, 0x66, 0xf, 0x5e, 0, 0,
1381 0x23, 0xf, 0x5e, 0, 0,
1382 0x34, 0xf2, 0xf, 0x5f, 0, 0,
1383 0x34, 0xf3, 0xf, 0x5f, 0, 0,
1384 0x34, 0x66, 0xf, 0x5f, 0, 0,
1385 0x23, 0xf, 0x5f, 0, 0,
1386 0x34, 0x66, 0xf, 0x60, 0, 0,
1387 0x23, 0xf, 0x60, 0, 0,
1388 0x34, 0x66, 0xf, 0x61, 0, 0,
1389 0x23, 0xf, 0x61, 0, 0,
1390 0x34, 0x66, 0xf, 0x62, 0, 0,
1391 0x23, 0xf, 0x62, 0, 0,
1392 0x34, 0x66, 0xf, 0x63, 0, 0,
1393 0x23, 0xf, 0x63, 0, 0,
1394 0x34, 0x66, 0xf, 0x64, 0, 0,
1395 0x23, 0xf, 0x64, 0, 0,
1396 0x34, 0x66, 0xf, 0x65, 0, 0,
1397 0x23, 0xf, 0x65, 0, 0,
1398 0x34, 0x66, 0xf, 0x66, 0, 0,
1399 0x23, 0xf, 0x66, 0, 0,
1400 0x34, 0x66, 0xf, 0x67, 0, 0,
1401 0x23, 0xf, 0x67, 0, 0,
1402 0x34, 0x66, 0xf, 0x68, 0, 0,
1403 0x23, 0xf, 0x68, 0, 0,
1404 0x34, 0x66, 0xf, 0x69, 0, 0,
1405 0x23, 0xf, 0x69, 0, 0,
1406 0x34, 0x66, 0xf, 0x6a, 0, 0,
1407 0x23, 0xf, 0x6a, 0, 0,
1408 0x34, 0x66, 0xf, 0x6b, 0, 0,
1409 0x23, 0xf, 0x6b, 0, 0,
1410 0x34, 0x66, 0xf, 0x6c, 0, 0,
1411 0x34, 0x66, 0xf, 0x6d, 0, 0,
1412 0x34, 0x66, 0xf, 0x6e, 0, 0,
1413 0x23, 0xf, 0x6e, 0, 0,
1414 0x34, 0x66, 0xf, 0x6f, 0, 0,
1415 0x34, 0xf3, 0xf, 0x6f, 0, 0,
1416 0x23, 0xf, 0x6f, 0, 0,
1417 0x34, 0x66, 0xf, 0x70, 0, 0,
1418 0x34, 0xf2, 0xf, 0x70, 0, 0,
1419 0x34, 0xf3, 0xf, 0x70, 0, 0,
1420 0x23, 0xf, 0x70, 0, 0,
1421 0x34, 0x66, 0xf, 0x74, 0, 0,
1422 0x23, 0xf, 0x74, 0, 0,
1423 0x34, 0x66, 0xf, 0x75, 0, 0,
1424 0x23, 0xf, 0x75, 0, 0,
1425 0x34, 0x66, 0xf, 0x76, 0, 0,
1426 0x23, 0xf, 0x76, 0, 0,
1427 0x34, 0x66, 0xf, 0x7c, 0, 0,
1428 0x34, 0xf2, 0xf, 0x7c, 0, 0,
1429 0x34, 0x66, 0xf, 0x7d, 0, 0,
1430 0x34, 0xf2, 0xf, 0x7d, 0, 0,
1431 0x34, 0x66, 0xf, 0x7e, 0, 0,
1432 0x34, 0xf3, 0xf, 0x7e, 0, 0,
1433 0x23, 0xf, 0x7e, 0, 0,
1434 0x34, 0x66, 0xf, 0x7f, 0, 0,
1435 0x34, 0xf3, 0xf, 0x7f, 0, 0,
1436 0x23, 0xf, 0x7f, 0, 0,
1437 0x23, 0xf, 0xc3, 0, 0,
1438 0x34, 0x66, 0xf, 0xc4, 0, 0,
1439 0x23, 0xf, 0xc4, 0, 0,
1440 0x34, 0x66, 0xf, 0xc5, 0xc0, 0xc0,
1441 0x23, 0xf, 0xc5, 0xc0, 0xc0,
1442 0x34, 0x66, 0xf, 0xc6, 0, 0,
1443 0x23, 0xf, 0xc6, 0, 0,
1444 0x34, 0x66, 0xf, 0xd1, 0, 0,
1445 0x23, 0xf, 0xd1, 0, 0,
1446 0x34, 0x66, 0xf, 0xd2, 0, 0,
1447 0x23, 0xf, 0xd2, 0, 0,
1448 0x34, 0x66, 0xf, 0xd3, 0, 0,
1449 0x23, 0xf, 0xd3, 0, 0,
1450 0x34, 0x66, 0xf, 0xd4, 0, 0,
1451 0x23, 0xf, 0xd4, 0, 0,
1452 0x34, 0x66, 0xf, 0xd5, 0, 0,
1453 0x23, 0xf, 0xd5, 0, 0,
1454 0x34, 0x66, 0xf, 0xd6, 0, 0,
1455 0x34, 0xf2, 0xf, 0xd6, 0xc0, 0xc0,
1456 0x34, 0xf3, 0xf, 0xd6, 0xc0, 0xc0,
1457 0x34, 0x66, 0xf, 0xd7, 0xc0, 0xc0,
1458 0x23, 0xf, 0xd7, 0xc0, 0xc0,
1459 0x34, 0x66, 0xf, 0xd8, 0, 0,
1460 0x23, 0xf, 0xd8, 0, 0,
1461 0x34, 0x66, 0xf, 0xd9, 0, 0,
1462 0x23, 0xf, 0xd9, 0, 0,
1463 0x34, 0x66, 0xf, 0xda, 0, 0,
1464 0x23, 0xf, 0xda, 0, 0,
1465 0x34, 0x66, 0xf, 0xdc, 0, 0,
1466 0x23, 0xf, 0xdc, 0, 0,
1467 0x34, 0x66, 0xf, 0xdd, 0, 0,
1468 0x23, 0xf, 0xdd, 0, 0,
1469 0x34, 0x66, 0xf, 0xde, 0, 0,
1470 0x23, 0xf, 0xde, 0, 0,
1471 0x34, 0x66, 0xf, 0xe0, 0, 0,
1472 0x23, 0xf, 0xe0, 0, 0,
1473 0x34, 0x66, 0xf, 0xe1, 0, 0,
1474 0x23, 0xf, 0xe1, 0, 0,
1475 0x34, 0x66, 0xf, 0xe2, 0, 0,
1476 0x23, 0xf, 0xe2, 0, 0,
1477 0x34, 0x66, 0xf, 0xe3, 0, 0,
1478 0x23, 0xf, 0xe3, 0, 0,
1479 0x34, 0x66, 0xf, 0xe4, 0, 0,
1480 0x23, 0xf, 0xe4, 0, 0,
1481 0x34, 0x66, 0xf, 0xe5, 0, 0,
1482 0x23, 0xf, 0xe5, 0, 0,
1483 0x34, 0x66, 0xf, 0xe7, 0, 0,
1484 0x23, 0xf, 0xe7, 0, 0,
1485 0x34, 0x66, 0xf, 0xe8, 0, 0,
1486 0x23, 0xf, 0xe8, 0, 0,
1487 0x34, 0x66, 0xf, 0xe9, 0, 0,
1488 0x23, 0xf, 0xe9, 0, 0,
1489 0x34, 0x66, 0xf, 0xea, 0, 0,
1490 0x23, 0xf, 0xea, 0, 0,
1491 0x34, 0x66, 0xf, 0xec, 0, 0,
1492 0x23, 0xf, 0xec, 0, 0,
1493 0x34, 0x66, 0xf, 0xed, 0, 0,
1494 0x23, 0xf, 0xed, 0, 0,
1495 0x34, 0x66, 0xf, 0xee, 0, 0,
1496 0x23, 0xf, 0xee, 0, 0,
1497 0x34, 0xf2, 0xf, 0xf0, 0, 0,
1498 0x34, 0x66, 0xf, 0xf1, 0, 0,
1499 0x23, 0xf, 0xf1, 0, 0,
1500 0x34, 0x66, 0xf, 0xf2, 0, 0,
1501 0x23, 0xf, 0xf2, 0, 0,
1502 0x34, 0x66, 0xf, 0xf3, 0, 0,
1503 0x23, 0xf, 0xf3, 0, 0,
1504 0x34, 0x66, 0xf, 0xf4, 0, 0,
1505 0x23, 0xf, 0xf4, 0, 0,
1506 0x34, 0x66, 0xf, 0xf6, 0, 0,
1507 0x23, 0xf, 0xf6, 0, 0,
1508 0x34, 0x66, 0xf, 0xf7, 0xc0, 0xc0,
1509 0x23, 0xf, 0xf7, 0xc0, 0xc0,
1510 0x34, 0x66, 0xf, 0xf8, 0, 0,
1511 0x23, 0xf, 0xf8, 0, 0,
1512 0x34, 0x66, 0xf, 0xf9, 0, 0,
1513 0x23, 0xf, 0xf9, 0, 0,
1514 0x34, 0x66, 0xf, 0xfa, 0, 0,
1515 0x23, 0xf, 0xfa, 0, 0,
1516 0x34, 0x66, 0xf, 0xfb, 0, 0,
1517 0x23, 0xf, 0xfb, 0, 0,
1518 0x34, 0x66, 0xf, 0xfc, 0, 0,
1519 0x23, 0xf, 0xfc, 0, 0,
1520 0x34, 0x66, 0xf, 0xfd, 0, 0,
1521 0x23, 0xf, 0xfd, 0, 0,
1522 0x34, 0x66, 0xf, 0xfe, 0, 0,
1523 0x23, 0xf, 0xfe, 0, 0,
1524 0x45, 0x66, 0xf, 0x38, 0, 0, 0,
1525 0x34, 0xf, 0x38, 0, 0, 0,
1526 0x45, 0x66, 0xf, 0x38, 0x1, 0, 0,
1527 0x34, 0xf, 0x38, 0x1, 0, 0,
1528 0x45, 0x66, 0xf, 0x38, 0x2, 0, 0,
1529 0x34, 0xf, 0x38, 0x2, 0, 0,
1530 0x45, 0x66, 0xf, 0x38, 0x3, 0, 0,
1531 0x34, 0xf, 0x38, 0x3, 0, 0,
1532 0x45, 0x66, 0xf, 0x38, 0x4, 0, 0,
1533 0x34, 0xf, 0x38, 0x4, 0, 0,
1534 0x45, 0x66, 0xf, 0x38, 0x5, 0, 0,
1535 0x34, 0xf, 0x38, 0x5, 0, 0,
1536 0x45, 0x66, 0xf, 0x38, 0x6, 0, 0,
1537 0x34, 0xf, 0x38, 0x6, 0, 0,
1538 0x45, 0x66, 0xf, 0x38, 0x7, 0, 0,
1539 0x34, 0xf, 0x38, 0x7, 0, 0,
1540 0x45, 0x66, 0xf, 0x38, 0x8, 0, 0,
1541 0x34, 0xf, 0x38, 0x8, 0, 0,
1542 0x45, 0x66, 0xf, 0x38, 0x9, 0, 0,
1543 0x34, 0xf, 0x38, 0x9, 0, 0,
1544 0x45, 0x66, 0xf, 0x38, 0xa, 0, 0,
1545 0x34, 0xf, 0x38, 0xa, 0, 0,
1546 0x45, 0x66, 0xf, 0x38, 0xb, 0, 0,
1547 0x34, 0xf, 0x38, 0xb, 0, 0,
1548 0x45, 0x66, 0xf, 0x38, 0x1c, 0, 0,
1549 0x34, 0xf, 0x38, 0x1c, 0, 0,
1550 0x45, 0x66, 0xf, 0x38, 0x1d, 0, 0,
1551 0x34, 0xf, 0x38, 0x1d, 0, 0,
1552 0x45, 0x66, 0xf, 0x38, 0x1e, 0, 0,
1553 0x34, 0xf, 0x38, 0x1e, 0, 0,
1554 0x45, 0x66, 0xf, 0x3a, 0xf, 0, 0,
1555 0x34, 0xf, 0x3a, 0xf, 0, 0,
1556 0x34, 0x66, 0xf, 0xc7, 0x38, 0x30,
1557 0x34, 0xf3, 0xf, 0xc7, 0x38, 0x30,
1558 0x23, 0xf, 0xc7, 0x38, 0x30,
1559 0x23, 0xf, 0xc7, 0x38, 0x38,
1560 0x34, 0x66, 0xf, 0x71, 0xf8, 0xd0,
1561 0x23, 0xf, 0x71, 0xf8, 0xd0,
1562 0x34, 0x66, 0xf, 0x71, 0xf8, 0xe0,
1563 0x23, 0xf, 0x71, 0xf8, 0xe0,
1564 0x34, 0x66, 0xf, 0x71, 0xf8, 0xf0,
1565 0x23, 0xf, 0x71, 0xf8, 0xf0,
1566 0x34, 0x66, 0xf, 0x72, 0xf8, 0xd0,
1567 0x23, 0xf, 0x72, 0xf8, 0xd0,
1568 0x34, 0x66, 0xf, 0x72, 0xf8, 0xe0,
1569 0x23, 0xf, 0x72, 0xf8, 0xe0,
1570 0x34, 0x66, 0xf, 0x72, 0xf8, 0xf0,
1571 0x23, 0xf, 0x72, 0xf8, 0xf0,
1572 0x34, 0x66, 0xf, 0x73, 0xf8, 0xd0,
1573 0x23, 0xf, 0x73, 0xf8, 0xd0,
1574 0x34, 0x66, 0xf, 0x73, 0xf8, 0xd8,
1575 0x34, 0x66, 0xf, 0x73, 0xf8, 0xf0,
1576 0x23, 0xf, 0x73, 0xf8, 0xf0,
1577 0x34, 0x66, 0xf, 0x73, 0xf8, 0xf8,
1578 0x33, 0xf, 0xae, 0xe8,
1579 0x33, 0xf, 0xae, 0xf0,
1580 0x33, 0xf, 0xae, 0xf8,
1581 0x23, 0xf, 0xae, 0x38, 0x38,
1582 0x23, 0xf, 0xf, 0, 0,
1583 0x45, 0x66, 0xf, 0x3a, 0xc, 0, 0,
1584 0x45, 0x66, 0xf, 0x3a, 0xd, 0, 0,
1585 0x45, 0x66, 0xf, 0x38, 0x14, 0, 0,
1586 0x45, 0x66, 0xf, 0x38, 0x15, 0, 0,
1587 0x45, 0x66, 0xf, 0x3a, 0x40, 0, 0,
1588 0x45, 0x66, 0xf, 0x3a, 0x41, 0, 0,
1589 0x45, 0x66, 0xf, 0x3a, 0x21, 0, 0,
1590 0x45, 0x66, 0xf, 0x38, 0x2a, 0, 0,
1591 0x45, 0x66, 0xf, 0x3a, 0x42, 0, 0,
1592 0x45, 0x66, 0xf, 0x38, 0x2b, 0, 0,
1593 0x45, 0x66, 0xf, 0x38, 0x10, 0, 0,
1594 0x45, 0x66, 0xf, 0x3a, 0xe, 0, 0,
1595 0x45, 0x66, 0xf, 0x38, 0x29, 0, 0,
1596 0x45, 0x66, 0xf, 0x3a, 0x61, 0, 0,
1597 0x45, 0x66, 0xf, 0x3a, 0x60, 0, 0,
1598 0x45, 0x66, 0xf, 0x3a, 0x63, 0, 0,
1599 0x45, 0x66, 0xf, 0x3a, 0x62, 0, 0,
1600 0x45, 0x66, 0xf, 0x38, 0x37, 0, 0,
1601 0x45, 0x66, 0xf, 0x38, 0x41, 0, 0,
1602 0x45, 0x66, 0xf, 0x3a, 0x20, 0, 0,
1603 0x45, 0x66, 0xf, 0x3a, 0x22, 0, 0,
1604 0x45, 0x66, 0xf, 0x38, 0x3c, 0, 0,
1605 0x45, 0x66, 0xf, 0x38, 0x3d, 0, 0,
1606 0x45, 0x66, 0xf, 0x38, 0x3f, 0, 0,
1607 0x45, 0x66, 0xf, 0x38, 0x3e, 0, 0,
1608 0x45, 0x66, 0xf, 0x38, 0x38, 0, 0,
1609 0x45, 0x66, 0xf, 0x38, 0x39, 0, 0,
1610 0x45, 0x66, 0xf, 0x38, 0x3b, 0, 0,
1611 0x45, 0x66, 0xf, 0x38, 0x3a, 0, 0,
1612 0x45, 0x66, 0xf, 0x38, 0x20, 0, 0,
1613 0x45, 0x66, 0xf, 0x38, 0x21, 0, 0,
1614 0x45, 0x66, 0xf, 0x38, 0x22, 0, 0,
1615 0x45, 0x66, 0xf, 0x38, 0x23, 0, 0,
1616 0x45, 0x66, 0xf, 0x38, 0x24, 0, 0,
1617 0x45, 0x66, 0xf, 0x38, 0x25, 0, 0,
1618 0x45, 0x66, 0xf, 0x38, 0x30, 0, 0,
1619 0x45, 0x66, 0xf, 0x38, 0x31, 0, 0,
1620 0x45, 0x66, 0xf, 0x38, 0x32, 0, 0,
1621 0x45, 0x66, 0xf, 0x38, 0x33, 0, 0,
1622 0x45, 0x66, 0xf, 0x38, 0x34, 0, 0,
1623 0x45, 0x66, 0xf, 0x38, 0x35, 0, 0,
1624 0x45, 0x66, 0xf, 0x38, 0x28, 0, 0,
1625 0x45, 0x66, 0xf, 0x38, 0x40, 0, 0,
1626 0x45, 0x66, 0xf, 0x38, 0x17, 0, 0,
1627 0x45, 0x66, 0xf, 0x3a, 0x8, 0, 0,
1628 0x45, 0x66, 0xf, 0x3a, 0x9, 0, 0,
1629 0x45, 0x66, 0xf, 0x3a, 0xa, 0, 0,
1630 0x45, 0x66, 0xf, 0x3a, 0xb, 0, 0,
1631 0x1, 0xe7, 0x7,
1632};
diff --git a/meta/recipes-devtools/elfutils/elfutils_0.148.bb b/meta/recipes-devtools/elfutils/elfutils_0.148.bb
new file mode 100644
index 0000000000..e2b8d26aee
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils_0.148.bb
@@ -0,0 +1,103 @@
1SUMMARY = "Utilities and libraries for handling compiled object files"
2HOMEPAGE = "https://fedorahosted.org/elfutils"
3SECTION = "base"
4LICENSE = "(GPL-2+ & Elfutils-Exception)"
5LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3\
6 file://EXCEPTION;md5=570adcb0c1218ab57f2249c67d0ce417"
7DEPENDS = "libtool bzip2 zlib virtual/libintl"
8
9PR = "r11"
10
11SRC_URI = "https://fedorahosted.org/releases/e/l/elfutils/elfutils-${PV}.tar.bz2"
12
13SRC_URI[md5sum] = "a0bed1130135f17ad27533b0034dba8d"
14SRC_URI[sha256sum] = "8aebfa4a745db21cf5429c9541fe482729b62efc7e53e9110151b4169fe887da"
15
16# pick the patch from debian
17# http://ftp.de.debian.org/debian/pool/main/e/elfutils/elfutils_0.148-1.debian.tar.gz
18
19SRC_URI += "\
20 file://redhat-portability.diff \
21 file://redhat-robustify.diff \
22 file://hppa_backend.diff \
23 file://arm_backend.diff \
24 file://mips_backend.diff \
25 file://m68k_backend.diff \
26 file://testsuite-ignore-elflint.diff \
27 file://elf_additions.diff \
28 file://elfutils-fsize.patch \
29 file://remove-unused.patch \
30 file://mempcpy.patch \
31 file://fix_for_gcc-4.7.patch \
32 file://dso-link-change.patch \
33 file://nm-Fix-size-passed-to-snprintf-for-invalid-sh_name-case.patch \
34 file://elfutils-ar-c-fix-num-passed-to-memset.patch \
35 file://add-ptest.patch \
36 file://run-ptest \
37 file://avoid_parallel_tests.patch \
38"
39# Only apply when building uclibc based target recipe
40SRC_URI_append_libc-uclibc = " file://uclibc-support.patch"
41
42# The buildsystem wants to generate 2 .h files from source using a binary it just built,
43# which can not pass the cross compiling, so let's work around it by adding 2 .h files
44# along with the do_configure_prepend()
45
46SRC_URI += "\
47 file://i386_dis.h \
48 file://x86_64_dis.h \
49"
50inherit autotools gettext ptest
51
52EXTRA_OECONF = "--program-prefix=eu- --without-lzma"
53EXTRA_OECONF_append_class-native = " --without-bzlib"
54EXTRA_OECONF_append_libc-uclibc = " --enable-uclibc"
55
56do_configure_prepend() {
57 sed -i '/^i386_dis.h:/,+4 {/.*/d}' ${S}/libcpu/Makefile.am
58
59 cp ${WORKDIR}/*dis.h ${S}/libcpu
60}
61
62do_compile_ptest() {
63 oe_runmake -C tests buildtest-TESTS
64}
65
66do_install_ptest() {
67 oe_runmake -C tests install-ptest DESTDIR=${D}${PTEST_PATH}
68}
69
70
71# we can not build complete elfutils when using uclibc
72# but some recipes e.g. gcc 4.5 depends on libelf so we
73# build only libelf for uclibc case
74
75EXTRA_OEMAKE_libc-uclibc = "-C libelf"
76EXTRA_OEMAKE_class-native = ""
77EXTRA_OEMAKE_class-nativesdk = ""
78
79BBCLASSEXTEND = "native nativesdk"
80
81# Package utilities separately
82PACKAGES =+ "${PN}-binutils libelf libasm libdw libdw-dev libasm-dev libelf-dev"
83FILES_${PN}-binutils = "\
84 ${bindir}/eu-addr2line \
85 ${bindir}/eu-ld \
86 ${bindir}/eu-nm \
87 ${bindir}/eu-readelf \
88 ${bindir}/eu-size \
89 ${bindir}/eu-strip"
90
91FILES_libelf = "${libdir}/libelf-${PV}.so ${libdir}/libelf.so.*"
92FILES_libasm = "${libdir}/libasm-${PV}.so ${libdir}/libasm.so.*"
93FILES_libdw = "${libdir}/libdw-${PV}.so ${libdir}/libdw.so.* ${libdir}/elfutils/lib*"
94FILES_libelf-dev = "${libdir}/libelf.so ${includedir}"
95FILES_libasm-dev = "${libdir}/libasm.so ${includedir}/elfutils/libasm.h"
96FILES_libdw-dev = "${libdir}/libdw.so ${includedir}/dwarf.h ${includedir}/elfutils/libdw*.h"
97# Some packages have the version preceeding the .so instead properly
98# versioned .so.<version>, so we need to reorder and repackage.
99#FILES_${PN} += "${libdir}/*-${PV}.so ${base_libdir}/*-${PV}.so"
100#FILES_SOLIBSDEV = "${libdir}/libasm.so ${libdir}/libdw.so ${libdir}/libelf.so"
101
102# The package contains symlinks that trip up insane
103INSANE_SKIP_${MLPREFIX}libdw = "dev-so"
diff --git a/meta/recipes-devtools/elfutils/elfutils_0.155.bb b/meta/recipes-devtools/elfutils/elfutils_0.155.bb
new file mode 100644
index 0000000000..b1f410c0f6
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils_0.155.bb
@@ -0,0 +1,88 @@
1SUMMARY = "Utilities and libraries for handling compiled object files"
2HOMEPAGE = "https://fedorahosted.org/elfutils"
3SECTION = "base"
4LICENSE = "(GPLv3 & Elfutils-Exception)"
5LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
6DEPENDS = "libtool bzip2 zlib virtual/libintl"
7
8SRC_URI = "https://fedorahosted.org/releases/e/l/elfutils/${PV}/elfutils-${PV}.tar.bz2"
9
10SRC_URI[md5sum] = "163a5712b86f6bdfebdf233cc6e2192d"
11SRC_URI[sha256sum] = "68444a4526416ffd68852ec3c6a40ceddcca46538297322405319884c5d30ed8"
12
13SRC_URI += "\
14 file://redhat-portability.diff \
15 file://redhat-robustify.diff \
16 file://hppa_backend.diff \
17 file://arm_backend.diff \
18 file://mips_backend.diff \
19 file://m68k_backend.diff \
20 file://elf_additions.diff \
21 file://mempcpy.patch \
22 file://dso-link-change.patch \
23 file://nm-Fix-size-passed-to-snprintf-for-invalid-sh_name-case.patch \
24 file://elfutils-ar-c-fix-num-passed-to-memset.patch \
25 file://fix-build-gcc-4.8.patch \
26"
27# Only apply when building uclibc based target recipe
28SRC_URI_append_libc-uclibc = " file://uclibc-support.patch"
29
30# The buildsystem wants to generate 2 .h files from source using a binary it just built,
31# which can not pass the cross compiling, so let's work around it by adding 2 .h files
32# along with the do_configure_prepend()
33
34SRC_URI += "\
35 file://i386_dis.h \
36 file://x86_64_dis.h \
37"
38inherit autotools gettext
39
40EXTRA_OECONF = "--program-prefix=eu- --without-lzma"
41EXTRA_OECONF_append_class-native = " --without-bzlib"
42EXTRA_OECONF_append_libc-uclibc = " --enable-uclibc"
43
44do_configure_prepend() {
45 sed -i '/^i386_dis.h:/,+4 {/.*/d}' ${S}/libcpu/Makefile.am
46
47 cp ${WORKDIR}/*dis.h ${S}/libcpu
48}
49
50do_install_append() {
51 if [ "${TARGET_ARCH}" != "x86_64" ] && [ -z `echo "${TARGET_ARCH}"|grep 'i.86'` ];then
52 rm ${D}${bindir}/eu-objdump
53 fi
54}
55
56# we can not build complete elfutils when using uclibc
57# but some recipes e.g. gcc 4.5 depends on libelf so we
58# build only libelf for uclibc case
59
60EXTRA_OEMAKE_libc-uclibc = "-C libelf"
61EXTRA_OEMAKE_class-native = ""
62EXTRA_OEMAKE_class-nativesdk = ""
63
64BBCLASSEXTEND = "native nativesdk"
65
66# Package utilities separately
67PACKAGES =+ "${PN}-binutils libelf libasm libdw libdw-dev libasm-dev libelf-dev"
68FILES_${PN}-binutils = "\
69 ${bindir}/eu-addr2line \
70 ${bindir}/eu-ld \
71 ${bindir}/eu-nm \
72 ${bindir}/eu-readelf \
73 ${bindir}/eu-size \
74 ${bindir}/eu-strip"
75
76FILES_libelf = "${libdir}/libelf-${PV}.so ${libdir}/libelf.so.*"
77FILES_libasm = "${libdir}/libasm-${PV}.so ${libdir}/libasm.so.*"
78FILES_libdw = "${libdir}/libdw-${PV}.so ${libdir}/libdw.so.* ${libdir}/elfutils/lib*"
79FILES_libelf-dev = "${libdir}/libelf.so ${includedir}"
80FILES_libasm-dev = "${libdir}/libasm.so ${includedir}/elfutils/libasm.h"
81FILES_libdw-dev = "${libdir}/libdw.so ${includedir}/dwarf.h ${includedir}/elfutils/libdw*.h"
82# Some packages have the version preceeding the .so instead properly
83# versioned .so.<version>, so we need to reorder and repackage.
84#FILES_${PN} += "${libdir}/*-${PV}.so ${base_libdir}/*-${PV}.so"
85#FILES_SOLIBSDEV = "${libdir}/libasm.so ${libdir}/libdw.so ${libdir}/libelf.so"
86
87# The package contains symlinks that trip up insane
88INSANE_SKIP_${MLPREFIX}libdw = "dev-so"