summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/elfutils
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2010-08-27 15:14:24 +0100
committerRichard Purdie <rpurdie@linux.intel.com>2010-08-27 15:29:45 +0100
commit29d6678fd546377459ef75cf54abeef5b969b5cf (patch)
tree8edd65790e37a00d01c3f203f773fe4b5012db18 /meta/recipes-devtools/elfutils
parentda49de6885ee1bc424e70bc02f21f6ab920efb55 (diff)
downloadpoky-29d6678fd546377459ef75cf54abeef5b969b5cf.tar.gz
Major layout change to the packages directory
Having one monolithic packages directory makes it hard to find things and is generally overwhelming. This commit splits it into several logical sections roughly based on function, recipes.txt gives more information about the classifications used. The opportunity is also used to switch from "packages" to "recipes" as used in OpenEmbedded as the term "packages" can be confusing to people and has many different meanings. Not all recipes have been classified yet, this is just a first pass at separating things out. Some packages are moved to meta-extras as they're no longer actively used or maintained. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'meta/recipes-devtools/elfutils')
-rw-r--r--meta/recipes-devtools/elfutils/elfutils-0.108/warnings.patch132
-rw-r--r--meta/recipes-devtools/elfutils/elfutils-0.148/arm_backend.diff447
-rw-r--r--meta/recipes-devtools/elfutils/elfutils-0.148/do-autoreconf.diff337
-rw-r--r--meta/recipes-devtools/elfutils/elfutils-0.148/elf_additions.diff69
-rw-r--r--meta/recipes-devtools/elfutils/elfutils-0.148/elfutils-fsize.patch37
-rw-r--r--meta/recipes-devtools/elfutils/elfutils-0.148/hppa_backend.diff799
-rw-r--r--meta/recipes-devtools/elfutils/elfutils-0.148/i386_dis.h1657
-rw-r--r--meta/recipes-devtools/elfutils/elfutils-0.148/m68k_backend.diff307
-rw-r--r--meta/recipes-devtools/elfutils/elfutils-0.148/mips_backend.diff711
-rw-r--r--meta/recipes-devtools/elfutils/elfutils-0.148/redhat-portability.diff1122
-rw-r--r--meta/recipes-devtools/elfutils/elfutils-0.148/redhat-robustify.diff1707
-rw-r--r--meta/recipes-devtools/elfutils/elfutils-0.148/testsuite-ignore-elflint.diff19
-rw-r--r--meta/recipes-devtools/elfutils/elfutils-0.148/x86_64_dis.h1632
-rw-r--r--meta/recipes-devtools/elfutils/elfutils-0.89/warnings.patch98
-rw-r--r--meta/recipes-devtools/elfutils/elfutils_0.108.bb25
-rw-r--r--meta/recipes-devtools/elfutils/elfutils_0.148.bb63
-rw-r--r--meta/recipes-devtools/elfutils/elfutils_0.89.bb10
17 files changed, 9172 insertions, 0 deletions
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.108/warnings.patch b/meta/recipes-devtools/elfutils/elfutils-0.108/warnings.patch
new file mode 100644
index 0000000000..680e0441fe
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils-0.108/warnings.patch
@@ -0,0 +1,132 @@
1Index: elfutils-0.108/configure.ac
2===================================================================
3--- elfutils-0.108.orig/configure.ac 2006-04-10 19:18:34.000000000 +0100
4+++ elfutils-0.108/configure.ac 2006-04-10 19:19:33.000000000 +0100
5@@ -49,6 +49,10 @@
6 dnl Add all the languages for which translations are available.
7 ALL_LINGUAS=
8
9+if test X"$CFLAGS" = X; then
10+ CFLAGS="-Wall -g -O2"
11+fi
12+
13 AC_PROG_CC
14 AC_PROG_RANLIB
15 AC_PROG_YACC
16Index: elfutils-0.108/lib/Makefile.am
17===================================================================
18--- elfutils-0.108.orig/lib/Makefile.am 2006-04-10 19:18:34.000000000 +0100
19+++ elfutils-0.108/lib/Makefile.am 2006-04-10 19:19:33.000000000 +0100
20@@ -21,7 +21,7 @@
21 else
22 AM_CFLAGS =
23 endif
24-AM_CFLAGS += -fpic -Wall -Wshadow -Werror -Wunused -Wextra $($(*F)_CFLAGS)
25+AM_CFLAGS += -fpic -Wshadow -Wunused $($(*F)_CFLAGS)
26 INCLUDES = -I$(srcdir)/../libelf -I..
27
28 noinst_LIBRARIES = libeu.a
29Index: elfutils-0.108/libasm/Makefile.am
30===================================================================
31--- elfutils-0.108.orig/libasm/Makefile.am 2006-04-10 19:18:34.000000000 +0100
32+++ elfutils-0.108/libasm/Makefile.am 2006-04-10 19:19:33.000000000 +0100
33@@ -18,7 +18,7 @@
34 else
35 AM_CFLAGS =
36 endif
37-AM_CFLAGS += -Wall -Wshadow -Werror -Wunused -Wextra -Wformat=2
38+AM_CFLAGS += -Wshadow -Wunused -Wformat=2
39 INCLUDES = -I. -I$(srcdir) -I.. -I$(top_srcdir)/libelf -I$(top_srcdir)/libebl \
40 -I$(top_srcdir)/lib
41 GCC_INCLUDE = -I$(shell $(CC) -print-file-name=include)
42Index: elfutils-0.108/libcpu/Makefile.am
43===================================================================
44--- elfutils-0.108.orig/libcpu/Makefile.am 2006-04-10 19:18:34.000000000 +0100
45+++ elfutils-0.108/libcpu/Makefile.am 2006-04-10 19:19:33.000000000 +0100
46@@ -13,7 +13,7 @@
47 ## 3001 King Ranch Road, Ukiah, CA 95482.
48 ##
49 DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H
50-AM_CFLAGS = -Wall -Wshadow -Werror -Wextra -Wformat=2 -Wunused
51+AM_CFLAGS = -Wshadow -Wformat=2 -Wunused
52 INCLUDES = -I$(srcdir)
53
54 noinst_LIBRARIES = libcpu_i386.a
55Index: elfutils-0.108/libdw/Makefile.am
56===================================================================
57--- elfutils-0.108.orig/libdw/Makefile.am 2006-04-10 19:18:34.000000000 +0100
58+++ elfutils-0.108/libdw/Makefile.am 2006-04-10 19:19:33.000000000 +0100
59@@ -18,7 +18,7 @@
60 else
61 AM_CFLAGS =
62 endif
63-AM_CFLAGS += -Wall -Werror -Wshadow -Wunused -Wformat=2 -Wextra -std=gnu99
64+AM_CFLAGS += -Wshadow -Wunused -Wformat=2 -std=gnu99
65 INCLUDES = -I. -I$(srcdir) -I$(srcdir)/../libelf -I.. -I$(srcdir)/../lib
66 VERSION = 1
67
68Index: elfutils-0.108/libebl/Makefile.am
69===================================================================
70--- elfutils-0.108.orig/libebl/Makefile.am 2006-04-10 19:18:34.000000000 +0100
71+++ elfutils-0.108/libebl/Makefile.am 2006-04-10 19:19:33.000000000 +0100
72@@ -18,7 +18,7 @@
73 else
74 AM_CFLAGS =
75 endif
76-AM_CFLAGS += -fpic -Wall -Wshadow -Werror -Wunused -Wextra -Wformat=2 \
77+AM_CFLAGS += -fpic -Wshadow -Wunused -Wformat=2 \
78 -std=gnu99
79
80 INCLUDES = -I$(srcdir) -I$(top_srcdir)/libelf -I$(top_srcdir)/lib -I..
81Index: elfutils-0.108/libelf/Makefile.am
82===================================================================
83--- elfutils-0.108.orig/libelf/Makefile.am 2006-04-10 19:18:34.000000000 +0100
84+++ elfutils-0.108/libelf/Makefile.am 2006-04-10 19:19:33.000000000 +0100
85@@ -21,7 +21,7 @@
86 else
87 AM_CFLAGS =
88 endif
89-AM_CFLAGS += -Wall -Wshadow -Werror -Wunused -Wextra -Wformat=2 -std=gnu99 \
90+AM_CFLAGS += -Wshadow -Wunused -Wformat=2 -std=gnu99 \
91 $($(*F)_CFLAGS)
92 INCLUDES = -I$(srcdir) -I$(top_srcdir)/lib -I..
93 GCC_INCLUDE = -I$(shell $(CC) -print-file-name=include)
94Index: elfutils-0.108/src/Makefile.am
95===================================================================
96--- elfutils-0.108.orig/src/Makefile.am 2006-04-10 19:18:34.000000000 +0100
97+++ elfutils-0.108/src/Makefile.am 2006-04-10 19:20:19.000000000 +0100
98@@ -15,14 +15,12 @@
99 DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H $(YYDEBUG) \
100 -DSRCDIR=\"$(shell cd $(srcdir);pwd)\" -DOBJDIR=\"$(shell pwd)\"
101 if MUDFLAP
102-AM_CFLAGS = -Wall -Wshadow -Wunused -Wextra -std=gnu99 -fmudflap \
103+AM_CFLAGS = -Wshadow -Wunused -std=gnu99 -fmudflap \
104 $(native_ld_cflags) $(if $($(*F)_no_Wunused),,-Wunused) \
105 $(if $($(*F)_no_Wformat),,-Wformat=2)
106 else
107-AM_CFLAGS = -Wall -Wshadow -std=gnu99 $(native_ld_cflags) \
108- $(if $($(*F)_no_Werror),,-Werror) \
109- $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \
110- $(if $($(*F)_no_Wformat),,-Wformat=2)
111+AM_CFLAGS = -Wshadow -std=gnu99 $(native_ld_cflags) \
112+ $(if $($(*F)_no_Werror),,)
113 endif
114 if MUDFLAP
115 libmudflap = -lmudflap
116Index: elfutils-0.108/tests/Makefile.am
117===================================================================
118--- elfutils-0.108.orig/tests/Makefile.am 2006-04-10 19:18:34.000000000 +0100
119+++ elfutils-0.108/tests/Makefile.am 2006-04-10 19:19:33.000000000 +0100
120@@ -14,10 +14,10 @@
121 ##
122 DEFS = -DHAVE_CONFIG_H -D_GNU_SOURCE
123 if MUDFLAP
124-AM_CFLAGS = -Wall -Werror -std=gnu99 -fmudflap\
125+AM_CFLAGS = -std=gnu99 -fmudflap\
126 $(if $($(*F)_no_Wformat),-Wno-format,-Wformat=2)
127 else
128-AM_CFLAGS = -Wall -Werror -std=gnu99 \
129+AM_CFLAGS = -std=gnu99 \
130 $(if $($(*F)_no_Wformat),-Wno-format,-Wformat=2)
131 AM_LDFLAGS = -Wl,-rpath,\$$ORIGIN/../libasm:\$$ORIGIN/../libdw:\$$ORIGIN/../libebl:\$$ORIGIN/../libelf
132 endif
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.148/arm_backend.diff b/meta/recipes-devtools/elfutils/elfutils-0.148/arm_backend.diff
new file mode 100644
index 0000000000..a309d1ba1d
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils-0.148/arm_backend.diff
@@ -0,0 +1,447 @@
1Index: elfutils-0.146/backends/arm_init.c
2===================================================================
3--- elfutils-0.146.orig/backends/arm_init.c 2009-04-21 14:50:01.000000000 +0000
4+++ elfutils-0.146/backends/arm_init.c 2010-04-24 10:11:13.000000000 +0000
5@@ -32,21 +32,32 @@
6 #define RELOC_PREFIX R_ARM_
7 #include "libebl_CPU.h"
8
9+#include "libebl_arm.h"
10+
11 /* This defines the common reloc hooks based on arm_reloc.def. */
12 #include "common-reloc.c"
13
14
15 const char *
16 arm_init (elf, machine, eh, ehlen)
17- Elf *elf __attribute__ ((unused));
18+ Elf *elf;
19 GElf_Half machine __attribute__ ((unused));
20 Ebl *eh;
21 size_t ehlen;
22 {
23+ int soft_float = 0;
24+
25 /* Check whether the Elf_BH object has a sufficent size. */
26 if (ehlen < sizeof (Ebl))
27 return NULL;
28
29+ if (elf) {
30+ GElf_Ehdr ehdr_mem;
31+ GElf_Ehdr *ehdr = gelf_getehdr (elf, &ehdr_mem);
32+ if (ehdr && (ehdr->e_flags & EF_ARM_SOFT_FLOAT))
33+ soft_float = 1;
34+ }
35+
36 /* We handle it. */
37 eh->name = "ARM";
38 arm_init_reloc (eh);
39@@ -58,7 +69,10 @@
40 HOOK (eh, core_note);
41 HOOK (eh, auxv_info);
42 HOOK (eh, check_object_attribute);
43- HOOK (eh, return_value_location);
44+ if (soft_float)
45+ eh->return_value_location = arm_return_value_location_soft;
46+ else
47+ eh->return_value_location = arm_return_value_location_hard;
48
49 return MODVERSION;
50 }
51Index: elfutils-0.146/backends/arm_regs.c
52===================================================================
53--- elfutils-0.146.orig/backends/arm_regs.c 2009-04-21 14:50:01.000000000 +0000
54+++ elfutils-0.146/backends/arm_regs.c 2010-04-24 10:11:13.000000000 +0000
55@@ -28,6 +28,7 @@
56 #endif
57
58 #include <string.h>
59+#include <stdio.h>
60 #include <dwarf.h>
61
62 #define BACKEND arm_
63@@ -58,7 +59,15 @@
64 namelen = 2;
65 break;
66
67- case 10 ... 12:
68+ case 10 ... 11:
69+ name[0] = 'r';
70+ name[1] = '1';
71+ name[2] = regno % 10 + '0';
72+ namelen = 3;
73+ break;
74+
75+ case 12:
76+ *type = DW_ATE_unsigned;
77 name[0] = 'r';
78 name[1] = '1';
79 name[2] = regno % 10 + '0';
80@@ -73,6 +82,9 @@
81 break;
82
83 case 16 + 0 ... 16 + 7:
84+ /* AADWARF says that there are no registers in that range,
85+ * but gcc maps FPA registers here
86+ */
87 regno += 96 - 16;
88 /* Fall through. */
89 case 96 + 0 ... 96 + 7:
90@@ -84,11 +96,139 @@
91 namelen = 2;
92 break;
93
94+ case 64 + 0 ... 64 + 9:
95+ *setname = "VFP";
96+ *bits = 32;
97+ *type = DW_ATE_float;
98+ name[0] = 's';
99+ name[1] = regno - 64 + '0';
100+ namelen = 2;
101+ break;
102+
103+ case 64 + 10 ... 64 + 31:
104+ *setname = "VFP";
105+ *bits = 32;
106+ *type = DW_ATE_float;
107+ name[0] = 's';
108+ name[1] = (regno - 64) / 10 + '0';
109+ name[2] = (regno - 64) % 10 + '0';
110+ namelen = 3;
111+ break;
112+
113+ case 104 + 0 ... 104 + 7:
114+ /* XXX TODO:
115+ * This can be either intel wireless MMX general purpose/control
116+ * registers or xscale accumulator, which have different usage.
117+ * We only have the intel wireless MMX here now.
118+ * The name needs to be changed for the xscale accumulator too. */
119+ *setname = "MMX";
120+ *type = DW_ATE_unsigned;
121+ *bits = 32;
122+ memcpy(name, "wcgr", 4);
123+ name[4] = regno - 104 + '0';
124+ namelen = 5;
125+ break;
126+
127+ case 112 + 0 ... 112 + 9:
128+ *setname = "MMX";
129+ *type = DW_ATE_unsigned;
130+ *bits = 64;
131+ name[0] = 'w';
132+ name[1] = 'r';
133+ name[2] = regno - 112 + '0';
134+ namelen = 3;
135+ break;
136+
137+ case 112 + 10 ... 112 + 15:
138+ *setname = "MMX";
139+ *type = DW_ATE_unsigned;
140+ *bits = 64;
141+ name[0] = 'w';
142+ name[1] = 'r';
143+ name[2] = '1';
144+ name[3] = regno - 112 - 10 + '0';
145+ namelen = 4;
146+ break;
147+
148 case 128:
149+ *setname = "special";
150 *type = DW_ATE_unsigned;
151 return stpcpy (name, "spsr") + 1 - name;
152
153+ case 129:
154+ *setname = "special";
155+ *type = DW_ATE_unsigned;
156+ return stpcpy(name, "spsr_fiq") + 1 - name;
157+
158+ case 130:
159+ *setname = "special";
160+ *type = DW_ATE_unsigned;
161+ return stpcpy(name, "spsr_irq") + 1 - name;
162+
163+ case 131:
164+ *setname = "special";
165+ *type = DW_ATE_unsigned;
166+ return stpcpy(name, "spsr_abt") + 1 - name;
167+
168+ case 132:
169+ *setname = "special";
170+ *type = DW_ATE_unsigned;
171+ return stpcpy(name, "spsr_und") + 1 - name;
172+
173+ case 133:
174+ *setname = "special";
175+ *type = DW_ATE_unsigned;
176+ return stpcpy(name, "spsr_svc") + 1 - name;
177+
178+ case 144 ... 150:
179+ *setname = "integer";
180+ *type = DW_ATE_signed;
181+ *bits = 32;
182+ return sprintf(name, "r%d_usr", regno - 144 + 8) + 1;
183+
184+ case 151 ... 157:
185+ *setname = "integer";
186+ *type = DW_ATE_signed;
187+ *bits = 32;
188+ return sprintf(name, "r%d_fiq", regno - 151 + 8) + 1;
189+
190+ case 158 ... 159:
191+ *setname = "integer";
192+ *type = DW_ATE_signed;
193+ *bits = 32;
194+ return sprintf(name, "r%d_irq", regno - 158 + 13) + 1;
195+
196+ case 160 ... 161:
197+ *setname = "integer";
198+ *type = DW_ATE_signed;
199+ *bits = 32;
200+ return sprintf(name, "r%d_abt", regno - 160 + 13) + 1;
201+
202+ case 162 ... 163:
203+ *setname = "integer";
204+ *type = DW_ATE_signed;
205+ *bits = 32;
206+ return sprintf(name, "r%d_und", regno - 162 + 13) + 1;
207+
208+ case 164 ... 165:
209+ *setname = "integer";
210+ *type = DW_ATE_signed;
211+ *bits = 32;
212+ return sprintf(name, "r%d_svc", regno - 164 + 13) + 1;
213+
214+ case 192 ... 199:
215+ *setname = "MMX";
216+ *bits = 32;
217+ *type = DW_ATE_unsigned;
218+ name[0] = 'w';
219+ name[1] = 'c';
220+ name[2] = regno - 192 + '0';
221+ namelen = 3;
222+ break;
223+
224 case 256 + 0 ... 256 + 9:
225+ /* XXX TODO: Neon also uses those registers and can contain
226+ * both float and integers */
227 *setname = "VFP";
228 *type = DW_ATE_float;
229 *bits = 64;
230Index: elfutils-0.146/backends/arm_retval.c
231===================================================================
232--- elfutils-0.146.orig/backends/arm_retval.c 2010-01-12 16:57:54.000000000 +0000
233+++ elfutils-0.146/backends/arm_retval.c 2010-04-24 10:11:13.000000000 +0000
234@@ -45,6 +45,13 @@
235 #define nloc_intreg 1
236 #define nloc_intregs(n) (2 * (n))
237
238+/* f1 */ /* XXX TODO: f0 can also have number 96 if program was compiled with -mabi=aapcs */
239+static const Dwarf_Op loc_fpreg[] =
240+ {
241+ { .atom = DW_OP_reg16 },
242+ };
243+#define nloc_fpreg 1
244+
245 /* The return value is a structure and is actually stored in stack space
246 passed in a hidden argument by the caller. But, the compiler
247 helpfully returns the address of that space in r0. */
248@@ -55,8 +62,9 @@
249 #define nloc_aggregate 1
250
251
252-int
253-arm_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
254+static int
255+arm_return_value_location_ (Dwarf_Die *functypedie, const Dwarf_Op **locp,
256+ int soft_float)
257 {
258 /* Start with the function's type, and get the DW_AT_type attribute,
259 which is the type of the return value. */
260@@ -109,14 +117,31 @@
261 else
262 return -1;
263 }
264+ if (tag == DW_TAG_base_type)
265+ {
266+ Dwarf_Word encoding;
267+ if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_encoding,
268+ &attr_mem), &encoding) != 0)
269+ return -1;
270+
271+ if ((encoding == DW_ATE_float) && !soft_float)
272+ {
273+ *locp = loc_fpreg;
274+ if (size <= 8)
275+ return nloc_fpreg;
276+ goto aggregate;
277+ }
278+ }
279 if (size <= 16)
280 {
281 intreg:
282 *locp = loc_intreg;
283 return size <= 4 ? nloc_intreg : nloc_intregs ((size + 3) / 4);
284 }
285+ /* fall through. */
286
287 aggregate:
288+ /* XXX TODO sometimes aggregates are returned in r0 (-mabi=aapcs) */
289 *locp = loc_aggregate;
290 return nloc_aggregate;
291
292@@ -135,3 +160,18 @@
293 DWARF and might be valid. */
294 return -2;
295 }
296+
297+/* return location for -mabi=apcs-gnu -msoft-float */
298+int
299+arm_return_value_location_soft (Dwarf_Die *functypedie, const Dwarf_Op **locp)
300+{
301+ return arm_return_value_location_ (functypedie, locp, 1);
302+}
303+
304+/* return location for -mabi=apcs-gnu -mhard-float (current default) */
305+int
306+arm_return_value_location_hard (Dwarf_Die *functypedie, const Dwarf_Op **locp)
307+{
308+ return arm_return_value_location_ (functypedie, locp, 0);
309+}
310+
311Index: elfutils-0.146/libelf/elf.h
312===================================================================
313--- elfutils-0.146.orig/libelf/elf.h 2010-04-24 10:11:11.000000000 +0000
314+++ elfutils-0.146/libelf/elf.h 2010-04-24 10:11:13.000000000 +0000
315@@ -2290,6 +2290,9 @@
316 #define EF_ARM_EABI_VER4 0x04000000
317 #define EF_ARM_EABI_VER5 0x05000000
318
319+/* EI_OSABI values */
320+#define ELFOSABI_ARM_AEABI 64 /* Contains symbol versioning. */
321+
322 /* Additional symbol types for Thumb. */
323 #define STT_ARM_TFUNC STT_LOPROC /* A Thumb function. */
324 #define STT_ARM_16BIT STT_HIPROC /* A Thumb label. */
325@@ -2307,12 +2310,19 @@
326
327 /* Processor specific values for the Phdr p_type field. */
328 #define PT_ARM_EXIDX (PT_LOPROC + 1) /* ARM unwind segment. */
329+#define PT_ARM_UNWIND PT_ARM_EXIDX
330
331 /* Processor specific values for the Shdr sh_type field. */
332 #define SHT_ARM_EXIDX (SHT_LOPROC + 1) /* ARM unwind section. */
333 #define SHT_ARM_PREEMPTMAP (SHT_LOPROC + 2) /* Preemption details. */
334 #define SHT_ARM_ATTRIBUTES (SHT_LOPROC + 3) /* ARM attributes section. */
335
336+/* Processor specific values for the Dyn d_tag field. */
337+#define DT_ARM_RESERVED1 (DT_LOPROC + 0)
338+#define DT_ARM_SYMTABSZ (DT_LOPROC + 1)
339+#define DT_ARM_PREEMTMAB (DT_LOPROC + 2)
340+#define DT_ARM_RESERVED2 (DT_LOPROC + 3)
341+#define DT_ARM_NUM 4
342
343 /* ARM relocs. */
344
345@@ -2344,12 +2354,75 @@
346 #define R_ARM_GOTPC 25 /* 32 bit PC relative offset to GOT */
347 #define R_ARM_GOT32 26 /* 32 bit GOT entry */
348 #define R_ARM_PLT32 27 /* 32 bit PLT address */
349+#define R_ARM_CALL 28
350+#define R_ARM_JUMP24 29
351+#define R_ARM_THM_JUMP24 30
352+#define R_ARM_BASE_ABS 31
353 #define R_ARM_ALU_PCREL_7_0 32
354 #define R_ARM_ALU_PCREL_15_8 33
355 #define R_ARM_ALU_PCREL_23_15 34
356 #define R_ARM_LDR_SBREL_11_0 35
357 #define R_ARM_ALU_SBREL_19_12 36
358 #define R_ARM_ALU_SBREL_27_20 37
359+#define R_ARM_TARGET1 38
360+#define R_ARM_SBREL31 39
361+#define R_ARM_V4BX 40
362+#define R_ARM_TARGET2 41
363+#define R_ARM_PREL31 42
364+#define R_ARM_MOVW_ABS_NC 43
365+#define R_ARM_MOVT_ABS 44
366+#define R_ARM_MOVW_PREL_NC 45
367+#define R_ARM_MOVT_PREL 46
368+#define R_ARM_THM_MOVW_ABS_NC 47
369+#define R_ARM_THM_MOVT_ABS 48
370+#define R_ARM_THM_MOVW_PREL_NC 49
371+#define R_ARM_THM_MOVT_PREL 50
372+#define R_ARM_THM_JUMP19 51
373+#define R_ARM_THM_JUMP6 52
374+#define R_ARM_THM_ALU_PREL_11_0 53
375+#define R_ARM_THM_PC12 54
376+#define R_ARM_ABS32_NOI 55
377+#define R_ARM_REL32_NOI 56
378+#define R_ARM_ALU_PC_G0_NC 57
379+#define R_ARM_ALU_PC_G0 58
380+#define R_ARM_ALU_PC_G1_NC 59
381+#define R_ARM_ALU_PC_G1 60
382+#define R_ARM_ALU_PC_G2 61
383+#define R_ARM_LDR_PC_G1 62
384+#define R_ARM_LDR_PC_G2 63
385+#define R_ARM_LDRS_PC_G0 64
386+#define R_ARM_LDRS_PC_G1 65
387+#define R_ARM_LDRS_PC_G2 66
388+#define R_ARM_LDC_PC_G0 67
389+#define R_ARM_LDC_PC_G1 68
390+#define R_ARM_LDC_PC_G2 69
391+#define R_ARM_ALU_SB_G0_NC 70
392+#define R_ARM_ALU_SB_G0 71
393+#define R_ARM_ALU_SB_G1_NC 72
394+#define R_ARM_ALU_SB_G1 73
395+#define R_ARM_ALU_SB_G2 74
396+#define R_ARM_LDR_SB_G0 75
397+#define R_ARM_LDR_SB_G1 76
398+#define R_ARM_LDR_SB_G2 77
399+#define R_ARM_LDRS_SB_G0 78
400+#define R_ARM_LDRS_SB_G1 79
401+#define R_ARM_LDRS_SB_G2 80
402+#define R_ARM_LDC_G0 81
403+#define R_ARM_LDC_G1 82
404+#define R_ARM_LDC_G2 83
405+#define R_ARM_MOVW_BREL_NC 84
406+#define R_ARM_MOVT_BREL 85
407+#define R_ARM_MOVW_BREL 86
408+#define R_ARM_THM_MOVW_BREL_NC 87
409+#define R_ARM_THM_MOVT_BREL 88
410+#define R_ARM_THM_MOVW_BREL 89
411+/* 90-93 unallocated */
412+#define R_ARM_PLT32_ABS 94
413+#define R_ARM_GOT_ABS 95
414+#define R_ARM_GOT_PREL 96
415+#define R_ARM_GOT_BREL12 97
416+#define R_ARM_GOTOFF12 98
417+#define R_ARM_GOTRELAX 99
418 #define R_ARM_GNU_VTENTRY 100
419 #define R_ARM_GNU_VTINHERIT 101
420 #define R_ARM_THM_PC11 102 /* thumb unconditional branch */
421@@ -2364,6 +2437,12 @@
422 static TLS block offset */
423 #define R_ARM_TLS_LE32 108 /* 32 bit offset relative to static
424 TLS block */
425+#define R_ARM_TLS_LDO12 109
426+#define R_ARM_TLS_LE12 110
427+#define R_ARM_TLS_IE12GP 111
428+/* 112 - 127 private range */
429+#define R_ARM_ME_TOO 128 /* obsolete */
430+
431 #define R_ARM_RXPC25 249
432 #define R_ARM_RSBREL32 250
433 #define R_ARM_THM_RPC22 251
434Index: elfutils-0.146/backends/libebl_arm.h
435===================================================================
436--- /dev/null 1970-01-01 00:00:00.000000000 +0000
437+++ elfutils-0.146/backends/libebl_arm.h 2010-04-24 10:11:13.000000000 +0000
438@@ -0,0 +1,9 @@
439+#ifndef _LIBEBL_ARM_H
440+#define _LIBEBL_ARM_H 1
441+
442+#include <libdw.h>
443+
444+extern int arm_return_value_location_soft(Dwarf_Die *, const Dwarf_Op **locp);
445+extern int arm_return_value_location_hard(Dwarf_Die *, const Dwarf_Op **locp);
446+
447+#endif
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.148/do-autoreconf.diff b/meta/recipes-devtools/elfutils/elfutils-0.148/do-autoreconf.diff
new file mode 100644
index 0000000000..41afa5ef36
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils-0.148/do-autoreconf.diff
@@ -0,0 +1,337 @@
1Generated by copying the whole dir, running `sh debian/autogen.sh` and diffing.
2
3Index: elfutils-0.148/backends/Makefile.in
4===================================================================
5--- elfutils-0.148.orig/backends/Makefile.in 2010-07-03 13:07:10.000000000 +0000
6+++ elfutils-0.148/backends/Makefile.in 2010-07-03 13:13:52.000000000 +0000
7@@ -77,39 +77,54 @@
8 am__objects_4 = ia64_init.$(OBJEXT) ia64_symbol.$(OBJEXT) \
9 ia64_regs.$(OBJEXT) ia64_retval.$(OBJEXT)
10 libebl_ia64_pic_a_OBJECTS = $(am_libebl_ia64_pic_a_OBJECTS)
11+libebl_m68k_pic_a_AR = $(AR) $(ARFLAGS)
12+libebl_m68k_pic_a_LIBADD =
13+am__objects_5 = m68k_init.$(OBJEXT) m68k_symbol.$(OBJEXT) \
14+ m68k_regs.$(OBJEXT)
15+libebl_m68k_pic_a_OBJECTS = $(am_libebl_m68k_pic_a_OBJECTS)
16+libebl_mips_pic_a_AR = $(AR) $(ARFLAGS)
17+libebl_mips_pic_a_LIBADD =
18+am__objects_6 = mips_init.$(OBJEXT) mips_symbol.$(OBJEXT) \
19+ mips_regs.$(OBJEXT) mips_retval.$(OBJEXT)
20+libebl_mips_pic_a_OBJECTS = $(am_libebl_mips_pic_a_OBJECTS)
21+libebl_parisc_pic_a_AR = $(AR) $(ARFLAGS)
22+libebl_parisc_pic_a_LIBADD =
23+am__objects_7 = parisc_init.$(OBJEXT) parisc_symbol.$(OBJEXT) \
24+ parisc_regs.$(OBJEXT) parisc_retval.$(OBJEXT)
25+libebl_parisc_pic_a_OBJECTS = $(am_libebl_parisc_pic_a_OBJECTS)
26 libebl_ppc64_pic_a_AR = $(AR) $(ARFLAGS)
27 libebl_ppc64_pic_a_LIBADD =
28-am__objects_5 = ppc64_init.$(OBJEXT) ppc64_symbol.$(OBJEXT) \
29+am__objects_8 = ppc64_init.$(OBJEXT) ppc64_symbol.$(OBJEXT) \
30 ppc64_retval.$(OBJEXT) ppc64_corenote.$(OBJEXT) \
31 ppc_regs.$(OBJEXT) ppc_auxv.$(OBJEXT) ppc_attrs.$(OBJEXT) \
32 ppc_syscall.$(OBJEXT)
33 libebl_ppc64_pic_a_OBJECTS = $(am_libebl_ppc64_pic_a_OBJECTS)
34 libebl_ppc_pic_a_AR = $(AR) $(ARFLAGS)
35 libebl_ppc_pic_a_LIBADD =
36-am__objects_6 = ppc_init.$(OBJEXT) ppc_symbol.$(OBJEXT) \
37+am__objects_9 = ppc_init.$(OBJEXT) ppc_symbol.$(OBJEXT) \
38 ppc_retval.$(OBJEXT) ppc_regs.$(OBJEXT) ppc_corenote.$(OBJEXT) \
39 ppc_auxv.$(OBJEXT) ppc_attrs.$(OBJEXT) ppc_syscall.$(OBJEXT)
40 libebl_ppc_pic_a_OBJECTS = $(am_libebl_ppc_pic_a_OBJECTS)
41 libebl_s390_pic_a_AR = $(AR) $(ARFLAGS)
42 libebl_s390_pic_a_LIBADD =
43-am__objects_7 = s390_init.$(OBJEXT) s390_symbol.$(OBJEXT) \
44+am__objects_10 = s390_init.$(OBJEXT) s390_symbol.$(OBJEXT) \
45 s390_regs.$(OBJEXT) s390_retval.$(OBJEXT)
46 libebl_s390_pic_a_OBJECTS = $(am_libebl_s390_pic_a_OBJECTS)
47 libebl_sh_pic_a_AR = $(AR) $(ARFLAGS)
48 libebl_sh_pic_a_LIBADD =
49-am__objects_8 = sh_init.$(OBJEXT) sh_symbol.$(OBJEXT) \
50+am__objects_11 = sh_init.$(OBJEXT) sh_symbol.$(OBJEXT) \
51 sh_corenote.$(OBJEXT) sh_regs.$(OBJEXT) sh_retval.$(OBJEXT)
52 libebl_sh_pic_a_OBJECTS = $(am_libebl_sh_pic_a_OBJECTS)
53 libebl_sparc_pic_a_AR = $(AR) $(ARFLAGS)
54 libebl_sparc_pic_a_LIBADD =
55-am__objects_9 = sparc_init.$(OBJEXT) sparc_symbol.$(OBJEXT) \
56+am__objects_12 = sparc_init.$(OBJEXT) sparc_symbol.$(OBJEXT) \
57 sparc_regs.$(OBJEXT) sparc_retval.$(OBJEXT) \
58 sparc_corenote.$(OBJEXT) sparc64_corenote.$(OBJEXT) \
59 sparc_auxv.$(OBJEXT)
60 libebl_sparc_pic_a_OBJECTS = $(am_libebl_sparc_pic_a_OBJECTS)
61 libebl_x86_64_pic_a_AR = $(AR) $(ARFLAGS)
62 libebl_x86_64_pic_a_LIBADD =
63-am__objects_10 = x86_64_init.$(OBJEXT) x86_64_symbol.$(OBJEXT) \
64+am__objects_13 = x86_64_init.$(OBJEXT) x86_64_symbol.$(OBJEXT) \
65 x86_64_corenote.$(OBJEXT) x86_64_cfi.$(OBJEXT) \
66 x86_64_retval.$(OBJEXT) x86_64_regs.$(OBJEXT) \
67 i386_auxv.$(OBJEXT) x86_64_syscall.$(OBJEXT)
68@@ -124,15 +139,18 @@
69 LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
70 SOURCES = $(libebl_alpha_pic_a_SOURCES) $(libebl_arm_pic_a_SOURCES) \
71 $(libebl_i386_pic_a_SOURCES) $(libebl_ia64_pic_a_SOURCES) \
72- $(libebl_ppc64_pic_a_SOURCES) $(libebl_ppc_pic_a_SOURCES) \
73- $(libebl_s390_pic_a_SOURCES) $(libebl_sh_pic_a_SOURCES) \
74- $(libebl_sparc_pic_a_SOURCES) $(libebl_x86_64_pic_a_SOURCES)
75-DIST_SOURCES = $(libebl_alpha_pic_a_SOURCES) \
76- $(libebl_arm_pic_a_SOURCES) $(libebl_i386_pic_a_SOURCES) \
77- $(libebl_ia64_pic_a_SOURCES) $(libebl_ppc64_pic_a_SOURCES) \
78+ $(libebl_m68k_pic_a_SOURCES) $(libebl_mips_pic_a_SOURCES) \
79+ $(libebl_parisc_pic_a_SOURCES) $(libebl_ppc64_pic_a_SOURCES) \
80 $(libebl_ppc_pic_a_SOURCES) $(libebl_s390_pic_a_SOURCES) \
81 $(libebl_sh_pic_a_SOURCES) $(libebl_sparc_pic_a_SOURCES) \
82 $(libebl_x86_64_pic_a_SOURCES)
83+DIST_SOURCES = $(libebl_alpha_pic_a_SOURCES) \
84+ $(libebl_arm_pic_a_SOURCES) $(libebl_i386_pic_a_SOURCES) \
85+ $(libebl_ia64_pic_a_SOURCES) $(libebl_m68k_pic_a_SOURCES) \
86+ $(libebl_mips_pic_a_SOURCES) $(libebl_parisc_pic_a_SOURCES) \
87+ $(libebl_ppc64_pic_a_SOURCES) $(libebl_ppc_pic_a_SOURCES) \
88+ $(libebl_s390_pic_a_SOURCES) $(libebl_sh_pic_a_SOURCES) \
89+ $(libebl_sparc_pic_a_SOURCES) $(libebl_x86_64_pic_a_SOURCES)
90 DATA = $(noinst_DATA)
91 HEADERS = $(noinst_HEADERS)
92 ETAGS = etags
93@@ -270,11 +288,12 @@
94 CLEANFILES = *.gcno *.gcda $(foreach m,$(modules), libebl_$(m).map \
95 libebl_$(m).so $(am_libebl_$(m)_pic_a_OBJECTS))
96 textrel_check = if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
97-modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390
98+modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 parisc mips m68k
99 libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \
100 libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \
101 libebl_sparc_pic.a libebl_ppc_pic.a libebl_ppc64_pic.a \
102- libebl_s390_pic.a
103+ libebl_s390_pic.a libebl_parisc_pic.a libebl_mips_pic.a \
104+ libebl_m68k_pic.a
105
106 noinst_LIBRARIES = $(libebl_pic)
107 noinst_DATA = $(libebl_pic:_pic.a=.so)
108@@ -328,6 +347,15 @@
109 s390_SRCS = s390_init.c s390_symbol.c s390_regs.c s390_retval.c
110 libebl_s390_pic_a_SOURCES = $(s390_SRCS)
111 am_libebl_s390_pic_a_OBJECTS = $(s390_SRCS:.c=.os)
112+parisc_SRCS = parisc_init.c parisc_symbol.c parisc_regs.c parisc_retval.c
113+libebl_parisc_pic_a_SOURCES = $(parisc_SRCS)
114+am_libebl_parisc_pic_a_OBJECTS = $(parisc_SRCS:.c=.os)
115+mips_SRCS = mips_init.c mips_symbol.c mips_regs.c mips_retval.c
116+libebl_mips_pic_a_SOURCES = $(mips_SRCS)
117+am_libebl_mips_pic_a_OBJECTS = $(mips_SRCS:.c=.os)
118+m68k_SRCS = m68k_init.c m68k_symbol.c m68k_regs.c
119+libebl_m68k_pic_a_SOURCES = $(m68k_SRCS)
120+am_libebl_m68k_pic_a_OBJECTS = $(m68k_SRCS:.c=.os)
121 noinst_HEADERS = libebl_CPU.h common-reloc.c linux-core-note.c x86_corenote.c
122 EXTRA_DIST = $(foreach m,$(modules),$($(m)_SRCS)) $(modules:=_reloc.def)
123 all: all-am
124@@ -383,6 +411,18 @@
125 -rm -f libebl_ia64_pic.a
126 $(libebl_ia64_pic_a_AR) libebl_ia64_pic.a $(libebl_ia64_pic_a_OBJECTS) $(libebl_ia64_pic_a_LIBADD)
127 $(RANLIB) libebl_ia64_pic.a
128+libebl_m68k_pic.a: $(libebl_m68k_pic_a_OBJECTS) $(libebl_m68k_pic_a_DEPENDENCIES)
129+ -rm -f libebl_m68k_pic.a
130+ $(libebl_m68k_pic_a_AR) libebl_m68k_pic.a $(libebl_m68k_pic_a_OBJECTS) $(libebl_m68k_pic_a_LIBADD)
131+ $(RANLIB) libebl_m68k_pic.a
132+libebl_mips_pic.a: $(libebl_mips_pic_a_OBJECTS) $(libebl_mips_pic_a_DEPENDENCIES)
133+ -rm -f libebl_mips_pic.a
134+ $(libebl_mips_pic_a_AR) libebl_mips_pic.a $(libebl_mips_pic_a_OBJECTS) $(libebl_mips_pic_a_LIBADD)
135+ $(RANLIB) libebl_mips_pic.a
136+libebl_parisc_pic.a: $(libebl_parisc_pic_a_OBJECTS) $(libebl_parisc_pic_a_DEPENDENCIES)
137+ -rm -f libebl_parisc_pic.a
138+ $(libebl_parisc_pic_a_AR) libebl_parisc_pic.a $(libebl_parisc_pic_a_OBJECTS) $(libebl_parisc_pic_a_LIBADD)
139+ $(RANLIB) libebl_parisc_pic.a
140 libebl_ppc64_pic.a: $(libebl_ppc64_pic_a_OBJECTS) $(libebl_ppc64_pic_a_DEPENDENCIES)
141 -rm -f libebl_ppc64_pic.a
142 $(libebl_ppc64_pic_a_AR) libebl_ppc64_pic.a $(libebl_ppc64_pic_a_OBJECTS) $(libebl_ppc64_pic_a_LIBADD)
143@@ -439,6 +479,17 @@
144 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ia64_regs.Po@am__quote@
145 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ia64_retval.Po@am__quote@
146 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ia64_symbol.Po@am__quote@
147+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/m68k_init.Po@am__quote@
148+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/m68k_regs.Po@am__quote@
149+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/m68k_symbol.Po@am__quote@
150+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mips_init.Po@am__quote@
151+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mips_regs.Po@am__quote@
152+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mips_retval.Po@am__quote@
153+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mips_symbol.Po@am__quote@
154+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parisc_init.Po@am__quote@
155+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parisc_regs.Po@am__quote@
156+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parisc_retval.Po@am__quote@
157+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parisc_symbol.Po@am__quote@
158 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppc64_corenote.Po@am__quote@
159 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppc64_init.Po@am__quote@
160 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppc64_retval.Po@am__quote@
161Index: elfutils-0.148/configure
162===================================================================
163--- elfutils-0.148.orig/configure 2010-07-03 13:06:16.000000000 +0000
164+++ elfutils-0.148/configure 2010-07-03 13:13:49.000000000 +0000
165@@ -602,6 +602,8 @@
166 base_cpu
167 NATIVE_LD_FALSE
168 NATIVE_LD_TRUE
169+LD_AS_NEEDED
170+WEXTRA
171 LEXLIB
172 LEX_OUTPUT_ROOT
173 LEX
174@@ -3852,6 +3854,130 @@
175 as_fn_error "gcc with C99 support required" "$LINENO" 5
176 fi
177
178+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -Wextra option to $CC" >&5
179+$as_echo_n "checking for -Wextra option to $CC... " >&6; }
180+if test "${ac_cv_cc_wextra+set}" = set; then :
181+ $as_echo_n "(cached) " >&6
182+else
183+ old_CFLAGS="$CFLAGS"
184+CFLAGS="$CFLAGS -Wextra"
185+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
186+/* end confdefs.h. */
187+void foo (void) { }
188+_ACEOF
189+if ac_fn_c_try_compile "$LINENO"; then :
190+ ac_cv_cc_wextra=yes
191+else
192+ ac_cv_cc_wextra=no
193+fi
194+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
195+CFLAGS="$old_CFLAGS"
196+fi
197+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cc_wextra" >&5
198+$as_echo "$ac_cv_cc_wextra" >&6; }
199+
200+if test "x$ac_cv_cc_wextra" = xyes; then :
201+ WEXTRA=-Wextra
202+else
203+ WEXTRA=-W
204+fi
205+
206+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -fgnu89-inline option to $CC" >&5
207+$as_echo_n "checking for -fgnu89-inline option to $CC... " >&6; }
208+if test "${ac_cv_cc_gnu89_inline+set}" = set; then :
209+ $as_echo_n "(cached) " >&6
210+else
211+ old_CFLAGS="$CFLAGS"
212+CFLAGS="$CFLAGS -fgnu89-inline -Werror"
213+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
214+/* end confdefs.h. */
215+
216+void foo (void)
217+{
218+ inline void bar (void) {}
219+ bar ();
220+}
221+extern inline void baz (void) {}
222+
223+_ACEOF
224+if ac_fn_c_try_compile "$LINENO"; then :
225+ ac_cv_cc_gnu89_inline=yes
226+else
227+ ac_cv_cc_gnu89_inline=no
228+fi
229+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
230+CFLAGS="$old_CFLAGS"
231+fi
232+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cc_gnu89_inline" >&5
233+$as_echo "$ac_cv_cc_gnu89_inline" >&6; }
234+if test "x$ac_cv_cc_gnu89_inline" = xyes; then :
235+ WEXTRA="${WEXTRA:+$WEXTRA }-fgnu89-inline"
236+fi
237+
238+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --as-needed linker option" >&5
239+$as_echo_n "checking for --as-needed linker option... " >&6; }
240+if test "${ac_cv_as_needed+set}" = set; then :
241+ $as_echo_n "(cached) " >&6
242+else
243+ cat > conftest.c <<EOF
244+int main (void) { return 0; }
245+EOF
246+if { ac_try='${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
247+ -fPIC -shared -o conftest.so conftest.c
248+ -Wl,--as-needed 1>&5'
249+ { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
250+ (eval $ac_try) 2>&5
251+ ac_status=$?
252+ $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
253+ test $ac_status = 0; }; }
254+then
255+ ac_cv_as_needed=yes
256+else
257+ ac_cv_as_needed=no
258+fi
259+rm -f conftest*
260+fi
261+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_as_needed" >&5
262+$as_echo "$ac_cv_as_needed" >&6; }
263+if test "x$ac_cv_as_needed" = xyes; then :
264+ LD_AS_NEEDED=-Wl,--as-needed
265+else
266+ LD_AS_NEEDED=
267+fi
268+
269+
270+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __builtin_popcount" >&5
271+$as_echo_n "checking for __builtin_popcount... " >&6; }
272+if test "${ac_cv_popcount+set}" = set; then :
273+ $as_echo_n "(cached) " >&6
274+else
275+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
276+/* end confdefs.h. */
277+
278+int
279+main ()
280+{
281+exit (__builtin_popcount (127));
282+ ;
283+ return 0;
284+}
285+_ACEOF
286+if ac_fn_c_try_link "$LINENO"; then :
287+ ac_cv_popcount=yes
288+else
289+ ac_cv_popcount=no
290+fi
291+rm -f core conftest.err conftest.$ac_objext \
292+ conftest$ac_exeext conftest.$ac_ext
293+fi
294+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_popcount" >&5
295+$as_echo "$ac_cv_popcount" >&6; }
296+if test "x$ac_cv_popcount" = xyes; then :
297+
298+$as_echo "#define HAVE_BUILTIN_POPCOUNT 1" >>confdefs.h
299+
300+fi
301+
302 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __thread support" >&5
303 $as_echo_n "checking for __thread support... " >&6; }
304 if test "${ac_cv_tls+set}" = set; then :
305@@ -3888,7 +4014,13 @@
306 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_tls" >&5
307 $as_echo "$ac_cv_tls" >&6; }
308 if test "x$ac_cv_tls" != xyes; then :
309- as_fn_error "__thread support required" "$LINENO" 5
310+ if test "$use_locks" = yes; then :
311+ as_fn_error "--enable-thread-safety requires __thread support" "$LINENO" 5
312+else
313+
314+$as_echo "#define __thread /* empty: no multi-thread support */" >>confdefs.h
315+
316+fi
317 fi
318
319 # Check whether --enable-largefile was given.
320@@ -4874,7 +5006,7 @@
321
322 # 1.234<whatever> -> 1234<whatever>
323 case "$PACKAGE_VERSION" in
324-[0-9].*) eu_version="${PACKAGE_VERSION/./}" ;;
325+[0-9].*) eu_version=`echo "$PACKAGE_VERSION" | sed 's@\.@@'` ;;
326 *) as_fn_error "confused by version number '$PACKAGE_VERSION'" "$LINENO" 5 ;;
327 esac
328 case "$eu_version" in
329@@ -4903,7 +5035,7 @@
330 esac
331
332 # Round up to the next release API (x.y) version.
333-eu_version=$[($eu_version + 999) / 1000]
334+eu_version=`expr \( $eu_version + 999 \) / 1000`
335
336 cat >confcache <<\_ACEOF
337 # This file is a shell script that caches the results of configure
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.148/elf_additions.diff b/meta/recipes-devtools/elfutils/elfutils-0.148/elf_additions.diff
new file mode 100644
index 0000000000..59a082b6cf
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils-0.148/elf_additions.diff
@@ -0,0 +1,69 @@
1Index: elfutils-0.146/libelf/elf.h
2===================================================================
3--- elfutils-0.146.orig/libelf/elf.h 2010-04-24 10:13:50.000000000 +0000
4+++ elfutils-0.146/libelf/elf.h 2010-04-24 10:22:43.000000000 +0000
5@@ -143,6 +143,7 @@
6 #define ELFOSABI_HPUX 1 /* HP-UX */
7 #define ELFOSABI_NETBSD 2 /* NetBSD. */
8 #define ELFOSABI_LINUX 3 /* Linux. */
9+#define ELFOSABI_HURD 4 /* GNU/Hurd */
10 #define ELFOSABI_SOLARIS 6 /* Sun Solaris. */
11 #define ELFOSABI_AIX 7 /* IBM AIX. */
12 #define ELFOSABI_IRIX 8 /* SGI Irix. */
13@@ -150,8 +151,13 @@
14 #define ELFOSABI_TRU64 10 /* Compaq TRU64 UNIX. */
15 #define ELFOSABI_MODESTO 11 /* Novell Modesto. */
16 #define ELFOSABI_OPENBSD 12 /* OpenBSD. */
17+#define ELFOSABI_OPENVMS 13 /* OpenVMS */
18+#define ELFOSABI_NSK 14 /* Hewlett-Packard Non-Stop Kernel */
19+#define ELFOSABI_AROS 15 /* Amiga Research OS */
20+/* 64-255 Architecture-specific value range */
21 #define ELFOSABI_ARM_AEABI 64 /* ARM EABI */
22 #define ELFOSABI_ARM 97 /* ARM */
23+/* This is deprecated? It's not in the latest version anymore. */
24 #define ELFOSABI_STANDALONE 255 /* Standalone (embedded) application */
25
26 #define EI_ABIVERSION 8 /* ABI version */
27@@ -206,7 +212,7 @@
28 #define EM_H8_300H 47 /* Hitachi H8/300H */
29 #define EM_H8S 48 /* Hitachi H8S */
30 #define EM_H8_500 49 /* Hitachi H8/500 */
31-#define EM_IA_64 50 /* Intel Merced */
32+#define EM_IA_64 50 /* Intel IA64 */
33 #define EM_MIPS_X 51 /* Stanford MIPS-X */
34 #define EM_COLDFIRE 52 /* Motorola Coldfire */
35 #define EM_68HC12 53 /* Motorola M68HC12 */
36@@ -220,7 +226,8 @@
37 #define EM_TINYJ 61 /* Advanced Logic Corp. Tinyj emb.fam*/
38 #define EM_X86_64 62 /* AMD x86-64 architecture */
39 #define EM_PDSP 63 /* Sony DSP Processor */
40-
41+#define EM_PDP10 64 /* Digital Equipment Corp. PDP-10 */
42+#define EM_PDP11 65 /* Digital Equipment Corp. PDP-11 */
43 #define EM_FX66 66 /* Siemens FX66 microcontroller */
44 #define EM_ST9PLUS 67 /* STMicroelectronics ST9+ 8/16 mc */
45 #define EM_ST7 68 /* STmicroelectronics ST7 8 bit mc */
46@@ -250,7 +257,22 @@
47 #define EM_OPENRISC 92 /* OpenRISC 32-bit embedded processor */
48 #define EM_ARC_A5 93 /* ARC Cores Tangent-A5 */
49 #define EM_XTENSA 94 /* Tensilica Xtensa Architecture */
50-#define EM_NUM 95
51+#define EM_VIDEOCORE 95 /* Alphamosaic VideoCore processor */
52+#define EM_TMM_GPP 96 /* Thompson Multimedia General Purpose Processor */
53+#define EM_NS32K 97 /* National Semiconductor 32000 series */
54+#define EM_TPC 98 /* Tenor Network TPC processor */
55+#define EM_SNP1K 99 /* Trebia SNP 1000 processor */
56+#define EM_ST200 100 /* STMicroelectronics (www.st.com) ST200 microcontroller */
57+#define EM_IP2K 101 /* Ubicom IP2XXX microcontroller family */
58+#define EM_MAX 102 /* MAX Processor */
59+#define EM_CR 103 /* National Semiconductor CompactRISC */
60+#define EM_F2MC16 104 /* Fujitsu F2MC16 */
61+#define EM_MSP430 105 /* TI msp430 micro controller */
62+#define EM_BLACKFIN 106 /* Analog Devices Blackfin (DSP) processor */
63+#define EM_SE_C33 107 /* S1C33 Family of Seiko Epson processors */
64+#define EM_SEP 108 /* Sharp embedded microprocessor */
65+#define EM_ARCA 109 /* Arca RISC Microprocessor */
66+#define EM_NUM 110
67
68 /* If it is necessary to assign new unofficial EM_* values, please
69 pick large random numbers (0x8523, 0xa7f2, etc.) to minimize the
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.148/elfutils-fsize.patch b/meta/recipes-devtools/elfutils/elfutils-0.148/elfutils-fsize.patch
new file mode 100644
index 0000000000..9cf9cef525
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils-0.148/elfutils-fsize.patch
@@ -0,0 +1,37 @@
1The ELF_T_LIB and ELF_T_GNUHASH sizes were missing from fsize table.
2
3This could cause a failure in the elf*_xlatetof function.
4
5diff -ur elfutils-0.148.orig/libelf/exttypes.h elfutils-0.148/libelf/exttypes.h
6--- elfutils-0.148.orig/libelf/exttypes.h 2009-01-08 12:56:37.000000000 -0800
7+++ elfutils-0.148/libelf/exttypes.h 2010-08-18 14:00:33.000000000 -0700
8@@ -94,6 +94,7 @@
9 Vernaux32 (Ext_);
10 Syminfo32 (Ext_);
11 Move32 (Ext_);
12+Lib32 (Ext_);
13 auxv_t32 (Ext_);
14
15 Ehdr64 (Ext_);
16@@ -110,6 +111,7 @@
17 Vernaux64 (Ext_);
18 Syminfo64 (Ext_);
19 Move64 (Ext_);
20+Lib64 (Ext_);
21 auxv_t64 (Ext_);
22
23 #undef START
24diff -ur elfutils-0.148.orig/libelf/gelf_fsize.c elfutils-0.148/libelf/gelf_fsize.c
25--- elfutils-0.148.orig/libelf/gelf_fsize.c 2009-01-08 12:56:37.000000000 -0800
26+++ elfutils-0.148/libelf/gelf_fsize.c 2010-08-18 14:11:57.000000000 -0700
27@@ -87,7 +87,9 @@
28 [ELF_T_NHDR] = sizeof (ElfW2(LIBELFBITS, Ext_Nhdr)), \
29 [ELF_T_SYMINFO] = sizeof (ElfW2(LIBELFBITS, Ext_Syminfo)), \
30 [ELF_T_MOVE] = sizeof (ElfW2(LIBELFBITS, Ext_Move)), \
31- [ELF_T_AUXV] = sizeof (ElfW2(LIBELFBITS, Ext_auxv_t))
32+ [ELF_T_LIB] = sizeof (ElfW2(LIBELFBITS, Ext_Lib)), \
33+ [ELF_T_AUXV] = sizeof (ElfW2(LIBELFBITS, Ext_auxv_t)), \
34+ [ELF_T_GNUHASH] = ELFW2(LIBELFBITS, FSZ_WORD)
35 TYPE_SIZES (32)
36 },
37 [ELFCLASS64 - 1] = {
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.148/hppa_backend.diff b/meta/recipes-devtools/elfutils/elfutils-0.148/hppa_backend.diff
new file mode 100644
index 0000000000..98353d5b4b
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils-0.148/hppa_backend.diff
@@ -0,0 +1,799 @@
1Index: elfutils-0.146/backends/parisc_init.c
2===================================================================
3--- /dev/null 1970-01-01 00:00:00.000000000 +0000
4+++ elfutils-0.146/backends/parisc_init.c 2010-04-24 10:10:50.000000000 +0000
5@@ -0,0 +1,74 @@
6+/* Initialization of PA-RISC specific backend library.
7+ Copyright (C) 2002, 2005, 2006 Red Hat, Inc.
8+ This file is part of Red Hat elfutils.
9+ Written by Ulrich Drepper <drepper@redhat.com>, 2002.
10+
11+ Red Hat elfutils 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+ Red Hat elfutils 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 Red Hat elfutils; if not, write to the Free Software Foundation,
22+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
23+
24+ Red Hat elfutils is an included package of the Open Invention Network.
25+ An included package of the Open Invention Network is a package for which
26+ Open Invention Network licensees cross-license their patents. No patent
27+ license is granted, either expressly or impliedly, by designation as an
28+ included package. Should you wish to participate in the Open Invention
29+ Network licensing program, please visit www.openinventionnetwork.com
30+ <http://www.openinventionnetwork.com>. */
31+
32+#ifdef HAVE_CONFIG_H
33+# include <config.h>
34+#endif
35+
36+#define BACKEND parisc_
37+#define RELOC_PREFIX R_PARISC_
38+#include "libebl_CPU.h"
39+#include "libebl_parisc.h"
40+
41+/* This defines the common reloc hooks based on parisc_reloc.def. */
42+#include "common-reloc.c"
43+
44+
45+const char *
46+parisc_init (elf, machine, eh, ehlen)
47+ Elf *elf __attribute__ ((unused));
48+ GElf_Half machine __attribute__ ((unused));
49+ Ebl *eh;
50+ size_t ehlen;
51+{
52+ int pa64 = 0;
53+
54+ /* Check whether the Elf_BH object has a sufficent size. */
55+ if (ehlen < sizeof (Ebl))
56+ return NULL;
57+
58+ if (elf) {
59+ GElf_Ehdr ehdr_mem;
60+ GElf_Ehdr *ehdr = gelf_getehdr (elf, &ehdr_mem);
61+ if (ehdr && (ehdr->e_flags & EF_PARISC_WIDE))
62+ pa64 = 1;
63+ }
64+ /* We handle it. */
65+ eh->name = "PA-RISC";
66+ parisc_init_reloc (eh);
67+ HOOK (eh, reloc_simple_type);
68+ HOOK (eh, machine_flag_check);
69+ HOOK (eh, symbol_type_name);
70+ HOOK (eh, segment_type_name);
71+ HOOK (eh, section_type_name);
72+ HOOK (eh, register_info);
73+ if (pa64)
74+ eh->return_value_location = parisc_return_value_location_64;
75+ else
76+ eh->return_value_location = parisc_return_value_location_32;
77+
78+ return MODVERSION;
79+}
80Index: elfutils-0.146/backends/parisc_regs.c
81===================================================================
82--- /dev/null 1970-01-01 00:00:00.000000000 +0000
83+++ elfutils-0.146/backends/parisc_regs.c 2010-04-24 10:10:50.000000000 +0000
84@@ -0,0 +1,159 @@
85+/* Register names and numbers for PA-RISC DWARF.
86+ Copyright (C) 2005, 2006 Red Hat, Inc.
87+ This file is part of Red Hat elfutils.
88+
89+ Red Hat elfutils is free software; you can redistribute it and/or modify
90+ it under the terms of the GNU General Public License as published by the
91+ Free Software Foundation; version 2 of the License.
92+
93+ Red Hat elfutils is distributed in the hope that it will be useful, but
94+ WITHOUT ANY WARRANTY; without even the implied warranty of
95+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
96+ General Public License for more details.
97+
98+ You should have received a copy of the GNU General Public License along
99+ with Red Hat elfutils; if not, write to the Free Software Foundation,
100+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
101+
102+ Red Hat elfutils is an included package of the Open Invention Network.
103+ An included package of the Open Invention Network is a package for which
104+ Open Invention Network licensees cross-license their patents. No patent
105+ license is granted, either expressly or impliedly, by designation as an
106+ included package. Should you wish to participate in the Open Invention
107+ Network licensing program, please visit www.openinventionnetwork.com
108+ <http://www.openinventionnetwork.com>. */
109+
110+#ifdef HAVE_CONFIG_H
111+# include <config.h>
112+#endif
113+
114+#include <string.h>
115+#include <dwarf.h>
116+
117+#define BACKEND parisc_
118+#include "libebl_CPU.h"
119+
120+ssize_t
121+parisc_register_info (Ebl *ebl, int regno, char *name, size_t namelen,
122+ const char **prefix, const char **setname,
123+ int *bits, int *type)
124+{
125+ int pa64 = 0;
126+
127+ if (ebl->elf) {
128+ GElf_Ehdr ehdr_mem;
129+ GElf_Ehdr *ehdr = gelf_getehdr (ebl->elf, &ehdr_mem);
130+ if (ehdr->e_flags & EF_PARISC_WIDE)
131+ pa64 = 1;
132+ }
133+
134+ int nregs = pa64 ? 127 : 128;
135+
136+ if (name == NULL)
137+ return nregs;
138+
139+ if (regno < 0 || regno >= nregs || namelen < 6)
140+ return -1;
141+
142+ *prefix = "%";
143+
144+ if (regno < 32)
145+ {
146+ *setname = "integer";
147+ *type = DW_ATE_signed;
148+ if (pa64)
149+ {
150+ *bits = 64;
151+ }
152+ else
153+ {
154+ *bits = 32;
155+ }
156+ }
157+ else if (regno == 32)
158+ {
159+ *setname = "special";
160+ if (pa64)
161+ {
162+ *bits = 6;
163+ }
164+ else
165+ {
166+ *bits = 5;
167+ }
168+ *type = DW_ATE_unsigned;
169+ }
170+ else
171+ {
172+ *setname = "FPU";
173+ *type = DW_ATE_float;
174+ if (pa64)
175+ {
176+ *bits = 64;
177+ }
178+ else
179+ {
180+ *bits = 32;
181+ }
182+ }
183+
184+ if (regno < 33) {
185+ switch (regno)
186+ {
187+ case 0 ... 9:
188+ name[0] = 'r';
189+ name[1] = regno + '0';
190+ namelen = 2;
191+ break;
192+ case 10 ... 31:
193+ name[0] = 'r';
194+ name[1] = regno / 10 + '0';
195+ name[2] = regno % 10 + '0';
196+ namelen = 3;
197+ break;
198+ case 32:
199+ *prefix = NULL;
200+ name[0] = 'S';
201+ name[1] = 'A';
202+ name[2] = 'R';
203+ namelen = 3;
204+ break;
205+ }
206+ }
207+ else {
208+ if (pa64 && ((regno - 72) % 2)) {
209+ *setname = NULL;
210+ return 0;
211+ }
212+
213+ switch (regno)
214+ {
215+ case 72 + 0 ... 72 + 11:
216+ name[0] = 'f';
217+ name[1] = 'r';
218+ name[2] = (regno + 8 - 72) / 2 + '0';
219+ namelen = 3;
220+ if ((regno + 8 - 72) % 2) {
221+ name[3] = 'R';
222+ namelen++;
223+ }
224+ break;
225+ case 72 + 12 ... 72 + 55:
226+ name[0] = 'f';
227+ name[1] = 'r';
228+ name[2] = (regno + 8 - 72) / 2 / 10 + '0';
229+ name[3] = (regno + 8 - 72) / 2 % 10 + '0';
230+ namelen = 4;
231+ if ((regno + 8 - 72) % 2) {
232+ name[4] = 'R';
233+ namelen++;
234+ }
235+ break;
236+ default:
237+ *setname = NULL;
238+ return 0;
239+ }
240+ }
241+ name[namelen++] = '\0';
242+ return namelen;
243+}
244Index: elfutils-0.146/backends/parisc_reloc.def
245===================================================================
246--- /dev/null 1970-01-01 00:00:00.000000000 +0000
247+++ elfutils-0.146/backends/parisc_reloc.def 2010-04-24 10:10:50.000000000 +0000
248@@ -0,0 +1,128 @@
249+/* List the relocation types for PA-RISC. -*- C -*-
250+ Copyright (C) 2005 Red Hat, Inc.
251+ This file is part of Red Hat elfutils.
252+
253+ Red Hat elfutils is free software; you can redistribute it and/or modify
254+ it under the terms of the GNU General Public License as published by the
255+ Free Software Foundation; version 2 of the License.
256+
257+ Red Hat elfutils is distributed in the hope that it will be useful, but
258+ WITHOUT ANY WARRANTY; without even the implied warranty of
259+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
260+ General Public License for more details.
261+
262+ You should have received a copy of the GNU General Public License along
263+ with Red Hat elfutils; if not, write to the Free Software Foundation,
264+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
265+
266+ Red Hat elfutils is an included package of the Open Invention Network.
267+ An included package of the Open Invention Network is a package for which
268+ Open Invention Network licensees cross-license their patents. No patent
269+ license is granted, either expressly or impliedly, by designation as an
270+ included package. Should you wish to participate in the Open Invention
271+ Network licensing program, please visit www.openinventionnetwork.com
272+ <http://www.openinventionnetwork.com>. */
273+
274+/* NAME, REL|EXEC|DYN */
275+
276+RELOC_TYPE (NONE, EXEC|DYN)
277+RELOC_TYPE (DIR32, REL|EXEC|DYN)
278+RELOC_TYPE (DIR21L, REL|EXEC|DYN)
279+RELOC_TYPE (DIR17R, REL)
280+RELOC_TYPE (DIR17F, REL)
281+RELOC_TYPE (DIR14R, REL|DYN)
282+RELOC_TYPE (PCREL32, REL)
283+RELOC_TYPE (PCREL21L, REL)
284+RELOC_TYPE (PCREL17R, REL)
285+RELOC_TYPE (PCREL17F, REL)
286+RELOC_TYPE (PCREL14R, REL|EXEC)
287+RELOC_TYPE (DPREL21L, REL)
288+RELOC_TYPE (DPREL14WR, REL)
289+RELOC_TYPE (DPREL14DR, REL)
290+RELOC_TYPE (DPREL14R, REL)
291+RELOC_TYPE (GPREL21L, 0)
292+RELOC_TYPE (GPREL14R, 0)
293+RELOC_TYPE (LTOFF21L, REL)
294+RELOC_TYPE (LTOFF14R, REL)
295+RELOC_TYPE (DLTIND14F, 0)
296+RELOC_TYPE (SETBASE, 0)
297+RELOC_TYPE (SECREL32, REL)
298+RELOC_TYPE (BASEREL21L, 0)
299+RELOC_TYPE (BASEREL17R, 0)
300+RELOC_TYPE (BASEREL14R, 0)
301+RELOC_TYPE (SEGBASE, 0)
302+RELOC_TYPE (SEGREL32, REL)
303+RELOC_TYPE (PLTOFF21L, 0)
304+RELOC_TYPE (PLTOFF14R, 0)
305+RELOC_TYPE (PLTOFF14F, 0)
306+RELOC_TYPE (LTOFF_FPTR32, 0)
307+RELOC_TYPE (LTOFF_FPTR21L, 0)
308+RELOC_TYPE (LTOFF_FPTR14R, 0)
309+RELOC_TYPE (FPTR64, 0)
310+RELOC_TYPE (PLABEL32, REL|DYN)
311+RELOC_TYPE (PCREL64, 0)
312+RELOC_TYPE (PCREL22C, 0)
313+RELOC_TYPE (PCREL22F, 0)
314+RELOC_TYPE (PCREL14WR, 0)
315+RELOC_TYPE (PCREL14DR, 0)
316+RELOC_TYPE (PCREL16F, 0)
317+RELOC_TYPE (PCREL16WF, 0)
318+RELOC_TYPE (PCREL16DF, 0)
319+RELOC_TYPE (DIR64, REL|DYN)
320+RELOC_TYPE (DIR14WR, REL)
321+RELOC_TYPE (DIR14DR, REL)
322+RELOC_TYPE (DIR16F, REL)
323+RELOC_TYPE (DIR16WF, REL)
324+RELOC_TYPE (DIR16DF, REL)
325+RELOC_TYPE (GPREL64, 0)
326+RELOC_TYPE (GPREL14WR, 0)
327+RELOC_TYPE (GPREL14DR, 0)
328+RELOC_TYPE (GPREL16F, 0)
329+RELOC_TYPE (GPREL16WF, 0)
330+RELOC_TYPE (GPREL16DF, 0)
331+RELOC_TYPE (LTOFF64, 0)
332+RELOC_TYPE (LTOFF14WR, 0)
333+RELOC_TYPE (LTOFF14DR, 0)
334+RELOC_TYPE (LTOFF16F, 0)
335+RELOC_TYPE (LTOFF16WF, 0)
336+RELOC_TYPE (LTOFF16DF, 0)
337+RELOC_TYPE (SECREL64, 0)
338+RELOC_TYPE (BASEREL14WR, 0)
339+RELOC_TYPE (BASEREL14DR, 0)
340+RELOC_TYPE (SEGREL64, 0)
341+RELOC_TYPE (PLTOFF14WR, 0)
342+RELOC_TYPE (PLTOFF14DR, 0)
343+RELOC_TYPE (PLTOFF16F, 0)
344+RELOC_TYPE (PLTOFF16WF, 0)
345+RELOC_TYPE (PLTOFF16DF, 0)
346+RELOC_TYPE (LTOFF_FPTR64, 0)
347+RELOC_TYPE (LTOFF_FPTR14WR, 0)
348+RELOC_TYPE (LTOFF_FPTR14DR, 0)
349+RELOC_TYPE (LTOFF_FPTR16F, 0)
350+RELOC_TYPE (LTOFF_FPTR16WF, 0)
351+RELOC_TYPE (LTOFF_FPTR16DF, 0)
352+RELOC_TYPE (COPY, EXEC)
353+RELOC_TYPE (IPLT, EXEC|DYN)
354+RELOC_TYPE (EPLT, 0)
355+RELOC_TYPE (TPREL32, DYN)
356+RELOC_TYPE (TPREL21L, 0)
357+RELOC_TYPE (TPREL14R, 0)
358+RELOC_TYPE (LTOFF_TP21L, 0)
359+RELOC_TYPE (LTOFF_TP14R, 0)
360+RELOC_TYPE (LTOFF_TP14F, 0)
361+RELOC_TYPE (TPREL64, 0)
362+RELOC_TYPE (TPREL14WR, 0)
363+RELOC_TYPE (TPREL14DR, 0)
364+RELOC_TYPE (TPREL16F, 0)
365+RELOC_TYPE (TPREL16WF, 0)
366+RELOC_TYPE (TPREL16DF, 0)
367+RELOC_TYPE (LTOFF_TP64, 0)
368+RELOC_TYPE (LTOFF_TP14WR, 0)
369+RELOC_TYPE (LTOFF_TP14DR, 0)
370+RELOC_TYPE (LTOFF_TP16F, 0)
371+RELOC_TYPE (LTOFF_TP16WF, 0)
372+RELOC_TYPE (LTOFF_TP16DF, 0)
373+RELOC_TYPE (TLS_DTPMOD32, DYN)
374+RELOC_TYPE (TLS_DTPMOD64, DYN)
375+
376+#define NO_RELATIVE_RELOC 1
377Index: elfutils-0.146/backends/parisc_retval.c
378===================================================================
379--- /dev/null 1970-01-01 00:00:00.000000000 +0000
380+++ elfutils-0.146/backends/parisc_retval.c 2010-04-24 10:10:50.000000000 +0000
381@@ -0,0 +1,213 @@
382+/* Function return value location for Linux/PA-RISC ABI.
383+ Copyright (C) 2005 Red Hat, Inc.
384+ This file is part of Red Hat elfutils.
385+
386+ Red Hat elfutils is free software; you can redistribute it and/or modify
387+ it under the terms of the GNU General Public License as published by the
388+ Free Software Foundation; version 2 of the License.
389+
390+ Red Hat elfutils is distributed in the hope that it will be useful, but
391+ WITHOUT ANY WARRANTY; without even the implied warranty of
392+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
393+ General Public License for more details.
394+
395+ You should have received a copy of the GNU General Public License along
396+ with Red Hat elfutils; if not, write to the Free Software Foundation,
397+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
398+
399+ Red Hat elfutils is an included package of the Open Invention Network.
400+ An included package of the Open Invention Network is a package for which
401+ Open Invention Network licensees cross-license their patents. No patent
402+ license is granted, either expressly or impliedly, by designation as an
403+ included package. Should you wish to participate in the Open Invention
404+ Network licensing program, please visit www.openinventionnetwork.com
405+ <http://www.openinventionnetwork.com>. */
406+
407+#ifdef HAVE_CONFIG_H
408+# include <config.h>
409+#endif
410+
411+#include <assert.h>
412+#include <dwarf.h>
413+
414+#define BACKEND parisc_
415+#include "libebl_CPU.h"
416+#include "libebl_parisc.h"
417+
418+/* %r28, or pair %r28, %r29. */
419+static const Dwarf_Op loc_intreg32[] =
420+ {
421+ { .atom = DW_OP_reg28 }, { .atom = DW_OP_piece, .number = 4 },
422+ { .atom = DW_OP_reg29 }, { .atom = DW_OP_piece, .number = 4 },
423+ };
424+
425+static const Dwarf_Op loc_intreg[] =
426+ {
427+ { .atom = DW_OP_reg28 }, { .atom = DW_OP_piece, .number = 8 },
428+ { .atom = DW_OP_reg29 }, { .atom = DW_OP_piece, .number = 8 },
429+ };
430+#define nloc_intreg 1
431+#define nloc_intregpair 4
432+
433+/* %fr4L, or pair %fr4L, %fr4R on pa-32 */
434+static const Dwarf_Op loc_fpreg32[] =
435+ {
436+ { .atom = DW_OP_regx, .number = 72 }, { .atom = DW_OP_piece, .number = 4 },
437+ { .atom = DW_OP_regx, .number = 73 }, { .atom = DW_OP_piece, .number = 4 },
438+ };
439+#define nloc_fpreg32 2
440+#define nloc_fpregpair32 4
441+
442+/* $fr4 */
443+static const Dwarf_Op loc_fpreg[] =
444+ {
445+ { .atom = DW_OP_regx, .number = 72 },
446+ };
447+#define nloc_fpreg 1
448+
449+#if 0
450+/* The return value is a structure and is actually stored in stack space
451+ passed in a hidden argument by the caller. Address of the location is stored
452+ in %r28 before function call, but it may be changed by function. */
453+static const Dwarf_Op loc_aggregate[] =
454+ {
455+ { .atom = DW_OP_breg28 },
456+ };
457+#define nloc_aggregate 1
458+#endif
459+
460+static int
461+parisc_return_value_location_ (Dwarf_Die *functypedie, const Dwarf_Op **locp, int pa64)
462+{
463+ Dwarf_Word regsize = pa64 ? 8 : 4;
464+
465+ /* Start with the function's type, and get the DW_AT_type attribute,
466+ which is the type of the return value. */
467+
468+ Dwarf_Attribute attr_mem;
469+ Dwarf_Attribute *attr = dwarf_attr_integrate (functypedie, DW_AT_type, &attr_mem);
470+ if (attr == NULL)
471+ /* The function has no return value, like a `void' function in C. */
472+ return 0;
473+
474+ Dwarf_Die die_mem;
475+ Dwarf_Die *typedie = dwarf_formref_die (attr, &die_mem);
476+ int tag = dwarf_tag (typedie);
477+
478+ /* Follow typedefs and qualifiers to get to the actual type. */
479+ while (tag == DW_TAG_typedef
480+ || tag == DW_TAG_const_type || tag == DW_TAG_volatile_type
481+ || tag == DW_TAG_restrict_type || tag == DW_TAG_mutable_type)
482+ {
483+ attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem);
484+ typedie = dwarf_formref_die (attr, &die_mem);
485+ tag = dwarf_tag (typedie);
486+ }
487+
488+ switch (tag)
489+ {
490+ case -1:
491+ return -1;
492+
493+ case DW_TAG_subrange_type:
494+ if (! dwarf_hasattr_integrate (typedie, DW_AT_byte_size))
495+ {
496+ attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem);
497+ typedie = dwarf_formref_die (attr, &die_mem);
498+ tag = dwarf_tag (typedie);
499+ }
500+ /* Fall through. */
501+
502+ case DW_TAG_base_type:
503+ case DW_TAG_enumeration_type:
504+ case DW_TAG_pointer_type:
505+ case DW_TAG_ptr_to_member_type:
506+ {
507+ Dwarf_Word size;
508+ if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_byte_size,
509+ &attr_mem), &size) != 0)
510+ {
511+ if (tag == DW_TAG_pointer_type || tag == DW_TAG_ptr_to_member_type)
512+ size = 4;
513+ else
514+ return -1;
515+ }
516+ if (tag == DW_TAG_base_type)
517+ {
518+ Dwarf_Word encoding;
519+ if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_encoding,
520+ &attr_mem), &encoding) != 0)
521+ return -1;
522+
523+ if (encoding == DW_ATE_float)
524+ {
525+ if (pa64) {
526+ *locp = loc_fpreg;
527+ if (size <= 8)
528+ return nloc_fpreg;
529+ }
530+ else {
531+ *locp = loc_fpreg32;
532+ if (size <= 4)
533+ return nloc_fpreg32;
534+ else if (size <= 8)
535+ return nloc_fpregpair32;
536+ }
537+ goto aggregate;
538+ }
539+ }
540+ if (pa64)
541+ *locp = loc_intreg;
542+ else
543+ *locp = loc_intreg32;
544+ if (size <= regsize)
545+ return nloc_intreg;
546+ if (size <= 2 * regsize)
547+ return nloc_intregpair;
548+
549+ /* Else fall through. */
550+ }
551+
552+ case DW_TAG_structure_type:
553+ case DW_TAG_class_type:
554+ case DW_TAG_union_type:
555+ case DW_TAG_array_type:
556+ aggregate: {
557+ Dwarf_Word size;
558+ if (dwarf_aggregate_size (typedie, &size) != 0)
559+ return -1;
560+ if (pa64)
561+ *locp = loc_intreg;
562+ else
563+ *locp = loc_intreg32;
564+ if (size <= regsize)
565+ return nloc_intreg;
566+ if (size <= 2 * regsize)
567+ return nloc_intregpair;
568+#if 0
569+ /* there should be some way to know this location... But I do not see it. */
570+ *locp = loc_aggregate;
571+ return nloc_aggregate;
572+#endif
573+ /* fall through. */
574+ }
575+ }
576+
577+ /* XXX We don't have a good way to return specific errors from ebl calls.
578+ This value means we do not understand the type, but it is well-formed
579+ DWARF and might be valid. */
580+ return -2;
581+}
582+
583+int
584+parisc_return_value_location_32 (Dwarf_Die *functypedie, const Dwarf_Op **locp)
585+{
586+ return parisc_return_value_location_ (functypedie, locp, 0);
587+}
588+
589+int
590+parisc_return_value_location_64 (Dwarf_Die *functypedie, const Dwarf_Op **locp)
591+{
592+ return parisc_return_value_location_ (functypedie, locp, 1);
593+}
594+
595Index: elfutils-0.146/backends/parisc_symbol.c
596===================================================================
597--- /dev/null 1970-01-01 00:00:00.000000000 +0000
598+++ elfutils-0.146/backends/parisc_symbol.c 2010-04-24 10:10:50.000000000 +0000
599@@ -0,0 +1,112 @@
600+/* PA-RISC specific symbolic name handling.
601+ Copyright (C) 2002, 2005 Red Hat, Inc.
602+ This file is part of Red Hat elfutils.
603+ Written by Ulrich Drepper <drepper@redhat.com>, 2002.
604+
605+ Red Hat elfutils is free software; you can redistribute it and/or modify
606+ it under the terms of the GNU General Public License as published by the
607+ Free Software Foundation; version 2 of the License.
608+
609+ Red Hat elfutils is distributed in the hope that it will be useful, but
610+ WITHOUT ANY WARRANTY; without even the implied warranty of
611+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
612+ General Public License for more details.
613+
614+ You should have received a copy of the GNU General Public License along
615+ with Red Hat elfutils; if not, write to the Free Software Foundation,
616+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
617+
618+ Red Hat elfutils is an included package of the Open Invention Network.
619+ An included package of the Open Invention Network is a package for which
620+ Open Invention Network licensees cross-license their patents. No patent
621+ license is granted, either expressly or impliedly, by designation as an
622+ included package. Should you wish to participate in the Open Invention
623+ Network licensing program, please visit www.openinventionnetwork.com
624+ <http://www.openinventionnetwork.com>. */
625+
626+#ifdef HAVE_CONFIG_H
627+# include <config.h>
628+#endif
629+
630+#include <elf.h>
631+#include <stddef.h>
632+
633+#define BACKEND parisc_
634+#include "libebl_CPU.h"
635+
636+const char *
637+parisc_segment_type_name (int segment, char *buf __attribute__ ((unused)),
638+ size_t len __attribute__ ((unused)))
639+{
640+ switch (segment)
641+ {
642+ case PT_PARISC_ARCHEXT:
643+ return "PARISC_ARCHEXT";
644+ case PT_PARISC_UNWIND:
645+ return "PARISC_UNWIND";
646+ default:
647+ break;
648+ }
649+ return NULL;
650+}
651+
652+/* Return symbolic representation of symbol type. */
653+const char *
654+parisc_symbol_type_name(int symbol, char *buf __attribute__ ((unused)),
655+ size_t len __attribute__ ((unused)))
656+{
657+ if (symbol == STT_PARISC_MILLICODE)
658+ return "PARISC_MILLI";
659+ return NULL;
660+}
661+
662+/* Return symbolic representation of section type. */
663+const char *
664+parisc_section_type_name (int type,
665+ char *buf __attribute__ ((unused)),
666+ size_t len __attribute__ ((unused)))
667+{
668+ switch (type)
669+ {
670+ case SHT_PARISC_EXT:
671+ return "PARISC_EXT";
672+ case SHT_PARISC_UNWIND:
673+ return "PARISC_UNWIND";
674+ case SHT_PARISC_DOC:
675+ return "PARISC_DOC";
676+ }
677+
678+ return NULL;
679+}
680+
681+/* Check whether machine flags are valid. */
682+bool
683+parisc_machine_flag_check (GElf_Word flags)
684+{
685+ if (flags &~ (EF_PARISC_TRAPNIL | EF_PARISC_EXT | EF_PARISC_LSB |
686+ EF_PARISC_WIDE | EF_PARISC_NO_KABP |
687+ EF_PARISC_LAZYSWAP | EF_PARISC_ARCH))
688+ return 0;
689+
690+ GElf_Word arch = flags & EF_PARISC_ARCH;
691+
692+ return ((arch == EFA_PARISC_1_0) || (arch == EFA_PARISC_1_1) ||
693+ (arch == EFA_PARISC_2_0));
694+}
695+
696+/* Check for the simple reloc types. */
697+Elf_Type
698+parisc_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type)
699+{
700+ switch (type)
701+ {
702+ case R_PARISC_DIR64:
703+ case R_PARISC_SECREL64:
704+ return ELF_T_XWORD;
705+ case R_PARISC_DIR32:
706+ case R_PARISC_SECREL32:
707+ return ELF_T_WORD;
708+ default:
709+ return ELF_T_NUM;
710+ }
711+}
712Index: elfutils-0.146/backends/libebl_parisc.h
713===================================================================
714--- /dev/null 1970-01-01 00:00:00.000000000 +0000
715+++ elfutils-0.146/backends/libebl_parisc.h 2010-04-24 10:10:50.000000000 +0000
716@@ -0,0 +1,9 @@
717+#ifndef _LIBEBL_HPPA_H
718+#define _LIBEBL_HPPA_H 1
719+
720+#include <libdw.h>
721+
722+extern int parisc_return_value_location_32(Dwarf_Die *, const Dwarf_Op **locp);
723+extern int parisc_return_value_location_64(Dwarf_Die *, const Dwarf_Op **locp);
724+
725+#endif
726Index: elfutils-0.146/backends/Makefile.am
727===================================================================
728--- elfutils-0.146.orig/backends/Makefile.am 2010-04-24 10:10:41.000000000 +0000
729+++ elfutils-0.146/backends/Makefile.am 2010-04-24 10:10:50.000000000 +0000
730@@ -29,11 +29,11 @@
731 -I$(top_srcdir)/libelf -I$(top_srcdir)/libdw
732
733
734-modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390
735+modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 parisc
736 libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \
737 libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \
738 libebl_sparc_pic.a libebl_ppc_pic.a libebl_ppc64_pic.a \
739- libebl_s390_pic.a
740+ libebl_s390_pic.a libebl_parisc_pic.a
741 noinst_LIBRARIES = $(libebl_pic)
742 noinst_DATA = $(libebl_pic:_pic.a=.so)
743
744@@ -95,6 +95,9 @@
745 libebl_s390_pic_a_SOURCES = $(s390_SRCS)
746 am_libebl_s390_pic_a_OBJECTS = $(s390_SRCS:.c=.os)
747
748+parisc_SRCS = parisc_init.c parisc_symbol.c parisc_regs.c parisc_retval.c
749+libebl_parisc_pic_a_SOURCES = $(parisc_SRCS)
750+am_libebl_parisc_pic_a_OBJECTS = $(parisc_SRCS:.c=.os)
751
752 libebl_%.so libebl_%.map: libebl_%_pic.a $(libelf) $(libdw)
753 @rm -f $(@:.so=.map)
754Index: elfutils-0.146/libelf/elf.h
755===================================================================
756--- elfutils-0.146.orig/libelf/elf.h 2010-04-13 20:08:02.000000000 +0000
757+++ elfutils-0.146/libelf/elf.h 2010-04-24 10:10:50.000000000 +0000
758@@ -1789,16 +1789,24 @@
759 #define R_PARISC_PCREL17F 12 /* 17 bits of rel. address. */
760 #define R_PARISC_PCREL14R 14 /* Right 14 bits of rel. address. */
761 #define R_PARISC_DPREL21L 18 /* Left 21 bits of rel. address. */
762+#define R_PARISC_DPREL14WR 19
763+#define R_PARISC_DPREL14DR 20
764 #define R_PARISC_DPREL14R 22 /* Right 14 bits of rel. address. */
765 #define R_PARISC_GPREL21L 26 /* GP-relative, left 21 bits. */
766 #define R_PARISC_GPREL14R 30 /* GP-relative, right 14 bits. */
767 #define R_PARISC_LTOFF21L 34 /* LT-relative, left 21 bits. */
768 #define R_PARISC_LTOFF14R 38 /* LT-relative, right 14 bits. */
769+#define R_PARISC_DLTIND14F 39
770+#define R_PARISC_SETBASE 40
771 #define R_PARISC_SECREL32 41 /* 32 bits section rel. address. */
772+#define R_PARISC_BASEREL21L 42
773+#define R_PARISC_BASEREL17R 43
774+#define R_PARISC_BASEREL14R 46
775 #define R_PARISC_SEGBASE 48 /* No relocation, set segment base. */
776 #define R_PARISC_SEGREL32 49 /* 32 bits segment rel. address. */
777 #define R_PARISC_PLTOFF21L 50 /* PLT rel. address, left 21 bits. */
778 #define R_PARISC_PLTOFF14R 54 /* PLT rel. address, right 14 bits. */
779+#define R_PARISC_PLTOFF14F 55
780 #define R_PARISC_LTOFF_FPTR32 57 /* 32 bits LT-rel. function pointer. */
781 #define R_PARISC_LTOFF_FPTR21L 58 /* LT-rel. fct ptr, left 21 bits. */
782 #define R_PARISC_LTOFF_FPTR14R 62 /* LT-rel. fct ptr, right 14 bits. */
783@@ -1807,6 +1815,7 @@
784 #define R_PARISC_PLABEL21L 66 /* Left 21 bits of fdesc address. */
785 #define R_PARISC_PLABEL14R 70 /* Right 14 bits of fdesc address. */
786 #define R_PARISC_PCREL64 72 /* 64 bits PC-rel. address. */
787+#define R_PARISC_PCREL22C 73
788 #define R_PARISC_PCREL22F 74 /* 22 bits PC-rel. address. */
789 #define R_PARISC_PCREL14WR 75 /* PC-rel. address, right 14 bits. */
790 #define R_PARISC_PCREL14DR 76 /* PC rel. address, right 14 bits. */
791@@ -1832,6 +1841,8 @@
792 #define R_PARISC_LTOFF16WF 102 /* 16 bits LT-rel. address. */
793 #define R_PARISC_LTOFF16DF 103 /* 16 bits LT-rel. address. */
794 #define R_PARISC_SECREL64 104 /* 64 bits section rel. address. */
795+#define R_PARISC_BASEREL14WR 107
796+#define R_PARISC_BASEREL14DR 108
797 #define R_PARISC_SEGREL64 112 /* 64 bits segment rel. address. */
798 #define R_PARISC_PLTOFF14WR 115 /* PLT-rel. address, right 14 bits. */
799 #define R_PARISC_PLTOFF14DR 116 /* PLT-rel. address, right 14 bits. */
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.148/i386_dis.h b/meta/recipes-devtools/elfutils/elfutils-0.148/i386_dis.h
new file mode 100644
index 0000000000..a5cc01f919
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils-0.148/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.148/m68k_backend.diff b/meta/recipes-devtools/elfutils/elfutils-0.148/m68k_backend.diff
new file mode 100644
index 0000000000..4eb70baf7d
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils-0.148/m68k_backend.diff
@@ -0,0 +1,307 @@
1Index: elfutils-0.146/backends/m68k_init.c
2===================================================================
3--- /dev/null 1970-01-01 00:00:00.000000000 +0000
4+++ elfutils-0.146/backends/m68k_init.c 2010-04-24 10:11:38.000000000 +0000
5@@ -0,0 +1,49 @@
6+/* Initialization of m68k specific backend library.
7+ Copyright (C) 2007 Kurt Roeckx <kurt@roeckx.be>
8+
9+ This software is free software; you can redistribute it and/or modify
10+ it under the terms of the GNU General Public License as published by the
11+ Free Software Foundation; version 2 of the License.
12+
13+ This softare is distributed in the hope that it will be useful, but
14+ WITHOUT ANY WARRANTY; without even the implied warranty of
15+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16+ General Public License for more details.
17+
18+ You should have received a copy of the GNU General Public License along
19+ with this software; if not, write to the Free Software Foundation,
20+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
21+
22+*/
23+
24+#ifdef HAVE_CONFIG_H
25+# include <config.h>
26+#endif
27+
28+#define BACKEND m68k_
29+#define RELOC_PREFIX R_68K_
30+#include "libebl_CPU.h"
31+
32+/* This defines the common reloc hooks based on m68k_reloc.def. */
33+#include "common-reloc.c"
34+
35+
36+const char *
37+m68k_init (elf, machine, eh, ehlen)
38+ Elf *elf __attribute__ ((unused));
39+ GElf_Half machine __attribute__ ((unused));
40+ Ebl *eh;
41+ size_t ehlen;
42+{
43+ /* Check whether the Elf_BH object has a sufficent size. */
44+ if (ehlen < sizeof (Ebl))
45+ return NULL;
46+
47+ /* We handle it. */
48+ eh->name = "m68k";
49+ m68k_init_reloc (eh);
50+ HOOK (eh, reloc_simple_type);
51+ HOOK (eh, register_info);
52+
53+ return MODVERSION;
54+}
55Index: elfutils-0.146/backends/m68k_regs.c
56===================================================================
57--- /dev/null 1970-01-01 00:00:00.000000000 +0000
58+++ elfutils-0.146/backends/m68k_regs.c 2010-04-24 10:11:38.000000000 +0000
59@@ -0,0 +1,106 @@
60+/* Register names and numbers for m68k DWARF.
61+ Copyright (C) 2007 Kurt Roeckx <kurt@roeckx.be>
62+
63+ This software is free software; you can redistribute it and/or modify
64+ it under the terms of the GNU General Public License as published by the
65+ Free Software Foundation; version 2 of the License.
66+
67+ This software is distributed in the hope that it will be useful, but
68+ WITHOUT ANY WARRANTY; without even the implied warranty of
69+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
70+ General Public License for more details.
71+
72+ You should have received a copy of the GNU General Public License along
73+ with this software; if not, write to the Free Software Foundation,
74+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
75+
76+ */
77+
78+#ifdef HAVE_CONFIG_H
79+# include <config.h>
80+#endif
81+
82+#include <string.h>
83+#include <dwarf.h>
84+
85+#define BACKEND m68k_
86+#include "libebl_CPU.h"
87+
88+ssize_t
89+m68k_register_info (Ebl *ebl __attribute__ ((unused)),
90+ int regno, char *name, size_t namelen,
91+ const char **prefix, const char **setname,
92+ int *bits, int *type)
93+{
94+ if (name == NULL)
95+ return 25;
96+
97+ if (regno < 0 || regno > 24 || namelen < 5)
98+ return -1;
99+
100+ *prefix = "%";
101+ *bits = 32;
102+ *type = (regno < 8 ? DW_ATE_signed
103+ : regno < 16 ? DW_ATE_address : DW_ATE_float);
104+
105+ if (regno < 8)
106+ {
107+ *setname = "integer";
108+ }
109+ else if (regno < 16)
110+ {
111+ *setname = "address";
112+ }
113+ else if (regno < 24)
114+ {
115+ *setname = "FPU";
116+ }
117+ else
118+ {
119+ *setname = "address";
120+ *type = DW_ATE_address;
121+ }
122+
123+ switch (regno)
124+ {
125+ case 0 ... 7:
126+ name[0] = 'd';
127+ name[1] = regno + '0';
128+ namelen = 2;
129+ break;
130+
131+ case 8 ... 13:
132+ name[0] = 'a';
133+ name[1] = regno - 8 + '0';
134+ namelen = 2;
135+ break;
136+
137+ case 14:
138+ name[0] = 'f';
139+ name[1] = 'p';
140+ namelen = 2;
141+ break;
142+
143+ case 15:
144+ name[0] = 's';
145+ name[1] = 'p';
146+ namelen = 2;
147+ break;
148+
149+ case 16 ... 23:
150+ name[0] = 'f';
151+ name[1] = 'p';
152+ name[2] = regno - 16 + '0';
153+ namelen = 3;
154+ break;
155+
156+ case 24:
157+ name[0] = 'p';
158+ name[1] = 'c';
159+ namelen = 2;
160+ }
161+
162+ name[namelen++] = '\0';
163+ return namelen;
164+}
165+
166Index: elfutils-0.146/backends/m68k_reloc.def
167===================================================================
168--- /dev/null 1970-01-01 00:00:00.000000000 +0000
169+++ elfutils-0.146/backends/m68k_reloc.def 2010-04-24 10:11:38.000000000 +0000
170@@ -0,0 +1,45 @@
171+/* List the relocation types for m68k. -*- C -*-
172+ Copyright (C) 2007 Kurt Roeckx <kurt@roeckx.be>
173+
174+ This software is free software; you can redistribute it and/or modify
175+ it under the terms of the GNU General Public License as published by the
176+ Free Software Foundation; version 2 of the License.
177+
178+ This software is distributed in the hope that it will be useful, but
179+ WITHOUT ANY WARRANTY; without even the implied warranty of
180+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
181+ General Public License for more details.
182+
183+ You should have received a copy of the GNU General Public License along
184+ with this software; if not, write to the Free Software Foundation,
185+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
186+*/
187+
188+/* NAME, REL|EXEC|DYN */
189+
190+RELOC_TYPE (NONE, 0)
191+RELOC_TYPE (32, REL|EXEC|DYN)
192+RELOC_TYPE (16, REL)
193+RELOC_TYPE (8, REL)
194+RELOC_TYPE (PC32, REL|EXEC|DYN)
195+RELOC_TYPE (PC16, REL)
196+RELOC_TYPE (PC8, REL)
197+RELOC_TYPE (GOT32, REL)
198+RELOC_TYPE (GOT16, REL)
199+RELOC_TYPE (GOT8, REL)
200+RELOC_TYPE (GOT32O, REL)
201+RELOC_TYPE (GOT16O, REL)
202+RELOC_TYPE (GOT8O, REL)
203+RELOC_TYPE (PLT32, REL)
204+RELOC_TYPE (PLT16, REL)
205+RELOC_TYPE (PLT8, REL)
206+RELOC_TYPE (PLT32O, REL)
207+RELOC_TYPE (PLT16O, REL)
208+RELOC_TYPE (PLT8O, REL)
209+RELOC_TYPE (COPY, EXEC)
210+RELOC_TYPE (GLOB_DAT, EXEC|DYN)
211+RELOC_TYPE (JMP_SLOT, EXEC|DYN)
212+RELOC_TYPE (RELATIVE, EXEC|DYN)
213+RELOC_TYPE (GNU_VTINHERIT, REL)
214+RELOC_TYPE (GNU_VTENTRY, REL)
215+
216Index: elfutils-0.146/libelf/elf.h
217===================================================================
218--- elfutils-0.146.orig/libelf/elf.h 2010-04-24 10:11:13.000000000 +0000
219+++ elfutils-0.146/libelf/elf.h 2010-04-24 10:13:50.000000000 +0000
220@@ -1125,6 +1125,9 @@
221 #define R_68K_GLOB_DAT 20 /* Create GOT entry */
222 #define R_68K_JMP_SLOT 21 /* Create PLT entry */
223 #define R_68K_RELATIVE 22 /* Adjust by program base */
224+/* The next 2 are GNU extensions to enable C++ vtable garbage collection. */
225+#define R_68K_GNU_VTINHERIT 23
226+#define R_68K_GNU_VTENTRY 24
227 #define R_68K_TLS_GD32 25 /* 32 bit GOT offset for GD */
228 #define R_68K_TLS_GD16 26 /* 16 bit GOT offset for GD */
229 #define R_68K_TLS_GD8 27 /* 8 bit GOT offset for GD */
230Index: elfutils-0.146/backends/Makefile.am
231===================================================================
232--- elfutils-0.146.orig/backends/Makefile.am 2010-04-24 10:11:23.000000000 +0000
233+++ elfutils-0.146/backends/Makefile.am 2010-04-24 10:11:38.000000000 +0000
234@@ -29,11 +29,12 @@
235 -I$(top_srcdir)/libelf -I$(top_srcdir)/libdw
236
237
238-modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 parisc mips
239+modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 parisc mips m68k
240 libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \
241 libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \
242 libebl_sparc_pic.a libebl_ppc_pic.a libebl_ppc64_pic.a \
243- libebl_s390_pic.a libebl_parisc_pic.a libebl_mips_pic.a
244+ libebl_s390_pic.a libebl_parisc_pic.a libebl_mips_pic.a \
245+ libebl_m68k_pic.a
246 noinst_LIBRARIES = $(libebl_pic)
247 noinst_DATA = $(libebl_pic:_pic.a=.so)
248
249@@ -103,6 +104,10 @@
250 libebl_mips_pic_a_SOURCES = $(mips_SRCS)
251 am_libebl_mips_pic_a_OBJECTS = $(mips_SRCS:.c=.os)
252
253+m68k_SRCS = m68k_init.c m68k_symbol.c m68k_regs.c
254+libebl_m68k_pic_a_SOURCES = $(m68k_SRCS)
255+am_libebl_m68k_pic_a_OBJECTS = $(m68k_SRCS:.c=.os)
256+
257 libebl_%.so libebl_%.map: libebl_%_pic.a $(libelf) $(libdw)
258 @rm -f $(@:.so=.map)
259 echo 'ELFUTILS_$(PACKAGE_VERSION) { global: $*_init; local: *; };' \
260Index: elfutils-0.146/backends/m68k_symbol.c
261===================================================================
262--- /dev/null 1970-01-01 00:00:00.000000000 +0000
263+++ elfutils-0.146/backends/m68k_symbol.c 2010-04-24 10:11:38.000000000 +0000
264@@ -0,0 +1,43 @@
265+/* m68k specific symbolic name handling.
266+ Copyright (C) 2007 Kurt Roeckx <kurt@roeckx.be>
267+
268+ This software is free software; you can redistribute it and/or modify
269+ it under the terms of the GNU General Public License as published by the
270+ Free Software Foundation; version 2 of the License.
271+
272+ This software distributed in the hope that it will be useful, but
273+ WITHOUT ANY WARRANTY; without even the implied warranty of
274+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
275+ General Public License for more details.
276+
277+ You should have received a copy of the GNU General Public License along
278+ with this software; if not, write to the Free Software Foundation,
279+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
280+*/
281+
282+#ifdef HAVE_CONFIG_H
283+# include <config.h>
284+#endif
285+
286+#include <elf.h>
287+#include <stddef.h>
288+
289+#define BACKEND m68k_
290+#include "libebl_CPU.h"
291+
292+/* Check for the simple reloc types. */
293+Elf_Type
294+m68k_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type)
295+{
296+ switch (type)
297+ {
298+ case R_68K_32:
299+ return ELF_T_SWORD;
300+ case R_68K_16:
301+ return ELF_T_HALF;
302+ case R_68K_8:
303+ return ELF_T_BYTE;
304+ default:
305+ return ELF_T_NUM;
306+ }
307+}
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.148/mips_backend.diff b/meta/recipes-devtools/elfutils/elfutils-0.148/mips_backend.diff
new file mode 100644
index 0000000000..ffdff90768
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils-0.148/mips_backend.diff
@@ -0,0 +1,711 @@
1Index: elfutils-0.145/backends/mips_init.c
2===================================================================
3--- /dev/null 1970-01-01 00:00:00.000000000 +0000
4+++ elfutils-0.145/backends/mips_init.c 2010-02-24 18:57:35.000000000 +0000
5@@ -0,0 +1,60 @@
6+/* Initialization of mips specific backend library.
7+ Copyright (C) 2006 Red Hat, Inc.
8+ This file is part of Red Hat elfutils.
9+
10+ Red Hat elfutils is free software; you can redistribute it and/or modify
11+ it under the terms of the GNU General Public License as published by the
12+ Free Software Foundation; version 2 of the License.
13+
14+ Red Hat elfutils is distributed in the hope that it will be useful, but
15+ WITHOUT ANY WARRANTY; without even the implied warranty of
16+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17+ General Public License for more details.
18+
19+ You should have received a copy of the GNU General Public License along
20+ with Red Hat elfutils; if not, write to the Free Software Foundation,
21+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
22+
23+ Red Hat elfutils is an included package of the Open Invention Network.
24+ An included package of the Open Invention Network is a package for which
25+ Open Invention Network licensees cross-license their patents. No patent
26+ license is granted, either expressly or impliedly, by designation as an
27+ included package. Should you wish to participate in the Open Invention
28+ Network licensing program, please visit www.openinventionnetwork.com
29+ <http://www.openinventionnetwork.com>. */
30+
31+#ifdef HAVE_CONFIG_H
32+# include <config.h>
33+#endif
34+
35+#define BACKEND mips_
36+#define RELOC_PREFIX R_MIPS_
37+#include "libebl_CPU.h"
38+
39+/* This defines the common reloc hooks based on mips_reloc.def. */
40+#include "common-reloc.c"
41+
42+const char *
43+mips_init (elf, machine, eh, ehlen)
44+ Elf *elf __attribute__ ((unused));
45+ GElf_Half machine __attribute__ ((unused));
46+ Ebl *eh;
47+ size_t ehlen;
48+{
49+ /* Check whether the Elf_BH object has a sufficent size. */
50+ if (ehlen < sizeof (Ebl))
51+ return NULL;
52+
53+ /* We handle it. */
54+ if (machine == EM_MIPS)
55+ eh->name = "MIPS R3000 big-endian";
56+ else if (machine == EM_MIPS_RS3_LE)
57+ eh->name = "MIPS R3000 little-endian";
58+
59+ mips_init_reloc (eh);
60+ HOOK (eh, reloc_simple_type);
61+ HOOK (eh, return_value_location);
62+ HOOK (eh, register_info);
63+
64+ return MODVERSION;
65+}
66Index: elfutils-0.145/backends/mips_regs.c
67===================================================================
68--- /dev/null 1970-01-01 00:00:00.000000000 +0000
69+++ elfutils-0.145/backends/mips_regs.c 2010-02-24 18:57:35.000000000 +0000
70@@ -0,0 +1,104 @@
71+/* Register names and numbers for MIPS DWARF.
72+ Copyright (C) 2006 Red Hat, Inc.
73+ This file is part of Red Hat elfutils.
74+
75+ Red Hat elfutils is free software; you can redistribute it and/or modify
76+ it under the terms of the GNU General Public License as published by the
77+ Free Software Foundation; version 2 of the License.
78+
79+ Red Hat elfutils is distributed in the hope that it will be useful, but
80+ WITHOUT ANY WARRANTY; without even the implied warranty of
81+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
82+ General Public License for more details.
83+
84+ You should have received a copy of the GNU General Public License along
85+ with Red Hat elfutils; if not, write to the Free Software Foundation,
86+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
87+
88+ Red Hat elfutils is an included package of the Open Invention Network.
89+ An included package of the Open Invention Network is a package for which
90+ Open Invention Network licensees cross-license their patents. No patent
91+ license is granted, either expressly or impliedly, by designation as an
92+ included package. Should you wish to participate in the Open Invention
93+ Network licensing program, please visit www.openinventionnetwork.com
94+ <http://www.openinventionnetwork.com>. */
95+
96+#ifdef HAVE_CONFIG_H
97+# include <config.h>
98+#endif
99+
100+#include <string.h>
101+#include <dwarf.h>
102+
103+#define BACKEND mips_
104+#include "libebl_CPU.h"
105+
106+ssize_t
107+mips_register_info (Ebl *ebl __attribute__((unused)),
108+ int regno, char *name, size_t namelen,
109+ const char **prefix, const char **setname,
110+ int *bits, int *type)
111+{
112+ if (name == NULL)
113+ return 66;
114+
115+ if (regno < 0 || regno > 65 || namelen < 4)
116+ return -1;
117+
118+ *prefix = "$";
119+
120+ if (regno < 32)
121+ {
122+ *setname = "integer";
123+ *type = DW_ATE_signed;
124+ *bits = 32;
125+ if (regno < 32 + 10)
126+ {
127+ name[0] = regno + '0';
128+ namelen = 1;
129+ }
130+ else
131+ {
132+ name[0] = (regno / 10) + '0';
133+ name[1] = (regno % 10) + '0';
134+ namelen = 2;
135+ }
136+ }
137+ else if (regno < 64)
138+ {
139+ *setname = "FPU";
140+ *type = DW_ATE_float;
141+ *bits = 32;
142+ name[0] = 'f';
143+ if (regno < 32 + 10)
144+ {
145+ name[1] = (regno - 32) + '0';
146+ namelen = 2;
147+ }
148+ else
149+ {
150+ name[1] = (regno - 32) / 10 + '0';
151+ name[2] = (regno - 32) % 10 + '0';
152+ namelen = 3;
153+ }
154+ }
155+ else if (regno == 64)
156+ {
157+ *type = DW_ATE_signed;
158+ *bits = 32;
159+ name[0] = 'h';
160+ name[1] = 'i';
161+ namelen = 2;
162+ }
163+ else
164+ {
165+ *type = DW_ATE_signed;
166+ *bits = 32;
167+ name[0] = 'l';
168+ name[1] = 'o';
169+ namelen = 2;
170+ }
171+
172+ name[namelen++] = '\0';
173+ return namelen;
174+}
175Index: elfutils-0.145/backends/mips_reloc.def
176===================================================================
177--- /dev/null 1970-01-01 00:00:00.000000000 +0000
178+++ elfutils-0.145/backends/mips_reloc.def 2010-02-24 18:57:35.000000000 +0000
179@@ -0,0 +1,79 @@
180+/* List the relocation types for mips. -*- C -*-
181+ Copyright (C) 2006 Red Hat, Inc.
182+ This file is part of Red Hat elfutils.
183+
184+ Red Hat elfutils is free software; you can redistribute it and/or modify
185+ it under the terms of the GNU General Public License as published by the
186+ Free Software Foundation; version 2 of the License.
187+
188+ Red Hat elfutils is distributed in the hope that it will be useful, but
189+ WITHOUT ANY WARRANTY; without even the implied warranty of
190+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
191+ General Public License for more details.
192+
193+ You should have received a copy of the GNU General Public License along
194+ with Red Hat elfutils; if not, write to the Free Software Foundation,
195+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
196+
197+ Red Hat elfutils is an included package of the Open Invention Network.
198+ An included package of the Open Invention Network is a package for which
199+ Open Invention Network licensees cross-license their patents. No patent
200+ license is granted, either expressly or impliedly, by designation as an
201+ included package. Should you wish to participate in the Open Invention
202+ Network licensing program, please visit www.openinventionnetwork.com
203+ <http://www.openinventionnetwork.com>. */
204+
205+/* NAME, REL|EXEC|DYN */
206+
207+RELOC_TYPE (NONE, 0)
208+RELOC_TYPE (16, 0)
209+RELOC_TYPE (32, 0)
210+RELOC_TYPE (REL32, 0)
211+RELOC_TYPE (26, 0)
212+RELOC_TYPE (HI16, 0)
213+RELOC_TYPE (LO16, 0)
214+RELOC_TYPE (GPREL16, 0)
215+RELOC_TYPE (LITERAL, 0)
216+RELOC_TYPE (GOT16, 0)
217+RELOC_TYPE (PC16, 0)
218+RELOC_TYPE (CALL16, 0)
219+RELOC_TYPE (GPREL32, 0)
220+
221+RELOC_TYPE (SHIFT5, 0)
222+RELOC_TYPE (SHIFT6, 0)
223+RELOC_TYPE (64, 0)
224+RELOC_TYPE (GOT_DISP, 0)
225+RELOC_TYPE (GOT_PAGE, 0)
226+RELOC_TYPE (GOT_OFST, 0)
227+RELOC_TYPE (GOT_HI16, 0)
228+RELOC_TYPE (GOT_LO16, 0)
229+RELOC_TYPE (SUB, 0)
230+RELOC_TYPE (INSERT_A, 0)
231+RELOC_TYPE (INSERT_B, 0)
232+RELOC_TYPE (DELETE, 0)
233+RELOC_TYPE (HIGHER, 0)
234+RELOC_TYPE (HIGHEST, 0)
235+RELOC_TYPE (CALL_HI16, 0)
236+RELOC_TYPE (CALL_LO16, 0)
237+RELOC_TYPE (SCN_DISP, 0)
238+RELOC_TYPE (REL16, 0)
239+RELOC_TYPE (ADD_IMMEDIATE, 0)
240+RELOC_TYPE (PJUMP, 0)
241+RELOC_TYPE (RELGOT, 0)
242+RELOC_TYPE (JALR, 0)
243+RELOC_TYPE (TLS_DTPMOD32, 0)
244+RELOC_TYPE (TLS_DTPREL32, 0)
245+RELOC_TYPE (TLS_DTPMOD64, 0)
246+RELOC_TYPE (TLS_DTPREL64, 0)
247+RELOC_TYPE (TLS_GD, 0)
248+RELOC_TYPE (TLS_LDM, 0)
249+RELOC_TYPE (TLS_DTPREL_HI16, 0)
250+RELOC_TYPE (TLS_DTPREL_LO16, 0)
251+RELOC_TYPE (TLS_GOTTPREL, 0)
252+RELOC_TYPE (TLS_TPREL32, 0)
253+RELOC_TYPE (TLS_TPREL64, 0)
254+RELOC_TYPE (TLS_TPREL_HI16, 0)
255+RELOC_TYPE (TLS_TPREL_LO16, 0)
256+
257+#define NO_COPY_RELOC 1
258+#define NO_RELATIVE_RELOC 1
259Index: elfutils-0.145/backends/mips_retval.c
260===================================================================
261--- /dev/null 1970-01-01 00:00:00.000000000 +0000
262+++ elfutils-0.145/backends/mips_retval.c 2010-02-24 18:57:35.000000000 +0000
263@@ -0,0 +1,321 @@
264+/* Function return value location for Linux/mips ABI.
265+ Copyright (C) 2005 Red Hat, Inc.
266+ This file is part of Red Hat elfutils.
267+
268+ Red Hat elfutils is free software; you can redistribute it and/or modify
269+ it under the terms of the GNU General Public License as published by the
270+ Free Software Foundation; version 2 of the License.
271+
272+ Red Hat elfutils is distributed in the hope that it will be useful, but
273+ WITHOUT ANY WARRANTY; without even the implied warranty of
274+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
275+ General Public License for more details.
276+
277+ You should have received a copy of the GNU General Public License along
278+ with Red Hat elfutils; if not, write to the Free Software Foundation,
279+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
280+
281+ Red Hat elfutils is an included package of the Open Invention Network.
282+ An included package of the Open Invention Network is a package for which
283+ Open Invention Network licensees cross-license their patents. No patent
284+ license is granted, either expressly or impliedly, by designation as an
285+ included package. Should you wish to participate in the Open Invention
286+ Network licensing program, please visit www.openinventionnetwork.com
287+ <http://www.openinventionnetwork.com>. */
288+
289+#ifdef HAVE_CONFIG_H
290+# include <config.h>
291+#endif
292+
293+#include <string.h>
294+#include <assert.h>
295+#include <dwarf.h>
296+#include <elf.h>
297+
298+#include "../libebl/libeblP.h"
299+#include "../libdw/libdwP.h"
300+
301+#define BACKEND mips_
302+#include "libebl_CPU.h"
303+
304+/* The ABI of the file. Also see EF_MIPS_ABI2 above. */
305+#define EF_MIPS_ABI 0x0000F000
306+
307+/* The original o32 abi. */
308+#define E_MIPS_ABI_O32 0x00001000
309+
310+/* O32 extended to work on 64 bit architectures */
311+#define E_MIPS_ABI_O64 0x00002000
312+
313+/* EABI in 32 bit mode */
314+#define E_MIPS_ABI_EABI32 0x00003000
315+
316+/* EABI in 64 bit mode */
317+#define E_MIPS_ABI_EABI64 0x00004000
318+
319+/* All the possible MIPS ABIs. */
320+enum mips_abi
321+ {
322+ MIPS_ABI_UNKNOWN = 0,
323+ MIPS_ABI_N32,
324+ MIPS_ABI_O32,
325+ MIPS_ABI_N64,
326+ MIPS_ABI_O64,
327+ MIPS_ABI_EABI32,
328+ MIPS_ABI_EABI64,
329+ MIPS_ABI_LAST
330+ };
331+
332+/* Find the mips ABI of the current file */
333+enum mips_abi find_mips_abi(Elf *elf)
334+{
335+ GElf_Ehdr ehdr_mem;
336+ GElf_Ehdr *ehdr = gelf_getehdr (elf, &ehdr_mem);
337+
338+ if (ehdr == NULL)
339+ return MIPS_ABI_LAST;
340+
341+ GElf_Word elf_flags = ehdr->e_flags;
342+
343+ /* Check elf_flags to see if it specifies the ABI being used. */
344+ switch ((elf_flags & EF_MIPS_ABI))
345+ {
346+ case E_MIPS_ABI_O32:
347+ return MIPS_ABI_O32;
348+ case E_MIPS_ABI_O64:
349+ return MIPS_ABI_O64;
350+ case E_MIPS_ABI_EABI32:
351+ return MIPS_ABI_EABI32;
352+ case E_MIPS_ABI_EABI64:
353+ return MIPS_ABI_EABI64;
354+ default:
355+ if ((elf_flags & EF_MIPS_ABI2))
356+ return MIPS_ABI_N32;
357+ }
358+
359+ /* GCC creates a pseudo-section whose name describes the ABI. */
360+ size_t shstrndx;
361+ if (elf_getshdrstrndx (elf, &shstrndx) < 0)
362+ return MIPS_ABI_LAST;
363+
364+ const char *name;
365+ Elf_Scn *scn = NULL;
366+ while ((scn = elf_nextscn (elf, scn)) != NULL)
367+ {
368+ GElf_Shdr shdr_mem;
369+ GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
370+ if (shdr == NULL)
371+ return MIPS_ABI_LAST;
372+
373+ name = elf_strptr (elf, shstrndx, shdr->sh_name) ?: "";
374+ if (strncmp (name, ".mdebug.", 8) != 0)
375+ continue;
376+
377+ if (strcmp (name, ".mdebug.abi32") == 0)
378+ return MIPS_ABI_O32;
379+ else if (strcmp (name, ".mdebug.abiN32") == 0)
380+ return MIPS_ABI_N32;
381+ else if (strcmp (name, ".mdebug.abi64") == 0)
382+ return MIPS_ABI_N64;
383+ else if (strcmp (name, ".mdebug.abiO64") == 0)
384+ return MIPS_ABI_O64;
385+ else if (strcmp (name, ".mdebug.eabi32") == 0)
386+ return MIPS_ABI_EABI32;
387+ else if (strcmp (name, ".mdebug.eabi64") == 0)
388+ return MIPS_ABI_EABI64;
389+ else
390+ return MIPS_ABI_UNKNOWN;
391+ }
392+
393+ return MIPS_ABI_UNKNOWN;
394+}
395+
396+unsigned int
397+mips_abi_regsize (enum mips_abi abi)
398+{
399+ switch (abi)
400+ {
401+ case MIPS_ABI_EABI32:
402+ case MIPS_ABI_O32:
403+ return 4;
404+ case MIPS_ABI_N32:
405+ case MIPS_ABI_N64:
406+ case MIPS_ABI_O64:
407+ case MIPS_ABI_EABI64:
408+ return 8;
409+ case MIPS_ABI_UNKNOWN:
410+ case MIPS_ABI_LAST:
411+ default:
412+ return 0;
413+ }
414+}
415+
416+
417+/* $v0 or pair $v0, $v1 */
418+static const Dwarf_Op loc_intreg_o32[] =
419+ {
420+ { .atom = DW_OP_reg2 }, { .atom = DW_OP_piece, .number = 4 },
421+ { .atom = DW_OP_reg3 }, { .atom = DW_OP_piece, .number = 4 },
422+ };
423+
424+static const Dwarf_Op loc_intreg[] =
425+ {
426+ { .atom = DW_OP_reg2 }, { .atom = DW_OP_piece, .number = 8 },
427+ { .atom = DW_OP_reg3 }, { .atom = DW_OP_piece, .number = 8 },
428+ };
429+#define nloc_intreg 1
430+#define nloc_intregpair 4
431+
432+/* $f0 (float), or pair $f0, $f1 (double).
433+ * f2/f3 are used for COMPLEX (= 2 doubles) returns in Fortran */
434+static const Dwarf_Op loc_fpreg_o32[] =
435+ {
436+ { .atom = DW_OP_regx, .number = 32 }, { .atom = DW_OP_piece, .number = 4 },
437+ { .atom = DW_OP_regx, .number = 33 }, { .atom = DW_OP_piece, .number = 4 },
438+ { .atom = DW_OP_regx, .number = 34 }, { .atom = DW_OP_piece, .number = 4 },
439+ { .atom = DW_OP_regx, .number = 35 }, { .atom = DW_OP_piece, .number = 4 },
440+ };
441+
442+/* $f0, or pair $f0, $f2. */
443+static const Dwarf_Op loc_fpreg[] =
444+ {
445+ { .atom = DW_OP_regx, .number = 32 }, { .atom = DW_OP_piece, .number = 8 },
446+ { .atom = DW_OP_regx, .number = 34 }, { .atom = DW_OP_piece, .number = 8 },
447+ };
448+#define nloc_fpreg 1
449+#define nloc_fpregpair 4
450+#define nloc_fpregquad 8
451+
452+/* The return value is a structure and is actually stored in stack space
453+ passed in a hidden argument by the caller. But, the compiler
454+ helpfully returns the address of that space in $v0. */
455+static const Dwarf_Op loc_aggregate[] =
456+ {
457+ { .atom = DW_OP_breg2, .number = 0 }
458+ };
459+#define nloc_aggregate 1
460+
461+int
462+mips_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp)
463+{
464+ /* First find the ABI used by the elf object */
465+ enum mips_abi abi = find_mips_abi(functypedie->cu->dbg->elf);
466+
467+ /* Something went seriously wrong while trying to figure out the ABI */
468+ if (abi == MIPS_ABI_LAST)
469+ return -1;
470+
471+ /* We couldn't identify the ABI, but the file seems valid */
472+ if (abi == MIPS_ABI_UNKNOWN)
473+ return -2;
474+
475+ /* Can't handle EABI variants */
476+ if ((abi == MIPS_ABI_EABI32) || (abi == MIPS_ABI_EABI64))
477+ return -2;
478+
479+ unsigned int regsize = mips_abi_regsize (abi);
480+ if (!regsize)
481+ return -2;
482+
483+ /* Start with the function's type, and get the DW_AT_type attribute,
484+ which is the type of the return value. */
485+
486+ Dwarf_Attribute attr_mem;
487+ Dwarf_Attribute *attr = dwarf_attr_integrate (functypedie, DW_AT_type, &attr_mem);
488+ if (attr == NULL)
489+ /* The function has no return value, like a `void' function in C. */
490+ return 0;
491+
492+ Dwarf_Die die_mem;
493+ Dwarf_Die *typedie = dwarf_formref_die (attr, &die_mem);
494+ int tag = dwarf_tag (typedie);
495+
496+ /* Follow typedefs and qualifiers to get to the actual type. */
497+ while (tag == DW_TAG_typedef
498+ || tag == DW_TAG_const_type || tag == DW_TAG_volatile_type
499+ || tag == DW_TAG_restrict_type || tag == DW_TAG_mutable_type)
500+ {
501+ attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem);
502+ typedie = dwarf_formref_die (attr, &die_mem);
503+ tag = dwarf_tag (typedie);
504+ }
505+
506+ switch (tag)
507+ {
508+ case -1:
509+ return -1;
510+
511+ case DW_TAG_subrange_type:
512+ if (! dwarf_hasattr_integrate (typedie, DW_AT_byte_size))
513+ {
514+ attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem);
515+ typedie = dwarf_formref_die (attr, &die_mem);
516+ tag = dwarf_tag (typedie);
517+ }
518+ /* Fall through. */
519+
520+ case DW_TAG_base_type:
521+ case DW_TAG_enumeration_type:
522+ case DW_TAG_pointer_type:
523+ case DW_TAG_ptr_to_member_type:
524+ {
525+ Dwarf_Word size;
526+ if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_byte_size,
527+ &attr_mem), &size) != 0)
528+ {
529+ if (tag == DW_TAG_pointer_type || tag == DW_TAG_ptr_to_member_type)
530+ size = regsize;
531+ else
532+ return -1;
533+ }
534+ if (tag == DW_TAG_base_type)
535+ {
536+ Dwarf_Word encoding;
537+ if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_encoding,
538+ &attr_mem), &encoding) != 0)
539+ return -1;
540+
541+#define ABI_LOC(loc, regsize) ((regsize) == 4 ? (loc ## _o32) : (loc))
542+
543+ if (encoding == DW_ATE_float)
544+ {
545+ *locp = ABI_LOC(loc_fpreg, regsize);
546+ if (size <= regsize)
547+ return nloc_fpreg;
548+
549+ if (size <= 2*regsize)
550+ return nloc_fpregpair;
551+
552+ if (size <= 4*regsize && abi == MIPS_ABI_O32)
553+ return nloc_fpregquad;
554+
555+ goto aggregate;
556+ }
557+ }
558+ *locp = ABI_LOC(loc_intreg, regsize);
559+ if (size <= regsize)
560+ return nloc_intreg;
561+ if (size <= 2*regsize)
562+ return nloc_intregpair;
563+
564+ /* Else fall through. Shouldn't happen though (at least with gcc) */
565+ }
566+
567+ case DW_TAG_structure_type:
568+ case DW_TAG_class_type:
569+ case DW_TAG_union_type:
570+ case DW_TAG_array_type:
571+ aggregate:
572+ /* XXX TODO: Can't handle structure return with other ABI's yet :-/ */
573+ if ((abi != MIPS_ABI_O32) && (abi != MIPS_ABI_O64))
574+ return -2;
575+
576+ *locp = loc_aggregate;
577+ return nloc_aggregate;
578+ }
579+
580+ /* XXX We don't have a good way to return specific errors from ebl calls.
581+ This value means we do not understand the type, but it is well-formed
582+ DWARF and might be valid. */
583+ return -2;
584+}
585Index: elfutils-0.145/backends/mips_symbol.c
586===================================================================
587--- /dev/null 1970-01-01 00:00:00.000000000 +0000
588+++ elfutils-0.145/backends/mips_symbol.c 2010-02-24 18:57:35.000000000 +0000
589@@ -0,0 +1,52 @@
590+/* MIPS specific symbolic name handling.
591+ Copyright (C) 2002, 2003, 2005 Red Hat, Inc.
592+ This file is part of Red Hat elfutils.
593+ Written by Jakub Jelinek <jakub@redhat.com>, 2002.
594+
595+ Red Hat elfutils is free software; you can redistribute it and/or modify
596+ it under the terms of the GNU General Public License as published by the
597+ Free Software Foundation; version 2 of the License.
598+
599+ Red Hat elfutils is distributed in the hope that it will be useful, but
600+ WITHOUT ANY WARRANTY; without even the implied warranty of
601+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
602+ General Public License for more details.
603+
604+ You should have received a copy of the GNU General Public License along
605+ with Red Hat elfutils; if not, write to the Free Software Foundation,
606+ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA.
607+
608+ Red Hat elfutils is an included package of the Open Invention Network.
609+ An included package of the Open Invention Network is a package for which
610+ Open Invention Network licensees cross-license their patents. No patent
611+ license is granted, either expressly or impliedly, by designation as an
612+ included package. Should you wish to participate in the Open Invention
613+ Network licensing program, please visit www.openinventionnetwork.com
614+ <http://www.openinventionnetwork.com>. */
615+
616+#ifdef HAVE_CONFIG_H
617+# include <config.h>
618+#endif
619+
620+#include <elf.h>
621+#include <stddef.h>
622+
623+#define BACKEND mips_
624+#include "libebl_CPU.h"
625+
626+/* Check for the simple reloc types. */
627+Elf_Type
628+mips_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type)
629+{
630+ switch (type)
631+ {
632+ case R_MIPS_16:
633+ return ELF_T_HALF;
634+ case R_MIPS_32:
635+ return ELF_T_WORD;
636+ case R_MIPS_64:
637+ return ELF_T_XWORD;
638+ default:
639+ return ELF_T_NUM;
640+ }
641+}
642Index: elfutils-0.145/libebl/eblopenbackend.c
643===================================================================
644--- elfutils-0.145.orig/libebl/eblopenbackend.c 2010-02-24 18:55:51.000000000 +0000
645+++ elfutils-0.145/libebl/eblopenbackend.c 2010-02-24 18:57:35.000000000 +0000
646@@ -91,6 +91,8 @@
647 { "sparc", "elf_sparc", "sparc", 5, EM_SPARC, 0, 0 },
648 { "sparc", "elf_sparcv8plus", "sparc", 5, EM_SPARC32PLUS, 0, 0 },
649 { "s390", "ebl_s390", "s390", 4, EM_S390, 0, 0 },
650+ { "mips", "elf_mips", "mips", 4, EM_MIPS, 0, 0 },
651+ { "mips", "elf_mipsel", "mipsel", 4, EM_MIPS_RS3_LE, 0, 0 },
652
653 { "m32", "elf_m32", "m32", 3, EM_M32, 0, 0 },
654 { "m68k", "elf_m68k", "m68k", 4, EM_68K, 0, 0 },
655Index: elfutils-0.145/backends/common-reloc.c
656===================================================================
657--- elfutils-0.145.orig/backends/common-reloc.c 2010-02-24 18:55:51.000000000 +0000
658+++ elfutils-0.145/backends/common-reloc.c 2010-02-24 18:57:35.000000000 +0000
659@@ -109,11 +109,13 @@
660 }
661
662
663+#ifndef NO_COPY_RELOC
664 bool
665 EBLHOOK(copy_reloc_p) (int reloc)
666 {
667 return reloc == R_TYPE (COPY);
668 }
669+#endif
670
671 bool
672 EBLHOOK(none_reloc_p) (int reloc)
673@@ -135,7 +137,9 @@
674 ebl->reloc_type_name = EBLHOOK(reloc_type_name);
675 ebl->reloc_type_check = EBLHOOK(reloc_type_check);
676 ebl->reloc_valid_use = EBLHOOK(reloc_valid_use);
677+#ifndef NO_COPY_RELOC
678 ebl->copy_reloc_p = EBLHOOK(copy_reloc_p);
679+#endif
680 ebl->none_reloc_p = EBLHOOK(none_reloc_p);
681 #ifndef NO_RELATIVE_RELOC
682 ebl->relative_reloc_p = EBLHOOK(relative_reloc_p);
683Index: elfutils-0.145/backends/Makefile.am
684===================================================================
685--- elfutils-0.145.orig/backends/Makefile.am 2010-02-24 18:57:26.000000000 +0000
686+++ elfutils-0.145/backends/Makefile.am 2010-02-24 18:57:57.000000000 +0000
687@@ -29,11 +29,11 @@
688 -I$(top_srcdir)/libelf -I$(top_srcdir)/libdw
689
690
691-modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 parisc
692+modules = i386 sh x86_64 ia64 alpha arm sparc ppc ppc64 s390 parisc mips
693 libebl_pic = libebl_i386_pic.a libebl_sh_pic.a libebl_x86_64_pic.a \
694 libebl_ia64_pic.a libebl_alpha_pic.a libebl_arm_pic.a \
695 libebl_sparc_pic.a libebl_ppc_pic.a libebl_ppc64_pic.a \
696- libebl_s390_pic.a libebl_parisc_pic.a
697+ libebl_s390_pic.a libebl_parisc_pic.a libebl_mips_pic.a
698 noinst_LIBRARIES = $(libebl_pic)
699 noinst_DATA = $(libebl_pic:_pic.a=.so)
700
701@@ -99,6 +99,10 @@
702 libebl_parisc_pic_a_SOURCES = $(parisc_SRCS)
703 am_libebl_parisc_pic_a_OBJECTS = $(parisc_SRCS:.c=.os)
704
705+mips_SRCS = mips_init.c mips_symbol.c mips_regs.c mips_retval.c
706+libebl_mips_pic_a_SOURCES = $(mips_SRCS)
707+am_libebl_mips_pic_a_OBJECTS = $(mips_SRCS:.c=.os)
708+
709 libebl_%.so libebl_%.map: libebl_%_pic.a $(libelf) $(libdw)
710 @rm -f $(@:.so=.map)
711 echo 'ELFUTILS_$(PACKAGE_VERSION) { global: $*_init; local: *; };' \
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.148/redhat-portability.diff b/meta/recipes-devtools/elfutils/elfutils-0.148/redhat-portability.diff
new file mode 100644
index 0000000000..d3a7246220
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils-0.148/redhat-portability.diff
@@ -0,0 +1,1122 @@
1Index: elfutils-0.148/backends/ChangeLog
2===================================================================
3--- elfutils-0.148.orig/backends/ChangeLog 2010-04-13 20:08:02.000000000 +0000
4+++ elfutils-0.148/backends/ChangeLog 2010-07-03 13:04:07.000000000 +0000
5@@ -106,6 +106,10 @@
6 * ppc_attrs.c (ppc_check_object_attribute): Handle tag
7 GNU_Power_ABI_Struct_Return.
8
9+2009-01-23 Roland McGrath <roland@redhat.com>
10+
11+ * Makefile.am (libebl_%.so): Use $(LD_AS_NEEDED).
12+
13 2008-10-04 Ulrich Drepper <drepper@redhat.com>
14
15 * i386_reloc.def: Fix entries for TLS_GOTDESC, TLS_DESC_CALL, and
16@@ -433,6 +437,11 @@
17 * sparc_init.c: Likewise.
18 * x86_64_init.c: Likewise.
19
20+2005-11-22 Roland McGrath <roland@redhat.com>
21+
22+ * Makefile.am (LD_AS_NEEDED): New variable, substituted by configure.
23+ (libebl_%.so rule): Use it in place of -Wl,--as-needed.
24+
25 2005-11-19 Roland McGrath <roland@redhat.com>
26
27 * ppc64_reloc.def: REL30 -> ADDR30.
28@@ -455,6 +464,9 @@
29 * Makefile.am (uninstall): Don't try to remove $(pkgincludedir).
30 (CLEANFILES): Add libebl_$(m).so.
31
32+ * Makefile.am (WEXTRA): New variable, substituted by configure.
33+ (AM_CFLAGS): Use it in place of -Wextra.
34+
35 * ppc_reloc.def: Update bits per Alan Modra <amodra@bigpond.net.au>.
36 * ppc64_reloc.def: Likewise.
37
38Index: elfutils-0.148/backends/Makefile.am
39===================================================================
40--- elfutils-0.148.orig/backends/Makefile.am 2010-04-13 20:08:02.000000000 +0000
41+++ elfutils-0.148/backends/Makefile.am 2010-07-03 13:04:07.000000000 +0000
42@@ -103,7 +103,7 @@
43 $(LINK) -shared -o $(@:.map=.so) \
44 -Wl,--whole-archive $< $(cpu_$*) -Wl,--no-whole-archive \
45 -Wl,--version-script,$(@:.so=.map) \
46- -Wl,-z,defs -Wl,--as-needed $(libelf) $(libdw) $(libmudflap)
47+ -Wl,-z,defs $(LD_AS_NEEDED) $(libelf) $(libdw) $(libmudflap)
48 $(textrel_check)
49
50 libebl_i386.so: $(cpu_i386)
51Index: elfutils-0.148/backends/Makefile.in
52===================================================================
53--- elfutils-0.148.orig/backends/Makefile.in 2010-06-28 19:07:33.000000000 +0000
54+++ elfutils-0.148/backends/Makefile.in 2010-07-03 13:04:07.000000000 +0000
55@@ -165,6 +165,7 @@
56 INSTALL_SCRIPT = @INSTALL_SCRIPT@
57 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
58 LDFLAGS = @LDFLAGS@
59+LD_AS_NEEDED = @LD_AS_NEEDED@
60 LEX = @LEX@
61 LEXLIB = @LEXLIB@
62 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
63@@ -194,6 +195,7 @@
64 STRIP = @STRIP@
65 USE_NLS = @USE_NLS@
66 VERSION = @VERSION@
67+WEXTRA = @WEXTRA@
68 XGETTEXT = @XGETTEXT@
69 XGETTEXT_015 = @XGETTEXT_015@
70 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
71@@ -257,7 +259,7 @@
72 -I$(top_srcdir)/libelf -I$(top_srcdir)/libdw
73 AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
74 $($(*F)_no_Werror),,-Werror) $(if \
75- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
76+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
77 $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
78 $(am__append_1)
79 @MUDFLAP_FALSE@libmudflap =
80@@ -698,7 +700,7 @@
81 $(LINK) -shared -o $(@:.map=.so) \
82 -Wl,--whole-archive $< $(cpu_$*) -Wl,--no-whole-archive \
83 -Wl,--version-script,$(@:.so=.map) \
84- -Wl,-z,defs -Wl,--as-needed $(libelf) $(libdw) $(libmudflap)
85+ -Wl,-z,defs $(LD_AS_NEEDED) $(libelf) $(libdw) $(libmudflap)
86 $(textrel_check)
87
88 libebl_i386.so: $(cpu_i386)
89Index: elfutils-0.148/ChangeLog
90===================================================================
91--- elfutils-0.148.orig/ChangeLog 2010-04-21 14:26:40.000000000 +0000
92+++ elfutils-0.148/ChangeLog 2010-07-03 13:04:07.000000000 +0000
93@@ -2,6 +2,10 @@
94
95 * configure.ac (LOCALEDIR, DATADIRNAME): Removed.
96
97+2009-11-22 Roland McGrath <roland@redhat.com>
98+
99+ * configure.ac: Use sed and expr instead of modern bash extensions.
100+
101 2009-09-21 Ulrich Drepper <drepper@redhat.com>
102
103 * configure.ac: Update for more modern autoconf.
104@@ -10,6 +14,10 @@
105
106 * configure.ac (zip_LIBS): Check for liblzma too.
107
108+2009-08-17 Roland McGrath <roland@redhat.com>
109+
110+ * configure.ac: Check for -fgnu89-inline; add it to WEXTRA if it works.
111+
112 2009-04-19 Roland McGrath <roland@redhat.com>
113
114 * configure.ac (eu_version): Round down here, not in version.h macros.
115@@ -21,6 +29,8 @@
116
117 2009-01-23 Roland McGrath <roland@redhat.com>
118
119+ * configure.ac: Check for __builtin_popcount.
120+
121 * configure.ac (zlib check): Check for gzdirect, need zlib >= 1.2.2.3.
122
123 * configure.ac (__thread check): Use AC_LINK_IFELSE, in case of
124@@ -101,6 +111,10 @@
125 * configure.ac: Add dummy automake conditional to get dependencies
126 for non-generic linker right. See src/Makefile.am.
127
128+2005-11-22 Roland McGrath <roland@redhat.com>
129+
130+ * configure.ac: Check for --as-needed linker option.
131+
132 2005-11-18 Roland McGrath <roland@redhat.com>
133
134 * Makefile.am (DISTCHECK_CONFIGURE_FLAGS): New variable.
135@@ -148,6 +162,17 @@
136 * Makefile.am (all_SUBDIRS): Add libdwfl.
137 * configure.ac: Write libdwfl/Makefile.
138
139+2005-05-31 Roland McGrath <roland@redhat.com>
140+
141+ * configure.ac (WEXTRA): Check for -Wextra and set this substitution.
142+
143+ * configure.ac: Check for struct stat st_?tim members.
144+ * src/strip.c (process_file): Use st_?time if st_?tim are not there.
145+
146+ * configure.ac: Check for futimes function.
147+ * src/strip.c (handle_elf) [! HAVE_FUTIMES]: Use utimes instead.
148+ (handle_ar) [! HAVE_FUTIMES]: Likewise.
149+
150 2005-05-19 Roland McGrath <roland@redhat.com>
151
152 * configure.ac [AH_BOTTOM] (INTDECL, _INTDECL): New macros.
153Index: elfutils-0.148/config/eu.am
154===================================================================
155--- elfutils-0.148.orig/config/eu.am 2010-04-21 14:26:40.000000000 +0000
156+++ elfutils-0.148/config/eu.am 2010-07-03 13:04:07.000000000 +0000
157@@ -25,11 +25,14 @@
158 ## <http://www.openinventionnetwork.com>.
159 ##
160
161+WEXTRA = @WEXTRA@
162+LD_AS_NEEDED = @LD_AS_NEEDED@
163+
164 DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H -DLOCALEDIR='"${localedir}"'
165 INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I..
166 AM_CFLAGS = -std=gnu99 -Wall -Wshadow \
167 $(if $($(*F)_no_Werror),,-Werror) \
168- $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \
169+ $(if $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) \
170 $(if $($(*F)_no_Wformat),-Wno-format,-Wformat=2) \
171 $($(*F)_CFLAGS)
172
173Index: elfutils-0.148/config/Makefile.in
174===================================================================
175--- elfutils-0.148.orig/config/Makefile.in 2010-06-28 19:07:34.000000000 +0000
176+++ elfutils-0.148/config/Makefile.in 2010-07-03 13:04:07.000000000 +0000
177@@ -76,6 +76,7 @@
178 INSTALL_SCRIPT = @INSTALL_SCRIPT@
179 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
180 LDFLAGS = @LDFLAGS@
181+LD_AS_NEEDED = @LD_AS_NEEDED@
182 LEX = @LEX@
183 LEXLIB = @LEXLIB@
184 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
185@@ -105,6 +106,7 @@
186 STRIP = @STRIP@
187 USE_NLS = @USE_NLS@
188 VERSION = @VERSION@
189+WEXTRA = @WEXTRA@
190 XGETTEXT = @XGETTEXT@
191 XGETTEXT_015 = @XGETTEXT_015@
192 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
193Index: elfutils-0.148/config.h.in
194===================================================================
195--- elfutils-0.148.orig/config.h.in 2010-06-28 19:07:37.000000000 +0000
196+++ elfutils-0.148/config.h.in 2010-07-03 13:04:07.000000000 +0000
197@@ -1,5 +1,8 @@
198 /* config.h.in. Generated from configure.ac by autoheader. */
199
200+/* Have __builtin_popcount. */
201+#undef HAVE_BUILTIN_POPCOUNT
202+
203 /* $libdir subdirectory containing libebl modules. */
204 #undef LIBEBL_SUBDIR
205
206@@ -55,4 +58,7 @@
207 /* Define for large files, on AIX-style hosts. */
208 #undef _LARGE_FILES
209
210+/* Stubbed out if missing compiler support. */
211+#undef __thread
212+
213 #include <eu-config.h>
214Index: elfutils-0.148/configure.ac
215===================================================================
216--- elfutils-0.148.orig/configure.ac 2010-06-28 19:07:26.000000000 +0000
217+++ elfutils-0.148/configure.ac 2010-07-03 13:04:07.000000000 +0000
218@@ -73,6 +73,54 @@
219 AS_IF([test "x$ac_cv_c99" != xyes],
220 AC_MSG_ERROR([gcc with C99 support required]))
221
222+AC_CACHE_CHECK([for -Wextra option to $CC], ac_cv_cc_wextra, [dnl
223+old_CFLAGS="$CFLAGS"
224+CFLAGS="$CFLAGS -Wextra"
225+AC_COMPILE_IFELSE([void foo (void) { }],
226+ ac_cv_cc_wextra=yes, ac_cv_cc_wextra=no)
227+CFLAGS="$old_CFLAGS"])
228+AC_SUBST(WEXTRA)
229+AS_IF([test "x$ac_cv_cc_wextra" = xyes], [WEXTRA=-Wextra], [WEXTRA=-W])
230+
231+AC_CACHE_CHECK([for -fgnu89-inline option to $CC], ac_cv_cc_gnu89_inline, [dnl
232+old_CFLAGS="$CFLAGS"
233+CFLAGS="$CFLAGS -fgnu89-inline -Werror"
234+AC_COMPILE_IFELSE([
235+void foo (void)
236+{
237+ inline void bar (void) {}
238+ bar ();
239+}
240+extern inline void baz (void) {}
241+], ac_cv_cc_gnu89_inline=yes, ac_cv_cc_gnu89_inline=no)
242+CFLAGS="$old_CFLAGS"])
243+AS_IF([test "x$ac_cv_cc_gnu89_inline" = xyes],
244+ [WEXTRA="${WEXTRA:+$WEXTRA }-fgnu89-inline"])
245+
246+AC_CACHE_CHECK([for --as-needed linker option],
247+ ac_cv_as_needed, [dnl
248+cat > conftest.c <<EOF
249+int main (void) { return 0; }
250+EOF
251+if AC_TRY_COMMAND([${CC-cc} $CFLAGS $CPPFLAGS $LDFLAGS
252+ -fPIC -shared -o conftest.so conftest.c
253+ -Wl,--as-needed 1>&AS_MESSAGE_LOG_FD])
254+then
255+ ac_cv_as_needed=yes
256+else
257+ ac_cv_as_needed=no
258+fi
259+rm -f conftest*])
260+AS_IF([test "x$ac_cv_as_needed" = xyes],
261+ [LD_AS_NEEDED=-Wl,--as-needed], [LD_AS_NEEDED=])
262+AC_SUBST(LD_AS_NEEDED)
263+
264+AC_CACHE_CHECK([for __builtin_popcount], ac_cv_popcount, [dnl
265+AC_LINK_IFELSE([AC_LANG_PROGRAM([], [[exit (__builtin_popcount (127));]])],
266+ ac_cv_popcount=yes, ac_cv_popcount=no)])
267+AS_IF([test "x$ac_cv_popcount" = xyes],
268+ [AC_DEFINE([HAVE_BUILTIN_POPCOUNT], [1], [Have __builtin_popcount.])])
269+
270 AC_CACHE_CHECK([for __thread support], ac_cv_tls, [dnl
271 # Use the same flags that we use for our DSOs, so the test is representative.
272 # Some old compiler/linker/libc combinations fail some ways and not others.
273@@ -88,7 +136,10 @@
274 CFLAGS="$save_CFLAGS"
275 LDFLAGS="$save_LDFLAGS"])
276 AS_IF([test "x$ac_cv_tls" != xyes],
277- AC_MSG_ERROR([__thread support required]))
278+ [AS_IF([test "$use_locks" = yes],
279+ [AC_MSG_ERROR([--enable-thread-safety requires __thread support])],
280+ [AC_DEFINE([__thread], [/* empty: no multi-thread support */],
281+ [Stubbed out if missing compiler support.])])])
282
283 dnl This test must come as early as possible after the compiler configuration
284 dnl tests, because the choice of the file model can (in principle) affect
285@@ -251,7 +302,7 @@
286
287 # 1.234<whatever> -> 1234<whatever>
288 case "$PACKAGE_VERSION" in
289-[[0-9]].*) eu_version="${PACKAGE_VERSION/./}" ;;
290+[[0-9]].*) eu_version=`echo "$PACKAGE_VERSION" | sed 's@\.@@'` ;;
291 *) AC_MSG_ERROR([confused by version number '$PACKAGE_VERSION']) ;;
292 esac
293 case "$eu_version" in
294@@ -280,6 +331,6 @@
295 esac
296
297 # Round up to the next release API (x.y) version.
298-[eu_version=$[($eu_version + 999) / 1000]]
299+eu_version=`expr \( $eu_version + 999 \) / 1000`
300
301 AC_OUTPUT
302Index: elfutils-0.148/lib/ChangeLog
303===================================================================
304--- elfutils-0.148.orig/lib/ChangeLog 2010-06-28 19:05:56.000000000 +0000
305+++ elfutils-0.148/lib/ChangeLog 2010-07-03 13:04:07.000000000 +0000
306@@ -14,6 +14,9 @@
307
308 2009-01-23 Roland McGrath <roland@redhat.com>
309
310+ * eu-config.h [! HAVE_BUILTIN_POPCOUNT]
311+ (__builtin_popcount): New inline function.
312+
313 * eu-config.h: Add multiple inclusion protection.
314
315 2009-01-17 Ulrich Drepper <drepper@redhat.com>
316@@ -70,6 +73,11 @@
317 * Makefile.am (libeu_a_SOURCES): Add it.
318 * system.h: Declare crc32_file.
319
320+2005-02-07 Roland McGrath <roland@redhat.com>
321+
322+ * Makefile.am (WEXTRA): New variable, substituted by configure.
323+ (AM_CFLAGS): Use it in place of -Wextra.
324+
325 2005-04-30 Ulrich Drepper <drepper@redhat.com>
326
327 * Makefile.am: Use -ffunction-sections for xmalloc.c.
328Index: elfutils-0.148/lib/eu-config.h
329===================================================================
330--- elfutils-0.148.orig/lib/eu-config.h 2009-08-12 14:23:22.000000000 +0000
331+++ elfutils-0.148/lib/eu-config.h 2010-07-03 13:04:07.000000000 +0000
332@@ -182,6 +182,17 @@
333 /* This macro is used by the tests conditionalize for standalone building. */
334 #define ELFUTILS_HEADER(name) <lib##name.h>
335
336+#ifndef HAVE_BUILTIN_POPCOUNT
337+# define __builtin_popcount hakmem_popcount
338+static inline unsigned int __attribute__ ((unused))
339+hakmem_popcount (unsigned int x)
340+{
341+ /* HAKMEM 169 */
342+ unsigned int n = x - ((x >> 1) & 033333333333) - ((x >> 2) & 011111111111);
343+ return ((n + (n >> 3)) & 030707070707) % 63;
344+}
345+#endif /* HAVE_BUILTIN_POPCOUNT */
346+
347
348 #ifdef SHARED
349 # define OLD_VERSION(name, version) \
350Index: elfutils-0.148/lib/Makefile.in
351===================================================================
352--- elfutils-0.148.orig/lib/Makefile.in 2010-06-28 19:07:33.000000000 +0000
353+++ elfutils-0.148/lib/Makefile.in 2010-07-03 13:04:07.000000000 +0000
354@@ -99,6 +99,7 @@
355 INSTALL_SCRIPT = @INSTALL_SCRIPT@
356 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
357 LDFLAGS = @LDFLAGS@
358+LD_AS_NEEDED = @LD_AS_NEEDED@
359 LEX = @LEX@
360 LEXLIB = @LEXLIB@
361 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
362@@ -128,6 +129,7 @@
363 STRIP = @STRIP@
364 USE_NLS = @USE_NLS@
365 VERSION = @VERSION@
366+WEXTRA = @WEXTRA@
367 XGETTEXT = @XGETTEXT@
368 XGETTEXT_015 = @XGETTEXT_015@
369 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
370@@ -190,7 +192,7 @@
371 -I$(srcdir)/../libelf
372 AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
373 $($(*F)_no_Werror),,-Werror) $(if \
374- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
375+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
376 $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
377 $(am__append_1) -fpic
378 @MUDFLAP_FALSE@libmudflap =
379Index: elfutils-0.148/libasm/ChangeLog
380===================================================================
381--- elfutils-0.148.orig/libasm/ChangeLog 2010-03-05 05:48:23.000000000 +0000
382+++ elfutils-0.148/libasm/ChangeLog 2010-07-03 13:04:07.000000000 +0000
383@@ -67,6 +67,11 @@
384 * asm_error.c: Add new error ASM_E_IOERROR.
385 * libasmP.h: Add ASM_E_IOERROR definition.
386
387+2005-05-31 Roland McGrath <roland@redhat.com>
388+
389+ * Makefile.am (WEXTRA): New variable, substituted by configure.
390+ (AM_CFLAGS): Use it in place of -Wextra.
391+
392 2005-02-15 Ulrich Drepper <drepper@redhat.com>
393
394 * Makefile.am (AM_CFLAGS): Add -Wunused -Wextra -Wformat=2.
395Index: elfutils-0.148/libasm/Makefile.in
396===================================================================
397--- elfutils-0.148.orig/libasm/Makefile.in 2010-06-28 19:07:33.000000000 +0000
398+++ elfutils-0.148/libasm/Makefile.in 2010-07-03 13:04:07.000000000 +0000
399@@ -147,6 +147,7 @@
400 INSTALL_SCRIPT = @INSTALL_SCRIPT@
401 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
402 LDFLAGS = @LDFLAGS@
403+LD_AS_NEEDED = @LD_AS_NEEDED@
404 LEX = @LEX@
405 LEXLIB = @LEXLIB@
406 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
407@@ -176,6 +177,7 @@
408 STRIP = @STRIP@
409 USE_NLS = @USE_NLS@
410 VERSION = 1
411+WEXTRA = @WEXTRA@
412 XGETTEXT = @XGETTEXT@
413 XGETTEXT_015 = @XGETTEXT_015@
414 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
415@@ -239,7 +241,7 @@
416 -I$(top_srcdir)/libdw
417 AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
418 $($(*F)_no_Werror),,-Werror) $(if \
419- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
420+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
421 $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
422 $(am__append_1)
423 @MUDFLAP_FALSE@libmudflap =
424Index: elfutils-0.148/libcpu/ChangeLog
425===================================================================
426--- elfutils-0.148.orig/libcpu/ChangeLog 2010-03-05 05:48:23.000000000 +0000
427+++ elfutils-0.148/libcpu/ChangeLog 2010-07-03 13:04:07.000000000 +0000
428@@ -9,6 +9,9 @@
429
430 2009-01-23 Roland McGrath <roland@redhat.com>
431
432+ * i386_disasm.c (i386_disasm): Add abort after assert-constant for old
433+ compilers that don't realize it's noreturn.
434+
435 * Makefile.am (i386_parse_CFLAGS): Use quotes around command
436 substitution that can produce leading whitespace.
437
438@@ -338,6 +341,11 @@
439 * defs/i386.doc: New file.
440 * defs/x86_64: New file.
441
442+2005-04-04 Roland McGrath <roland@redhat.com>
443+
444+ * Makefile.am (WEXTRA): New variable, substituted by configure.
445+ (AM_CFLAGS): Use it instead of -Wextra.
446+
447 2005-02-15 Ulrich Drepper <drepper@redhat.com>
448
449 * Makefile (AM_CFLAGS): Add -Wunused -Wextra -Wformat=2.
450Index: elfutils-0.148/libcpu/i386_disasm.c
451===================================================================
452--- elfutils-0.148.orig/libcpu/i386_disasm.c 2009-01-08 20:56:36.000000000 +0000
453+++ elfutils-0.148/libcpu/i386_disasm.c 2010-07-03 13:04:07.000000000 +0000
454@@ -791,6 +791,7 @@
455
456 default:
457 assert (! "INVALID not handled");
458+ abort ();
459 }
460 }
461 else
462Index: elfutils-0.148/libcpu/Makefile.in
463===================================================================
464--- elfutils-0.148.orig/libcpu/Makefile.in 2010-06-28 19:07:33.000000000 +0000
465+++ elfutils-0.148/libcpu/Makefile.in 2010-07-03 13:04:07.000000000 +0000
466@@ -116,6 +116,7 @@
467 INSTALL_SCRIPT = @INSTALL_SCRIPT@
468 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
469 LDFLAGS = @LDFLAGS@
470+LD_AS_NEEDED = @LD_AS_NEEDED@
471 LEX = @LEX@
472 LEXLIB = @LEXLIB@
473 LEX_OUTPUT_ROOT = lex.$(<F:lex.l=)
474@@ -145,6 +146,7 @@
475 STRIP = @STRIP@
476 USE_NLS = @USE_NLS@
477 VERSION = @VERSION@
478+WEXTRA = @WEXTRA@
479 XGETTEXT = @XGETTEXT@
480 XGETTEXT_015 = @XGETTEXT_015@
481 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
482@@ -208,7 +210,7 @@
483 -I$(srcdir)/../libdw -I$(srcdir)/../libasm
484 AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
485 $($(*F)_no_Werror),,-Werror) $(if \
486- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
487+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
488 $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
489 $(am__append_1) -fpic -fdollars-in-identifiers
490 @MUDFLAP_FALSE@libmudflap =
491Index: elfutils-0.148/libdw/ChangeLog
492===================================================================
493--- elfutils-0.148.orig/libdw/ChangeLog 2010-06-28 19:05:56.000000000 +0000
494+++ elfutils-0.148/libdw/ChangeLog 2010-07-03 13:04:07.000000000 +0000
495@@ -276,6 +276,10 @@
496
497 * dwarf_hasattr_integrate.c: Integrate DW_AT_specification too.
498
499+2009-08-17 Roland McGrath <roland@redhat.com>
500+
501+ * libdw.h: Disable extern inlines for GCC 4.2.
502+
503 2009-08-10 Roland McGrath <roland@redhat.com>
504
505 * dwarf_getscopevar.c: Use dwarf_diename.
506@@ -1044,6 +1048,11 @@
507
508 2005-05-31 Roland McGrath <roland@redhat.com>
509
510+ * Makefile.am (WEXTRA): New variable, substituted by configure.
511+ (AM_CFLAGS): Use it in place of -Wextra.
512+
513+2005-05-31 Roland McGrath <roland@redhat.com>
514+
515 * dwarf_formref_die.c (dwarf_formref_die): Add CU header offset to
516 formref offset.
517
518Index: elfutils-0.148/libdw/libdw.h
519===================================================================
520--- elfutils-0.148.orig/libdw/libdw.h 2010-06-28 19:05:56.000000000 +0000
521+++ elfutils-0.148/libdw/libdw.h 2010-07-03 13:04:07.000000000 +0000
522@@ -842,7 +842,7 @@
523
524
525 /* Inline optimizations. */
526-#ifdef __OPTIMIZE__
527+#if defined __OPTIMIZE__ && !(__GNUC__ == 4 && __GNUC_MINOR__ == 2)
528 /* Return attribute code of given attribute. */
529 __libdw_extern_inline unsigned int
530 dwarf_whatattr (Dwarf_Attribute *attr)
531Index: elfutils-0.148/libdw/Makefile.in
532===================================================================
533--- elfutils-0.148.orig/libdw/Makefile.in 2010-06-28 19:07:33.000000000 +0000
534+++ elfutils-0.148/libdw/Makefile.in 2010-07-03 13:04:07.000000000 +0000
535@@ -191,6 +191,7 @@
536 INSTALL_SCRIPT = @INSTALL_SCRIPT@
537 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
538 LDFLAGS = @LDFLAGS@
539+LD_AS_NEEDED = @LD_AS_NEEDED@
540 LEX = @LEX@
541 LEXLIB = @LEXLIB@
542 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
543@@ -220,6 +221,7 @@
544 STRIP = @STRIP@
545 USE_NLS = @USE_NLS@
546 VERSION = 1
547+WEXTRA = @WEXTRA@
548 XGETTEXT = @XGETTEXT@
549 XGETTEXT_015 = @XGETTEXT_015@
550 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
551@@ -282,7 +284,7 @@
552 -I$(srcdir)/../libelf
553 AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
554 $($(*F)_no_Werror),,-Werror) $(if \
555- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
556+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
557 $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
558 $(am__append_1) $(am__append_2)
559 @MUDFLAP_FALSE@libmudflap =
560Index: elfutils-0.148/libdwfl/ChangeLog
561===================================================================
562--- elfutils-0.148.orig/libdwfl/ChangeLog 2010-06-28 19:05:56.000000000 +0000
563+++ elfutils-0.148/libdwfl/ChangeLog 2010-07-03 13:04:07.000000000 +0000
564@@ -1265,6 +1265,11 @@
565
566 2005-07-21 Roland McGrath <roland@redhat.com>
567
568+ * Makefile.am (WEXTRA): New variable, substituted by configure.
569+ (AM_CFLAGS): Use it in place of -Wextra.
570+
571+2005-07-21 Roland McGrath <roland@redhat.com>
572+
573 * Makefile.am (noinst_HEADERS): Add loc2c.c.
574
575 * test2.c (main): Check sscanf result to quiet warning.
576Index: elfutils-0.148/libdwfl/Makefile.in
577===================================================================
578--- elfutils-0.148.orig/libdwfl/Makefile.in 2010-06-28 19:07:33.000000000 +0000
579+++ elfutils-0.148/libdwfl/Makefile.in 2010-07-03 13:04:07.000000000 +0000
580@@ -181,6 +181,7 @@
581 INSTALL_SCRIPT = @INSTALL_SCRIPT@
582 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
583 LDFLAGS = @LDFLAGS@
584+LD_AS_NEEDED = @LD_AS_NEEDED@
585 LEX = @LEX@
586 LEXLIB = @LEXLIB@
587 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
588@@ -210,6 +211,7 @@
589 STRIP = @STRIP@
590 USE_NLS = @USE_NLS@
591 VERSION = 1
592+WEXTRA = @WEXTRA@
593 XGETTEXT = @XGETTEXT@
594 XGETTEXT_015 = @XGETTEXT_015@
595 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
596@@ -273,7 +275,7 @@
597 -I$(srcdir)/../libdw
598 AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
599 $($(*F)_no_Werror),,-Werror) $(if \
600- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
601+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
602 $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
603 $(am__append_1)
604 @MUDFLAP_FALSE@libmudflap =
605Index: elfutils-0.148/libebl/ChangeLog
606===================================================================
607--- elfutils-0.148.orig/libebl/ChangeLog 2010-03-05 05:48:23.000000000 +0000
608+++ elfutils-0.148/libebl/ChangeLog 2010-07-03 13:04:07.000000000 +0000
609@@ -624,6 +624,11 @@
610 * Makefile.am (libebl_*_so_SOURCES): Set to $(*_SRCS) so dependency
611 tracking works right.
612
613+2005-05-31 Roland McGrath <roland@redhat.com>
614+
615+ * Makefile.am (WEXTRA): New variable, substituted by configure.
616+ (AM_CFLAGS): Use it in place of -Wextra.
617+
618 2005-05-21 Ulrich Drepper <drepper@redhat.com>
619
620 * libebl_x86_64.map: Add x86_64_core_note.
621Index: elfutils-0.148/libebl/Makefile.in
622===================================================================
623--- elfutils-0.148.orig/libebl/Makefile.in 2010-06-28 19:07:34.000000000 +0000
624+++ elfutils-0.148/libebl/Makefile.in 2010-07-03 13:04:07.000000000 +0000
625@@ -143,6 +143,7 @@
626 INSTALL_SCRIPT = @INSTALL_SCRIPT@
627 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
628 LDFLAGS = @LDFLAGS@
629+LD_AS_NEEDED = @LD_AS_NEEDED@
630 LEX = @LEX@
631 LEXLIB = @LEXLIB@
632 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
633@@ -172,6 +173,7 @@
634 STRIP = @STRIP@
635 USE_NLS = @USE_NLS@
636 VERSION = 1
637+WEXTRA = @WEXTRA@
638 XGETTEXT = @XGETTEXT@
639 XGETTEXT_015 = @XGETTEXT_015@
640 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
641@@ -235,7 +237,7 @@
642 -I$(srcdir)/../libasm
643 AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
644 $($(*F)_no_Werror),,-Werror) $(if \
645- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
646+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
647 $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
648 $(am__append_1) -fpic
649 @MUDFLAP_FALSE@libmudflap =
650Index: elfutils-0.148/libelf/ChangeLog
651===================================================================
652--- elfutils-0.148.orig/libelf/ChangeLog 2010-06-14 21:17:20.000000000 +0000
653+++ elfutils-0.148/libelf/ChangeLog 2010-07-03 13:04:07.000000000 +0000
654@@ -657,6 +657,11 @@
655
656 * elf.h: Update from glibc.
657
658+2005-05-31 Roland McGrath <roland@redhat.com>
659+
660+ * Makefile.am (WEXTRA): New variable, substituted by configure.
661+ (AM_CFLAGS): Use it in place of -Wextra.
662+
663 2005-05-08 Roland McGrath <roland@redhat.com>
664
665 * elf_begin.c (read_file) [_MUDFLAP]: Don't use mmap for now.
666Index: elfutils-0.148/libelf/common.h
667===================================================================
668--- elfutils-0.148.orig/libelf/common.h 2009-01-08 20:56:36.000000000 +0000
669+++ elfutils-0.148/libelf/common.h 2010-07-03 13:04:07.000000000 +0000
670@@ -160,7 +160,7 @@
671 (Var) = (sizeof (Var) == 1 \
672 ? (unsigned char) (Var) \
673 : (sizeof (Var) == 2 \
674- ? bswap_16 (Var) \
675+ ? (unsigned short int) bswap_16 (Var) \
676 : (sizeof (Var) == 4 \
677 ? bswap_32 (Var) \
678 : bswap_64 (Var))))
679@@ -169,7 +169,7 @@
680 (Dst) = (sizeof (Var) == 1 \
681 ? (unsigned char) (Var) \
682 : (sizeof (Var) == 2 \
683- ? bswap_16 (Var) \
684+ ? (unsigned short int) bswap_16 (Var) \
685 : (sizeof (Var) == 4 \
686 ? bswap_32 (Var) \
687 : bswap_64 (Var))))
688Index: elfutils-0.148/libelf/Makefile.in
689===================================================================
690--- elfutils-0.148.orig/libelf/Makefile.in 2010-06-28 19:07:34.000000000 +0000
691+++ elfutils-0.148/libelf/Makefile.in 2010-07-03 13:04:07.000000000 +0000
692@@ -189,6 +189,7 @@
693 INSTALL_SCRIPT = @INSTALL_SCRIPT@
694 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
695 LDFLAGS = @LDFLAGS@
696+LD_AS_NEEDED = @LD_AS_NEEDED@
697 LEX = @LEX@
698 LEXLIB = @LEXLIB@
699 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
700@@ -218,6 +219,7 @@
701 STRIP = @STRIP@
702 USE_NLS = @USE_NLS@
703 VERSION = 1
704+WEXTRA = @WEXTRA@
705 XGETTEXT = @XGETTEXT@
706 XGETTEXT_015 = @XGETTEXT_015@
707 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
708@@ -279,7 +281,7 @@
709 INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I..
710 AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
711 $($(*F)_no_Werror),,-Werror) $(if \
712- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
713+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
714 $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
715 $(am__append_1) $(am__append_2)
716 @MUDFLAP_FALSE@libmudflap =
717Index: elfutils-0.148/m4/Makefile.in
718===================================================================
719--- elfutils-0.148.orig/m4/Makefile.in 2010-06-28 19:07:34.000000000 +0000
720+++ elfutils-0.148/m4/Makefile.in 2010-07-03 13:04:07.000000000 +0000
721@@ -75,6 +75,7 @@
722 INSTALL_SCRIPT = @INSTALL_SCRIPT@
723 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
724 LDFLAGS = @LDFLAGS@
725+LD_AS_NEEDED = @LD_AS_NEEDED@
726 LEX = @LEX@
727 LEXLIB = @LEXLIB@
728 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
729@@ -104,6 +105,7 @@
730 STRIP = @STRIP@
731 USE_NLS = @USE_NLS@
732 VERSION = @VERSION@
733+WEXTRA = @WEXTRA@
734 XGETTEXT = @XGETTEXT@
735 XGETTEXT_015 = @XGETTEXT_015@
736 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
737Index: elfutils-0.148/Makefile.in
738===================================================================
739--- elfutils-0.148.orig/Makefile.in 2010-06-28 19:07:33.000000000 +0000
740+++ elfutils-0.148/Makefile.in 2010-07-03 13:04:07.000000000 +0000
741@@ -155,6 +155,7 @@
742 INSTALL_SCRIPT = @INSTALL_SCRIPT@
743 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
744 LDFLAGS = @LDFLAGS@
745+LD_AS_NEEDED = @LD_AS_NEEDED@
746 LEX = @LEX@
747 LEXLIB = @LEXLIB@
748 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
749@@ -184,6 +185,7 @@
750 STRIP = @STRIP@
751 USE_NLS = @USE_NLS@
752 VERSION = @VERSION@
753+WEXTRA = @WEXTRA@
754 XGETTEXT = @XGETTEXT@
755 XGETTEXT_015 = @XGETTEXT_015@
756 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
757Index: elfutils-0.148/src/addr2line.c
758===================================================================
759--- elfutils-0.148.orig/src/addr2line.c 2010-05-28 14:38:30.000000000 +0000
760+++ elfutils-0.148/src/addr2line.c 2010-07-03 13:05:40.000000000 +0000
761@@ -447,10 +447,10 @@
762 bool parsed = false;
763 int i, j;
764 char *name = NULL;
765- if (sscanf (string, "(%m[^)])%" PRIiMAX "%n", &name, &addr, &i) == 2
766+ if (sscanf (string, "(%a[^)])%" PRIiMAX "%n", &name, &addr, &i) == 2
767 && string[i] == '\0')
768 parsed = adjust_to_section (name, &addr, dwfl);
769- switch (sscanf (string, "%m[^-+]%n%" PRIiMAX "%n", &name, &i, &addr, &j))
770+ switch (sscanf (string, "%a[^-+]%n%" PRIiMAX "%n", &name, &i, &addr, &j))
771 {
772 default:
773 break;
774Index: elfutils-0.148/src/ChangeLog
775===================================================================
776--- elfutils-0.148.orig/src/ChangeLog 2010-06-28 19:05:56.000000000 +0000
777+++ elfutils-0.148/src/ChangeLog 2010-07-03 13:04:08.000000000 +0000
778@@ -165,8 +165,16 @@
779 * readelf.c (attr_callback): Use print_block only when we don't use
780 print_ops.
781
782+2009-08-17 Roland McGrath <roland@redhat.com>
783+
784+ * ld.h: Disable extern inlines for GCC 4.2.
785+
786 2009-08-14 Roland McGrath <roland@redhat.com>
787
788+ * strings.c (read_block): Conditionalize posix_fadvise use
789+ on [POSIX_FADV_SEQUENTIAL].
790+ From Petr Salinger <Petr.Salinger@seznam.cz>.
791+
792 * ar.c (do_oper_extract): Use pathconf instead of statfs.
793
794 2009-08-01 Ulrich Drepper <drepper@redhat.com>
795@@ -330,6 +338,8 @@
796 * readelf.c (print_debug_frame_section): Use t instead of j formats
797 for ptrdiff_t OFFSET.
798
799+ * addr2line.c (handle_address): Use %a instead of %m for compatibility.
800+
801 2009-01-21 Ulrich Drepper <drepper@redhat.com>
802
803 * elflint.c (check_program_header): Fix typo in .eh_frame_hdr section
804@@ -513,6 +523,11 @@
805 that matches its PT_LOAD's p_flags &~ PF_W. On sparc, PF_X really
806 is valid in RELRO.
807
808+2008-03-01 Roland McGrath <roland@redhat.com>
809+
810+ * readelf.c (dump_archive_index): Tweak portability hack
811+ to match [__GNUC__ < 4] too.
812+
813 2008-02-29 Roland McGrath <roland@redhat.com>
814
815 * readelf.c (print_attributes): Add a cast.
816@@ -764,6 +779,8 @@
817
818 * readelf.c (hex_dump): Fix rounding error in whitespace calculation.
819
820+ * Makefile.am (readelf_no_Werror): New variable.
821+
822 2007-10-15 Roland McGrath <roland@redhat.com>
823
824 * make-debug-archive.in: New file.
825@@ -1203,6 +1220,10 @@
826 * elflint.c (valid_e_machine): Add EM_ALPHA.
827 Reported by Christian Aichinger <Greek0@gmx.net>.
828
829+ * strings.c (map_file): Define POSIX_MADV_SEQUENTIAL to
830+ MADV_SEQUENTIAL if undefined. Don't call posix_madvise
831+ if neither is defined.
832+
833 2006-08-08 Ulrich Drepper <drepper@redhat.com>
834
835 * elflint.c (check_dynamic): Don't require DT_HASH for DT_SYMTAB.
836@@ -1279,6 +1300,10 @@
837 * Makefile.am: Add hacks to create dependency files for non-generic
838 linker.
839
840+2006-04-05 Roland McGrath <roland@redhat.com>
841+
842+ * strings.c (MAP_POPULATE): Define to 0 if undefined.
843+
844 2006-06-12 Ulrich Drepper <drepper@redhat.com>
845
846 * ldgeneric.c (ld_generic_generate_sections): Don't create .interp
847@@ -1627,6 +1652,11 @@
848 * readelf.c (print_debug_loc_section): Fix indentation for larger
849 address size.
850
851+2005-05-31 Roland McGrath <roland@redhat.com>
852+
853+ * Makefile.am (WEXTRA): New variable, substituted by configure.
854+ (AM_CFLAGS): Use it in place of -Wextra.
855+
856 2005-05-30 Roland McGrath <roland@redhat.com>
857
858 * readelf.c (print_debug_line_section): Print section offset of each
859Index: elfutils-0.148/src/findtextrel.c
860===================================================================
861--- elfutils-0.148.orig/src/findtextrel.c 2009-02-11 01:12:59.000000000 +0000
862+++ elfutils-0.148/src/findtextrel.c 2010-07-03 13:04:08.000000000 +0000
863@@ -490,7 +490,11 @@
864
865
866 static void
867-check_rel (size_t nsegments, struct segments segments[nsegments],
868+check_rel (size_t nsegments, struct segments segments[
869+#if __GNUC__ >= 4
870+ nsegments
871+#endif
872+ ],
873 GElf_Addr addr, Elf *elf, Elf_Scn *symscn, Dwarf *dw,
874 const char *fname, bool more_than_one, void **knownsrcs)
875 {
876Index: elfutils-0.148/src/ld.h
877===================================================================
878--- elfutils-0.148.orig/src/ld.h 2009-06-13 22:39:51.000000000 +0000
879+++ elfutils-0.148/src/ld.h 2010-07-03 13:04:08.000000000 +0000
880@@ -1122,6 +1122,7 @@
881
882 /* Checked whether the symbol is undefined and referenced from a DSO. */
883 extern bool linked_from_dso_p (struct scninfo *scninfo, size_t symidx);
884+#if defined __OPTIMIZE__ && !(__GNUC__ == 4 && __GNUC_MINOR__ == 2)
885 #ifdef __GNUC_STDC_INLINE__
886 __attribute__ ((__gnu_inline__))
887 #endif
888@@ -1139,5 +1140,6 @@
889
890 return sym->defined && sym->in_dso;
891 }
892+#endif /* Optimizing and not GCC 4.2. */
893
894 #endif /* ld.h */
895Index: elfutils-0.148/src/Makefile.am
896===================================================================
897--- elfutils-0.148.orig/src/Makefile.am 2010-03-05 05:48:23.000000000 +0000
898+++ elfutils-0.148/src/Makefile.am 2010-07-03 13:04:08.000000000 +0000
899@@ -99,6 +99,9 @@
900 # XXX While the file is not finished, don't warn about this
901 ldgeneric_no_Wunused = yes
902
903+# Buggy old compilers.
904+readelf_no_Werror = yes
905+
906 readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
907 nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
908 size_LDADD = $(libelf) $(libeu) $(libmudflap)
909Index: elfutils-0.148/src/Makefile.in
910===================================================================
911--- elfutils-0.148.orig/src/Makefile.in 2010-06-28 19:07:34.000000000 +0000
912+++ elfutils-0.148/src/Makefile.in 2010-07-03 13:04:08.000000000 +0000
913@@ -228,6 +228,7 @@
914 INSTALL_SCRIPT = @INSTALL_SCRIPT@
915 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
916 LDFLAGS = @LDFLAGS@
917+LD_AS_NEEDED = @LD_AS_NEEDED@
918 LEX = @LEX@
919 LEXLIB = @LEXLIB@
920 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
921@@ -257,6 +258,7 @@
922 STRIP = @STRIP@
923 USE_NLS = @USE_NLS@
924 VERSION = @VERSION@
925+WEXTRA = @WEXTRA@
926 XGETTEXT = @XGETTEXT@
927 XGETTEXT_015 = @XGETTEXT_015@
928 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
929@@ -321,7 +323,7 @@
930 -I$(srcdir)/../libasm
931 AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
932 $($(*F)_no_Werror),,-Werror) $(if \
933- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
934+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
935 $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
936 $(am__append_1)
937 @MUDFLAP_FALSE@libmudflap =
938@@ -368,6 +370,9 @@
939 addr2line_no_Wformat = yes
940 # XXX While the file is not finished, don't warn about this
941 ldgeneric_no_Wunused = yes
942+
943+# Buggy old compilers.
944+readelf_no_Werror = yes
945 readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
946 nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(libmudflap) -ldl
947 size_LDADD = $(libelf) $(libeu) $(libmudflap)
948Index: elfutils-0.148/src/readelf.c
949===================================================================
950--- elfutils-0.148.orig/src/readelf.c 2010-06-28 19:05:56.000000000 +0000
951+++ elfutils-0.148/src/readelf.c 2010-07-03 13:04:08.000000000 +0000
952@@ -7845,7 +7845,7 @@
953 if (unlikely (elf_rand (elf, as_off) == 0)
954 || unlikely ((subelf = elf_begin (-1, ELF_C_READ_MMAP, elf))
955 == NULL))
956-#if __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 7)
957+#if __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 7) || __GNUC__ < 4
958 while (1)
959 #endif
960 error (EXIT_FAILURE, 0,
961Index: elfutils-0.148/src/strings.c
962===================================================================
963--- elfutils-0.148.orig/src/strings.c 2009-02-11 01:12:59.000000000 +0000
964+++ elfutils-0.148/src/strings.c 2010-07-03 13:04:08.000000000 +0000
965@@ -51,6 +51,10 @@
966
967 #include <system.h>
968
969+#ifndef MAP_POPULATE
970+# define MAP_POPULATE 0
971+#endif
972+
973
974 /* Prototypes of local functions. */
975 static int read_fd (int fd, const char *fname, off64_t fdlen);
976@@ -491,8 +495,13 @@
977 fd, start_off);
978 if (mem != MAP_FAILED)
979 {
980+#if !defined POSIX_MADV_SEQUENTIAL && defined MADV_SEQUENTIAL
981+# define POSIX_MADV_SEQUENTIAL MADV_SEQUENTIAL
982+#endif
983+#ifdef POSIX_MADV_SEQUENTIAL
984 /* We will go through the mapping sequentially. */
985 (void) posix_madvise (mem, map_size, POSIX_MADV_SEQUENTIAL);
986+#endif
987 break;
988 }
989 if (errno != EINVAL && errno != ENOMEM)
990@@ -586,9 +595,11 @@
991 elfmap_off = from & ~(ps - 1);
992 elfmap_base = elfmap = map_file (fd, elfmap_off, fdlen, &elfmap_size);
993
994+#ifdef POSIX_FADV_SEQUENTIAL
995 if (unlikely (elfmap == MAP_FAILED))
996 /* Let the kernel know we are going to read everything in sequence. */
997 (void) posix_fadvise (fd, 0, 0, POSIX_FADV_SEQUENTIAL);
998+#endif
999 }
1000
1001 if (unlikely (elfmap == MAP_FAILED))
1002Index: elfutils-0.148/src/strip.c
1003===================================================================
1004--- elfutils-0.148.orig/src/strip.c 2010-01-15 09:05:55.000000000 +0000
1005+++ elfutils-0.148/src/strip.c 2010-07-03 13:04:08.000000000 +0000
1006@@ -53,6 +53,12 @@
1007 #include <libebl.h>
1008 #include <system.h>
1009
1010+#ifdef HAVE_FUTIMES
1011+# define FUTIMES(fd, fname, tvp) futimes (fd, tvp)
1012+#else
1013+# define FUTIMES(fd, fname, tvp) utimes (fname, tvp)
1014+#endif
1015+
1016
1017 /* Name and version of program. */
1018 static void print_version (FILE *stream, struct argp_state *state);
1019@@ -301,8 +307,18 @@
1020
1021 /* If we have to preserve the timestamp, we need it in the
1022 format utimes() understands. */
1023+#ifdef HAVE_STRUCT_STAT_ST_ATIM
1024 TIMESPEC_TO_TIMEVAL (&tv[0], &pre_st.st_atim);
1025+#else
1026+ tv[0].tv_sec = pre_st.st_atime;
1027+ tv[0].tv_usec = 0;
1028+#endif
1029+#ifdef HAVE_STRUCT_STAT_ST_MTIM
1030 TIMESPEC_TO_TIMEVAL (&tv[1], &pre_st.st_mtim);
1031+#else
1032+ tv[1].tv_sec = pre_st.st_atime;
1033+ tv[1].tv_usec = 0;
1034+#endif
1035 }
1036
1037 /* Open the file. */
1038@@ -1747,7 +1763,7 @@
1039 /* If requested, preserve the timestamp. */
1040 if (tvp != NULL)
1041 {
1042- if (futimes (fd, tvp) != 0)
1043+ if (FUTIMES (fd, output_fname, tvp) != 0)
1044 {
1045 error (0, errno, gettext ("\
1046 cannot set access and modification date of '%s'"),
1047@@ -1804,7 +1820,7 @@
1048
1049 if (tvp != NULL)
1050 {
1051- if (unlikely (futimes (fd, tvp) != 0))
1052+ if (unlikely (FUTIMES (fd, fname, tvp) != 0))
1053 {
1054 error (0, errno, gettext ("\
1055 cannot set access and modification date of '%s'"), fname);
1056Index: elfutils-0.148/tests/ChangeLog
1057===================================================================
1058--- elfutils-0.148.orig/tests/ChangeLog 2010-06-28 19:05:56.000000000 +0000
1059+++ elfutils-0.148/tests/ChangeLog 2010-07-03 13:04:08.000000000 +0000
1060@@ -154,6 +154,8 @@
1061
1062 2008-01-21 Roland McGrath <roland@redhat.com>
1063
1064+ * line2addr.c (main): Revert last change.
1065+
1066 * testfile45.S.bz2: Add tests for cltq, cqto.
1067 * testfile45.expect.bz2: Adjust.
1068
1069@@ -862,6 +864,11 @@
1070 * Makefile.am (TESTS): Add run-elflint-test.sh.
1071 (EXTRA_DIST): Add run-elflint-test.sh and testfile18.bz2.
1072
1073+2005-05-31 Roland McGrath <roland@redhat.com>
1074+
1075+ * Makefile.am (WEXTRA): New variable, substituted by configure.
1076+ (AM_CFLAGS): Use it in place of -Wextra.
1077+
1078 2005-05-24 Ulrich Drepper <drepper@redhat.com>
1079
1080 * get-files.c (main): Use correct format specifier.
1081Index: elfutils-0.148/tests/line2addr.c
1082===================================================================
1083--- elfutils-0.148.orig/tests/line2addr.c 2009-01-08 20:56:37.000000000 +0000
1084+++ elfutils-0.148/tests/line2addr.c 2010-07-03 13:04:08.000000000 +0000
1085@@ -132,7 +132,7 @@
1086 {
1087 struct args a = { .arg = argv[cnt] };
1088
1089- switch (sscanf (a.arg, "%m[^:]:%d", &a.file, &a.line))
1090+ switch (sscanf (a.arg, "%a[^:]:%d", &a.file, &a.line))
1091 {
1092 default:
1093 case 0:
1094Index: elfutils-0.148/tests/Makefile.in
1095===================================================================
1096--- elfutils-0.148.orig/tests/Makefile.in 2010-06-28 19:07:34.000000000 +0000
1097+++ elfutils-0.148/tests/Makefile.in 2010-07-03 13:04:08.000000000 +0000
1098@@ -372,6 +372,7 @@
1099 INSTALL_SCRIPT = @INSTALL_SCRIPT@
1100 INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
1101 LDFLAGS = @LDFLAGS@
1102+LD_AS_NEEDED = @LD_AS_NEEDED@
1103 LEX = @LEX@
1104 LEXLIB = @LEXLIB@
1105 LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
1106@@ -401,6 +402,7 @@
1107 STRIP = @STRIP@
1108 USE_NLS = @USE_NLS@
1109 VERSION = @VERSION@
1110+WEXTRA = @WEXTRA@
1111 XGETTEXT = @XGETTEXT@
1112 XGETTEXT_015 = @XGETTEXT_015@
1113 XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
1114@@ -462,7 +464,7 @@
1115 INCLUDES = -I. -I$(srcdir) -I$(top_srcdir)/lib -I.. $(am__append_2)
1116 AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
1117 $($(*F)_no_Werror),,-Werror) $(if \
1118- $($(*F)_no_Wunused),,-Wunused -Wextra) $(if \
1119+ $($(*F)_no_Wunused),,-Wunused $(WEXTRA)) $(if \
1120 $($(*F)_no_Wformat),-Wno-format,-Wformat=2) $($(*F)_CFLAGS) \
1121 $(am__append_1)
1122 @MUDFLAP_FALSE@libmudflap =
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.148/redhat-robustify.diff b/meta/recipes-devtools/elfutils/elfutils-0.148/redhat-robustify.diff
new file mode 100644
index 0000000000..a186308f17
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils-0.148/redhat-robustify.diff
@@ -0,0 +1,1707 @@
1Index: elfutils-0.148/libelf/ChangeLog
2===================================================================
3--- elfutils-0.148.orig/libelf/ChangeLog 2010-07-03 13:07:10.000000000 +0000
4+++ elfutils-0.148/libelf/ChangeLog 2010-07-03 13:07:11.000000000 +0000
5@@ -649,10 +649,53 @@
6 If section content hasn't been read yet, do it before looking for the
7 block size. If no section data present, infer size of section header.
8
9+2005-05-14 Jakub Jelinek <jakub@redhat.com>
10+
11+ * libelfP.h (INVALID_NDX): Define.
12+ * gelf_getdyn.c (gelf_getdyn): Use it. Remove ndx < 0 test if any.
13+ * gelf_getlib.c (gelf_getlib): Likewise.
14+ * gelf_getmove.c (gelf_getmove): Likewise.
15+ * gelf_getrel.c (gelf_getrel): Likewise.
16+ * gelf_getrela.c (gelf_getrela): Likewise.
17+ * gelf_getsym.c (gelf_getsym): Likewise.
18+ * gelf_getsyminfo.c (gelf_getsyminfo): Likewise.
19+ * gelf_getsymshndx.c (gelf_getsymshndx): Likewise.
20+ * gelf_getversym.c (gelf_getversym): Likewise.
21+ * gelf_update_dyn.c (gelf_update_dyn): Likewise.
22+ * gelf_update_lib.c (gelf_update_lib): Likewise.
23+ * gelf_update_move.c (gelf_update_move): Likewise.
24+ * gelf_update_rel.c (gelf_update_rel): Likewise.
25+ * gelf_update_rela.c (gelf_update_rela): Likewise.
26+ * gelf_update_sym.c (gelf_update_sym): Likewise.
27+ * gelf_update_syminfo.c (gelf_update_syminfo): Likewise.
28+ * gelf_update_symshndx.c (gelf_update_symshndx): Likewise.
29+ * gelf_update_versym.c (gelf_update_versym): Likewise.
30+ * elf_newscn.c (elf_newscn): Check for overflow.
31+ * elf32_updatefile.c (__elfw2(LIBELFBITS,updatemmap)): Likewise.
32+ (__elfw2(LIBELFBITS,updatefile)): Likewise.
33+ * elf_begin.c (file_read_elf): Likewise.
34+ * elf32_newphdr.c (elfw2(LIBELFBITS,newphdr)): Likewise.
35+ * elf_getarsym.c (elf_getarsym): Likewise.
36+ * elf32_getshdr.c (elfw2(LIBELFBITS,getshdr)): Likewise.
37 2005-05-11 Ulrich Drepper <drepper@redhat.com>
38
39 * elf.h: Update again.
40
41+2005-05-17 Jakub Jelinek <jakub@redhat.com>
42+
43+ * elf32_getphdr.c (elfw2(LIBELFBITS,getphdr)): Check if program header
44+ table fits into object's bounds.
45+ * elf_getshstrndx.c (elf_getshstrndx): Add elf->start_offset to
46+ elf->map_address. Check if first section header fits into object's
47+ bounds.
48+ * elf32_getshdr.c (elfw2(LIBELFBITS,getshdr)):
49+ Check if section header table fits into object's bounds.
50+ * elf_begin.c (get_shnum): Ensure section headers fits into
51+ object's bounds.
52+ (file_read_elf): Make sure scncnt is small enough to allocate both
53+ ElfXX_Shdr and Elf_Scn array. Make sure section and program header
54+ tables fit into object's bounds. Avoid memory leak on failure.
55+
56 2005-05-09 Ulrich Drepper <drepper@redhat.com>
57
58 * elf.h: Update from glibc.
59Index: elfutils-0.148/libelf/elf32_getphdr.c
60===================================================================
61--- elfutils-0.148.orig/libelf/elf32_getphdr.c 2010-04-21 14:26:40.000000000 +0000
62+++ elfutils-0.148/libelf/elf32_getphdr.c 2010-07-03 13:07:11.000000000 +0000
63@@ -114,6 +114,16 @@
64
65 if (elf->map_address != NULL)
66 {
67+ /* First see whether the information in the ELF header is
68+ valid and it does not ask for too much. */
69+ if (unlikely (ehdr->e_phoff >= elf->maximum_size)
70+ || unlikely (elf->maximum_size - ehdr->e_phoff < size))
71+ {
72+ /* Something is wrong. */
73+ __libelf_seterrno (ELF_E_INVALID_PHDR);
74+ goto out;
75+ }
76+
77 /* All the data is already mapped. Use it. */
78 void *file_phdr = ((char *) elf->map_address
79 + elf->start_offset + ehdr->e_phoff);
80Index: elfutils-0.148/libelf/elf32_getshdr.c
81===================================================================
82--- elfutils-0.148.orig/libelf/elf32_getshdr.c 2009-06-13 22:41:42.000000000 +0000
83+++ elfutils-0.148/libelf/elf32_getshdr.c 2010-07-03 13:07:11.000000000 +0000
84@@ -1,5 +1,5 @@
85 /* Return section header.
86- Copyright (C) 1998, 1999, 2000, 2001, 2002, 2005, 2007, 2009 Red Hat, Inc.
87+ Copyright (C) 1998-2009 Red Hat, Inc.
88 This file is part of Red Hat elfutils.
89 Written by Ulrich Drepper <drepper@redhat.com>, 1998.
90
91@@ -81,7 +81,8 @@
92 goto out;
93
94 size_t shnum;
95- if (__elf_getshdrnum_rdlock (elf, &shnum) != 0)
96+ if (__elf_getshdrnum_rdlock (elf, &shnum) != 0
97+ || shnum > SIZE_MAX / sizeof (ElfW2(LIBELFBITS,Shdr)))
98 goto out;
99 size_t size = shnum * sizeof (ElfW2(LIBELFBITS,Shdr));
100
101@@ -98,6 +99,16 @@
102
103 if (elf->map_address != NULL)
104 {
105+ /* First see whether the information in the ELF header is
106+ valid and it does not ask for too much. */
107+ if (unlikely (ehdr->e_shoff >= elf->maximum_size)
108+ || unlikely (elf->maximum_size - ehdr->e_shoff < size))
109+ {
110+ /* Something is wrong. */
111+ __libelf_seterrno (ELF_E_INVALID_SECTION_HEADER);
112+ goto free_and_out;
113+ }
114+
115 ElfW2(LIBELFBITS,Shdr) *notcvt;
116
117 /* All the data is already mapped. If we could use it
118Index: elfutils-0.148/libelf/elf32_newphdr.c
119===================================================================
120--- elfutils-0.148.orig/libelf/elf32_newphdr.c 2010-01-12 16:57:54.000000000 +0000
121+++ elfutils-0.148/libelf/elf32_newphdr.c 2010-07-03 13:07:11.000000000 +0000
122@@ -135,6 +135,12 @@
123 || count == PN_XNUM
124 || elf->state.ELFW(elf,LIBELFBITS).phdr == NULL)
125 {
126+ if (unlikely (count > SIZE_MAX / sizeof (ElfW2(LIBELFBITS,Phdr))))
127+ {
128+ result = NULL;
129+ goto out;
130+ }
131+
132 /* Allocate a new program header with the appropriate number of
133 elements. */
134 result = (ElfW2(LIBELFBITS,Phdr) *)
135Index: elfutils-0.148/libelf/elf32_updatefile.c
136===================================================================
137--- elfutils-0.148.orig/libelf/elf32_updatefile.c 2010-01-12 16:57:54.000000000 +0000
138+++ elfutils-0.148/libelf/elf32_updatefile.c 2010-07-03 13:07:11.000000000 +0000
139@@ -223,6 +223,9 @@
140 /* Write all the sections. Well, only those which are modified. */
141 if (shnum > 0)
142 {
143+ if (unlikely (shnum > SIZE_MAX / sizeof (Elf_Scn *)))
144+ return 1;
145+
146 Elf_ScnList *list = &elf->state.ELFW(elf,LIBELFBITS).scns;
147 Elf_Scn **scns = (Elf_Scn **) alloca (shnum * sizeof (Elf_Scn *));
148 char *const shdr_start = ((char *) elf->map_address + elf->start_offset
149@@ -645,6 +648,10 @@
150 /* Write all the sections. Well, only those which are modified. */
151 if (shnum > 0)
152 {
153+ if (unlikely (shnum > SIZE_MAX / (sizeof (Elf_Scn *)
154+ + sizeof (ElfW2(LIBELFBITS,Shdr)))))
155+ return 1;
156+
157 off_t shdr_offset = elf->start_offset + ehdr->e_shoff;
158 #if EV_NUM != 2
159 xfct_t shdr_fctp = __elf_xfctstom[__libelf_version - 1][EV_CURRENT - 1][ELFW(ELFCLASS, LIBELFBITS) - 1][ELF_T_SHDR];
160Index: elfutils-0.148/libelf/elf_begin.c
161===================================================================
162--- elfutils-0.148.orig/libelf/elf_begin.c 2010-04-21 14:26:40.000000000 +0000
163+++ elfutils-0.148/libelf/elf_begin.c 2010-07-03 13:07:11.000000000 +0000
164@@ -165,7 +165,8 @@
165
166 if (unlikely (result == 0) && ehdr.e32->e_shoff != 0)
167 {
168- if (ehdr.e32->e_shoff + sizeof (Elf32_Shdr) > maxsize)
169+ if (unlikely (ehdr.e32->e_shoff >= maxsize)
170+ || unlikely (maxsize - ehdr.e32->e_shoff < sizeof (Elf32_Shdr)))
171 /* Cannot read the first section header. */
172 return 0;
173
174@@ -213,7 +214,8 @@
175
176 if (unlikely (result == 0) && ehdr.e64->e_shoff != 0)
177 {
178- if (ehdr.e64->e_shoff + sizeof (Elf64_Shdr) > maxsize)
179+ if (unlikely (ehdr.e64->e_shoff >= maxsize)
180+ || unlikely (ehdr.e64->e_shoff + sizeof (Elf64_Shdr) > maxsize))
181 /* Cannot read the first section header. */
182 return 0;
183
184@@ -285,6 +287,15 @@
185 /* Could not determine the number of sections. */
186 return NULL;
187
188+ /* Check for too many sections. */
189+ if (e_ident[EI_CLASS] == ELFCLASS32)
190+ {
191+ if (scncnt > SIZE_MAX / (sizeof (Elf_Scn) + sizeof (Elf32_Shdr)))
192+ return NULL;
193+ }
194+ else if (scncnt > SIZE_MAX / (sizeof (Elf_Scn) + sizeof (Elf64_Shdr)))
195+ return NULL;
196+
197 /* We can now allocate the memory. Even if there are no section headers,
198 we allocate space for a zeroth section in case we need it later. */
199 const size_t scnmax = (scncnt ?: (cmd == ELF_C_RDWR || cmd == ELF_C_RDWR_MMAP)
200@@ -324,6 +335,16 @@
201 {
202 /* We can use the mmapped memory. */
203 elf->state.elf32.ehdr = ehdr;
204+
205+ if (unlikely (ehdr->e_shoff >= maxsize)
206+ || unlikely (maxsize - ehdr->e_shoff
207+ < scncnt * sizeof (Elf32_Shdr)))
208+ {
209+ free_and_out:
210+ free (elf);
211+ __libelf_seterrno (ELF_E_INVALID_FILE);
212+ return NULL;
213+ }
214 elf->state.elf32.shdr
215 = (Elf32_Shdr *) ((char *) ehdr + ehdr->e_shoff);
216
217@@ -410,6 +431,11 @@
218 {
219 /* We can use the mmapped memory. */
220 elf->state.elf64.ehdr = ehdr;
221+
222+ if (unlikely (ehdr->e_shoff >= maxsize)
223+ || unlikely (ehdr->e_shoff
224+ + scncnt * sizeof (Elf32_Shdr) > maxsize))
225+ goto free_and_out;
226 elf->state.elf64.shdr
227 = (Elf64_Shdr *) ((char *) ehdr + ehdr->e_shoff);
228
229Index: elfutils-0.148/libelf/elf_getarsym.c
230===================================================================
231--- elfutils-0.148.orig/libelf/elf_getarsym.c 2009-01-08 20:56:37.000000000 +0000
232+++ elfutils-0.148/libelf/elf_getarsym.c 2010-07-03 13:07:11.000000000 +0000
233@@ -179,6 +179,9 @@
234 size_t index_size = atol (tmpbuf);
235
236 if (SARMAG + sizeof (struct ar_hdr) + index_size > elf->maximum_size
237+#if SIZE_MAX <= 4294967295U
238+ || n >= SIZE_MAX / sizeof (Elf_Arsym)
239+#endif
240 || n * sizeof (uint32_t) > index_size)
241 {
242 /* This index table cannot be right since it does not fit into
243Index: elfutils-0.148/libelf/elf_getshdrstrndx.c
244===================================================================
245--- elfutils-0.148.orig/libelf/elf_getshdrstrndx.c 2009-06-13 22:31:35.000000000 +0000
246+++ elfutils-0.148/libelf/elf_getshdrstrndx.c 2010-07-03 13:07:11.000000000 +0000
247@@ -125,10 +125,25 @@
248 if (elf->map_address != NULL
249 && elf->state.elf32.ehdr->e_ident[EI_DATA] == MY_ELFDATA
250 && (ALLOW_UNALIGNED
251- || (((size_t) ((char *) elf->map_address + offset))
252+ || (((size_t) ((char *) elf->map_address
253+ + elf->start_offset + offset))
254 & (__alignof__ (Elf32_Shdr) - 1)) == 0))
255- /* We can directly access the memory. */
256- num = ((Elf32_Shdr *) (elf->map_address + offset))->sh_link;
257+ {
258+ /* First see whether the information in the ELF header is
259+ valid and it does not ask for too much. */
260+ if (unlikely (elf->maximum_size - offset
261+ < sizeof (Elf32_Shdr)))
262+ {
263+ /* Something is wrong. */
264+ __libelf_seterrno (ELF_E_INVALID_SECTION_HEADER);
265+ result = -1;
266+ goto out;
267+ }
268+
269+ /* We can directly access the memory. */
270+ num = ((Elf32_Shdr *) (elf->map_address + elf->start_offset
271+ + offset))->sh_link;
272+ }
273 else
274 {
275 /* We avoid reading in all the section headers. Just read
276@@ -163,10 +178,25 @@
277 if (elf->map_address != NULL
278 && elf->state.elf64.ehdr->e_ident[EI_DATA] == MY_ELFDATA
279 && (ALLOW_UNALIGNED
280- || (((size_t) ((char *) elf->map_address + offset))
281+ || (((size_t) ((char *) elf->map_address
282+ + elf->start_offset + offset))
283 & (__alignof__ (Elf64_Shdr) - 1)) == 0))
284- /* We can directly access the memory. */
285- num = ((Elf64_Shdr *) (elf->map_address + offset))->sh_link;
286+ {
287+ /* First see whether the information in the ELF header is
288+ valid and it does not ask for too much. */
289+ if (unlikely (elf->maximum_size - offset
290+ < sizeof (Elf64_Shdr)))
291+ {
292+ /* Something is wrong. */
293+ __libelf_seterrno (ELF_E_INVALID_SECTION_HEADER);
294+ result = -1;
295+ goto out;
296+ }
297+
298+ /* We can directly access the memory. */
299+ num = ((Elf64_Shdr *) (elf->map_address + elf->start_offset
300+ + offset))->sh_link;
301+ }
302 else
303 {
304 /* We avoid reading in all the section headers. Just read
305Index: elfutils-0.148/libelf/elf_newscn.c
306===================================================================
307--- elfutils-0.148.orig/libelf/elf_newscn.c 2009-01-08 20:56:37.000000000 +0000
308+++ elfutils-0.148/libelf/elf_newscn.c 2010-07-03 13:07:11.000000000 +0000
309@@ -104,10 +104,18 @@
310 else
311 {
312 /* We must allocate a new element. */
313- Elf_ScnList *newp;
314+ Elf_ScnList *newp = NULL;
315
316 assert (elf->state.elf.scnincr > 0);
317
318+ if (
319+#if SIZE_MAX <= 4294967295U
320+ likely (elf->state.elf.scnincr
321+ < SIZE_MAX / 2 / sizeof (Elf_Scn) - sizeof (Elf_ScnList))
322+#else
323+ 1
324+#endif
325+ )
326 newp = (Elf_ScnList *) calloc (sizeof (Elf_ScnList)
327 + ((elf->state.elf.scnincr *= 2)
328 * sizeof (Elf_Scn)), 1);
329Index: elfutils-0.148/libelf/gelf_getdyn.c
330===================================================================
331--- elfutils-0.148.orig/libelf/gelf_getdyn.c 2009-01-08 20:56:37.000000000 +0000
332+++ elfutils-0.148/libelf/gelf_getdyn.c 2010-07-03 13:07:11.000000000 +0000
333@@ -1,5 +1,5 @@
334 /* Get information from dynamic table at the given index.
335- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
336+ Copyright (C) 2000-2009 Red Hat, Inc.
337 This file is part of Red Hat elfutils.
338 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
339
340@@ -93,7 +93,7 @@
341 table entries has to be adopted. The user better has provided
342 a buffer where we can store the information. While copying the
343 data we are converting the format. */
344- if (unlikely ((ndx + 1) * sizeof (Elf32_Dyn) > data_scn->d.d_size))
345+ if (INVALID_NDX (ndx, Elf32_Dyn, &data_scn->d))
346 {
347 __libelf_seterrno (ELF_E_INVALID_INDEX);
348 goto out;
349@@ -114,7 +114,7 @@
350
351 /* The data is already in the correct form. Just make sure the
352 index is OK. */
353- if (unlikely ((ndx + 1) * sizeof (GElf_Dyn) > data_scn->d.d_size))
354+ if (INVALID_NDX (ndx, GElf_Dyn, &data_scn->d))
355 {
356 __libelf_seterrno (ELF_E_INVALID_INDEX);
357 goto out;
358Index: elfutils-0.148/libelf/gelf_getlib.c
359===================================================================
360--- elfutils-0.148.orig/libelf/gelf_getlib.c 2009-01-08 20:56:37.000000000 +0000
361+++ elfutils-0.148/libelf/gelf_getlib.c 2010-07-03 13:07:11.000000000 +0000
362@@ -1,5 +1,5 @@
363 /* Get library from table at the given index.
364- Copyright (C) 2004 Red Hat, Inc.
365+ Copyright (C) 2004-2009 Red Hat, Inc.
366 This file is part of Red Hat elfutils.
367 Written by Ulrich Drepper <drepper@redhat.com>, 2004.
368
369@@ -86,7 +86,7 @@
370 /* The data is already in the correct form. Just make sure the
371 index is OK. */
372 GElf_Lib *result = NULL;
373- if (unlikely ((ndx + 1) * sizeof (GElf_Lib) > data->d_size))
374+ if (INVALID_NDX (ndx, GElf_Lib, data))
375 __libelf_seterrno (ELF_E_INVALID_INDEX);
376 else
377 {
378Index: elfutils-0.148/libelf/gelf_getmove.c
379===================================================================
380--- elfutils-0.148.orig/libelf/gelf_getmove.c 2009-01-08 20:56:37.000000000 +0000
381+++ elfutils-0.148/libelf/gelf_getmove.c 2010-07-03 13:07:11.000000000 +0000
382@@ -1,5 +1,5 @@
383 /* Get move structure at the given index.
384- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
385+ Copyright (C) 2000-2009 Red Hat, Inc.
386 This file is part of Red Hat elfutils.
387 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
388
389@@ -83,7 +83,7 @@
390
391 /* The data is already in the correct form. Just make sure the
392 index is OK. */
393- if (unlikely ((ndx + 1) * sizeof (GElf_Move) > data->d_size))
394+ if (INVALID_NDX (ndx, GElf_Move, data))
395 {
396 __libelf_seterrno (ELF_E_INVALID_INDEX);
397 goto out;
398Index: elfutils-0.148/libelf/gelf_getrela.c
399===================================================================
400--- elfutils-0.148.orig/libelf/gelf_getrela.c 2009-01-08 20:56:37.000000000 +0000
401+++ elfutils-0.148/libelf/gelf_getrela.c 2010-07-03 13:07:11.000000000 +0000
402@@ -1,5 +1,5 @@
403 /* Get RELA relocation information at given index.
404- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
405+ Copyright (C) 2000-2009 Red Hat, Inc.
406 This file is part of Red Hat elfutils.
407 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
408
409@@ -71,12 +71,6 @@
410 if (data_scn == NULL)
411 return NULL;
412
413- if (unlikely (ndx < 0))
414- {
415- __libelf_seterrno (ELF_E_INVALID_INDEX);
416- return NULL;
417- }
418-
419 if (unlikely (data_scn->d.d_type != ELF_T_RELA))
420 {
421 __libelf_seterrno (ELF_E_INVALID_HANDLE);
422@@ -93,7 +87,7 @@
423 if (scn->elf->class == ELFCLASS32)
424 {
425 /* We have to convert the data. */
426- if (unlikely ((ndx + 1) * sizeof (Elf32_Rela) > data_scn->d.d_size))
427+ if (INVALID_NDX (ndx, Elf32_Rela, &data_scn->d))
428 {
429 __libelf_seterrno (ELF_E_INVALID_INDEX);
430 result = NULL;
431@@ -114,7 +108,7 @@
432 {
433 /* Simply copy the data after we made sure we are actually getting
434 correct data. */
435- if (unlikely ((ndx + 1) * sizeof (Elf64_Rela) > data_scn->d.d_size))
436+ if (INVALID_NDX (ndx, Elf64_Rela, &data_scn->d))
437 {
438 __libelf_seterrno (ELF_E_INVALID_INDEX);
439 result = NULL;
440Index: elfutils-0.148/libelf/gelf_getrel.c
441===================================================================
442--- elfutils-0.148.orig/libelf/gelf_getrel.c 2009-01-08 20:56:37.000000000 +0000
443+++ elfutils-0.148/libelf/gelf_getrel.c 2010-07-03 13:07:11.000000000 +0000
444@@ -1,5 +1,5 @@
445 /* Get REL relocation information at given index.
446- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
447+ Copyright (C) 2000-2009 Red Hat, Inc.
448 This file is part of Red Hat elfutils.
449 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
450
451@@ -71,12 +71,6 @@
452 if (data_scn == NULL)
453 return NULL;
454
455- if (unlikely (ndx < 0))
456- {
457- __libelf_seterrno (ELF_E_INVALID_INDEX);
458- return NULL;
459- }
460-
461 if (unlikely (data_scn->d.d_type != ELF_T_REL))
462 {
463 __libelf_seterrno (ELF_E_INVALID_HANDLE);
464@@ -93,7 +87,7 @@
465 if (scn->elf->class == ELFCLASS32)
466 {
467 /* We have to convert the data. */
468- if (unlikely ((ndx + 1) * sizeof (Elf32_Rel) > data_scn->d.d_size))
469+ if (INVALID_NDX (ndx, Elf32_Rel, &data_scn->d))
470 {
471 __libelf_seterrno (ELF_E_INVALID_INDEX);
472 result = NULL;
473@@ -113,7 +107,7 @@
474 {
475 /* Simply copy the data after we made sure we are actually getting
476 correct data. */
477- if (unlikely ((ndx + 1) * sizeof (Elf64_Rel) > data_scn->d.d_size))
478+ if (INVALID_NDX (ndx, Elf64_Rel, &data_scn->d))
479 {
480 __libelf_seterrno (ELF_E_INVALID_INDEX);
481 result = NULL;
482Index: elfutils-0.148/libelf/gelf_getsym.c
483===================================================================
484--- elfutils-0.148.orig/libelf/gelf_getsym.c 2009-01-08 20:56:37.000000000 +0000
485+++ elfutils-0.148/libelf/gelf_getsym.c 2010-07-03 13:07:11.000000000 +0000
486@@ -1,5 +1,5 @@
487 /* Get symbol information from symbol table at the given index.
488- Copyright (C) 1999, 2000, 2001, 2002 Red Hat, Inc.
489+ Copyright (C) 1999-2009 Red Hat, Inc.
490 This file is part of Red Hat elfutils.
491 Written by Ulrich Drepper <drepper@redhat.com>, 1999.
492
493@@ -90,7 +90,7 @@
494 table entries has to be adopted. The user better has provided
495 a buffer where we can store the information. While copying the
496 data we are converting the format. */
497- if (unlikely ((ndx + 1) * sizeof (Elf32_Sym) > data->d_size))
498+ if (INVALID_NDX (ndx, Elf32_Sym, data))
499 {
500 __libelf_seterrno (ELF_E_INVALID_INDEX);
501 goto out;
502@@ -119,7 +119,7 @@
503
504 /* The data is already in the correct form. Just make sure the
505 index is OK. */
506- if (unlikely ((ndx + 1) * sizeof (GElf_Sym) > data->d_size))
507+ if (INVALID_NDX (ndx, GElf_Sym, data))
508 {
509 __libelf_seterrno (ELF_E_INVALID_INDEX);
510 goto out;
511Index: elfutils-0.148/libelf/gelf_getsyminfo.c
512===================================================================
513--- elfutils-0.148.orig/libelf/gelf_getsyminfo.c 2009-01-08 20:56:37.000000000 +0000
514+++ elfutils-0.148/libelf/gelf_getsyminfo.c 2010-07-03 13:07:11.000000000 +0000
515@@ -1,5 +1,5 @@
516 /* Get additional symbol information from symbol table at the given index.
517- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
518+ Copyright (C) 2000-2009 Red Hat, Inc.
519 This file is part of Red Hat elfutils.
520 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
521
522@@ -84,7 +84,7 @@
523
524 /* The data is already in the correct form. Just make sure the
525 index is OK. */
526- if (unlikely ((ndx + 1) * sizeof (GElf_Syminfo) > data->d_size))
527+ if (INVALID_NDX (ndx, GElf_Syminfo, data))
528 {
529 __libelf_seterrno (ELF_E_INVALID_INDEX);
530 goto out;
531Index: elfutils-0.148/libelf/gelf_getsymshndx.c
532===================================================================
533--- elfutils-0.148.orig/libelf/gelf_getsymshndx.c 2009-01-08 20:56:37.000000000 +0000
534+++ elfutils-0.148/libelf/gelf_getsymshndx.c 2010-07-03 13:07:11.000000000 +0000
535@@ -1,6 +1,6 @@
536 /* Get symbol information and separate section index from symbol table
537 at the given index.
538- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
539+ Copyright (C) 2000-2009 Red Hat, Inc.
540 This file is part of Red Hat elfutils.
541 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
542
543@@ -90,7 +90,7 @@
544 section index table. */
545 if (likely (shndxdata_scn != NULL))
546 {
547- if (unlikely ((ndx + 1) * sizeof (Elf32_Word) > shndxdata_scn->d.d_size))
548+ if (INVALID_NDX (ndx, Elf32_Word, &shndxdata_scn->d))
549 {
550 __libelf_seterrno (ELF_E_INVALID_INDEX);
551 goto out;
552@@ -110,7 +110,7 @@
553 table entries has to be adopted. The user better has provided
554 a buffer where we can store the information. While copying the
555 data we are converting the format. */
556- if (unlikely ((ndx + 1) * sizeof (Elf32_Sym) > symdata->d_size))
557+ if (INVALID_NDX (ndx, Elf32_Sym, symdata))
558 {
559 __libelf_seterrno (ELF_E_INVALID_INDEX);
560 goto out;
561@@ -139,7 +139,7 @@
562
563 /* The data is already in the correct form. Just make sure the
564 index is OK. */
565- if (unlikely ((ndx + 1) * sizeof (GElf_Sym) > symdata->d_size))
566+ if (INVALID_NDX (ndx, GElf_Sym, symdata))
567 {
568 __libelf_seterrno (ELF_E_INVALID_INDEX);
569 goto out;
570Index: elfutils-0.148/libelf/gelf_getversym.c
571===================================================================
572--- elfutils-0.148.orig/libelf/gelf_getversym.c 2009-01-08 20:56:37.000000000 +0000
573+++ elfutils-0.148/libelf/gelf_getversym.c 2010-07-03 13:07:11.000000000 +0000
574@@ -1,5 +1,5 @@
575 /* Get symbol version information at the given index.
576- Copyright (C) 1999, 2000, 2001, 2002 Red Hat, Inc.
577+ Copyright (C) 1999-2009 Red Hat, Inc.
578 This file is part of Red Hat elfutils.
579 Written by Ulrich Drepper <drepper@redhat.com>, 1999.
580
581@@ -92,7 +92,7 @@
582
583 /* The data is already in the correct form. Just make sure the
584 index is OK. */
585- if (unlikely ((ndx + 1) * sizeof (GElf_Versym) > data->d_size))
586+ if (INVALID_NDX (ndx, GElf_Versym, data))
587 {
588 __libelf_seterrno (ELF_E_INVALID_INDEX);
589 result = NULL;
590Index: elfutils-0.148/libelf/gelf_update_dyn.c
591===================================================================
592--- elfutils-0.148.orig/libelf/gelf_update_dyn.c 2009-01-08 20:56:37.000000000 +0000
593+++ elfutils-0.148/libelf/gelf_update_dyn.c 2010-07-03 13:07:11.000000000 +0000
594@@ -1,5 +1,5 @@
595 /* Update information in dynamic table at the given index.
596- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
597+ Copyright (C) 2000-2009 Red Hat, Inc.
598 This file is part of Red Hat elfutils.
599 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
600
601@@ -71,12 +71,6 @@
602 if (data == NULL)
603 return 0;
604
605- if (unlikely (ndx < 0))
606- {
607- __libelf_seterrno (ELF_E_INVALID_INDEX);
608- return 0;
609- }
610-
611 if (unlikely (data_scn->d.d_type != ELF_T_DYN))
612 {
613 /* The type of the data better should match. */
614@@ -102,7 +96,7 @@
615 }
616
617 /* Check whether we have to resize the data buffer. */
618- if (unlikely ((ndx + 1) * sizeof (Elf32_Dyn) > data_scn->d.d_size))
619+ if (INVALID_NDX (ndx, Elf32_Dyn, &data_scn->d))
620 {
621 __libelf_seterrno (ELF_E_INVALID_INDEX);
622 goto out;
623@@ -116,7 +110,7 @@
624 else
625 {
626 /* Check whether we have to resize the data buffer. */
627- if (unlikely ((ndx + 1) * sizeof (Elf64_Dyn) > data_scn->d.d_size))
628+ if (INVALID_NDX (ndx, Elf64_Dyn, &data_scn->d))
629 {
630 __libelf_seterrno (ELF_E_INVALID_INDEX);
631 goto out;
632Index: elfutils-0.148/libelf/gelf_update_lib.c
633===================================================================
634--- elfutils-0.148.orig/libelf/gelf_update_lib.c 2009-01-08 20:56:37.000000000 +0000
635+++ elfutils-0.148/libelf/gelf_update_lib.c 2010-07-03 13:07:11.000000000 +0000
636@@ -1,5 +1,5 @@
637 /* Update library in table at the given index.
638- Copyright (C) 2004 Red Hat, Inc.
639+ Copyright (C) 2004-2009 Red Hat, Inc.
640 This file is part of Red Hat elfutils.
641 Written by Ulrich Drepper <drepper@redhat.com>, 2004.
642
643@@ -68,12 +68,6 @@
644 if (data == NULL)
645 return 0;
646
647- if (unlikely (ndx < 0))
648- {
649- __libelf_seterrno (ELF_E_INVALID_INDEX);
650- return 0;
651- }
652-
653 Elf_Data_Scn *data_scn = (Elf_Data_Scn *) data;
654 if (unlikely (data_scn->d.d_type != ELF_T_LIB))
655 {
656@@ -87,7 +81,7 @@
657
658 /* Check whether we have to resize the data buffer. */
659 int result = 0;
660- if (unlikely ((ndx + 1) * sizeof (Elf64_Lib) > data_scn->d.d_size))
661+ if (INVALID_NDX (ndx, Elf64_Lib, &data_scn->d))
662 __libelf_seterrno (ELF_E_INVALID_INDEX);
663 else
664 {
665Index: elfutils-0.148/libelf/gelf_update_move.c
666===================================================================
667--- elfutils-0.148.orig/libelf/gelf_update_move.c 2009-01-08 20:56:37.000000000 +0000
668+++ elfutils-0.148/libelf/gelf_update_move.c 2010-07-03 13:07:11.000000000 +0000
669@@ -1,5 +1,5 @@
670 /* Update move structure at the given index.
671- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
672+ Copyright (C) 2000-2009 Red Hat, Inc.
673 This file is part of Red Hat elfutils.
674 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
675
676@@ -75,8 +75,7 @@
677 assert (sizeof (GElf_Move) == sizeof (Elf64_Move));
678
679 /* Check whether we have to resize the data buffer. */
680- if (unlikely (ndx < 0)
681- || unlikely ((ndx + 1) * sizeof (GElf_Move) > data_scn->d.d_size))
682+ if (INVALID_NDX (ndx, GElf_Move, &data_scn->d))
683 {
684 __libelf_seterrno (ELF_E_INVALID_INDEX);
685 return 0;
686Index: elfutils-0.148/libelf/gelf_update_rela.c
687===================================================================
688--- elfutils-0.148.orig/libelf/gelf_update_rela.c 2009-01-08 20:56:37.000000000 +0000
689+++ elfutils-0.148/libelf/gelf_update_rela.c 2010-07-03 13:07:11.000000000 +0000
690@@ -1,5 +1,5 @@
691 /* Update RELA relocation information at given index.
692- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
693+ Copyright (C) 2000-2009 Red Hat, Inc.
694 This file is part of Red Hat elfutils.
695 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
696
697@@ -68,12 +68,6 @@
698 if (dst == NULL)
699 return 0;
700
701- if (unlikely (ndx < 0))
702- {
703- __libelf_seterrno (ELF_E_INVALID_INDEX);
704- return 0;
705- }
706-
707 if (unlikely (data_scn->d.d_type != ELF_T_RELA))
708 {
709 /* The type of the data better should match. */
710@@ -101,7 +95,7 @@
711 }
712
713 /* Check whether we have to resize the data buffer. */
714- if (unlikely ((ndx + 1) * sizeof (Elf32_Rela) > data_scn->d.d_size))
715+ if (INVALID_NDX (ndx, Elf32_Rela, &data_scn->d))
716 {
717 __libelf_seterrno (ELF_E_INVALID_INDEX);
718 goto out;
719@@ -117,7 +111,7 @@
720 else
721 {
722 /* Check whether we have to resize the data buffer. */
723- if (unlikely ((ndx + 1) * sizeof (Elf64_Rela) > data_scn->d.d_size))
724+ if (INVALID_NDX (ndx, Elf64_Rela, &data_scn->d))
725 {
726 __libelf_seterrno (ELF_E_INVALID_INDEX);
727 goto out;
728Index: elfutils-0.148/libelf/gelf_update_rel.c
729===================================================================
730--- elfutils-0.148.orig/libelf/gelf_update_rel.c 2009-01-08 20:56:37.000000000 +0000
731+++ elfutils-0.148/libelf/gelf_update_rel.c 2010-07-03 13:07:11.000000000 +0000
732@@ -1,5 +1,5 @@
733 /* Update REL relocation information at given index.
734- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
735+ Copyright (C) 2000-2009 Red Hat, Inc.
736 This file is part of Red Hat elfutils.
737 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
738
739@@ -68,12 +68,6 @@
740 if (dst == NULL)
741 return 0;
742
743- if (unlikely (ndx < 0))
744- {
745- __libelf_seterrno (ELF_E_INVALID_INDEX);
746- return 0;
747- }
748-
749 if (unlikely (data_scn->d.d_type != ELF_T_REL))
750 {
751 /* The type of the data better should match. */
752@@ -99,7 +93,7 @@
753 }
754
755 /* Check whether we have to resize the data buffer. */
756- if (unlikely ((ndx + 1) * sizeof (Elf32_Rel) > data_scn->d.d_size))
757+ if (INVALID_NDX (ndx, Elf32_Rel, &data_scn->d))
758 {
759 __libelf_seterrno (ELF_E_INVALID_INDEX);
760 goto out;
761@@ -114,7 +108,7 @@
762 else
763 {
764 /* Check whether we have to resize the data buffer. */
765- if (unlikely ((ndx + 1) * sizeof (Elf64_Rel) > data_scn->d.d_size))
766+ if (INVALID_NDX (ndx, Elf64_Rel, &data_scn->d))
767 {
768 __libelf_seterrno (ELF_E_INVALID_INDEX);
769 goto out;
770Index: elfutils-0.148/libelf/gelf_update_sym.c
771===================================================================
772--- elfutils-0.148.orig/libelf/gelf_update_sym.c 2009-01-08 20:56:37.000000000 +0000
773+++ elfutils-0.148/libelf/gelf_update_sym.c 2010-07-03 13:07:11.000000000 +0000
774@@ -1,5 +1,5 @@
775 /* Update symbol information in symbol table at the given index.
776- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
777+ Copyright (C) 2000-2009 Red Hat, Inc.
778 This file is part of Red Hat elfutils.
779 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
780
781@@ -72,12 +72,6 @@
782 if (data == NULL)
783 return 0;
784
785- if (unlikely (ndx < 0))
786- {
787- __libelf_seterrno (ELF_E_INVALID_INDEX);
788- return 0;
789- }
790-
791 if (unlikely (data_scn->d.d_type != ELF_T_SYM))
792 {
793 /* The type of the data better should match. */
794@@ -102,7 +96,7 @@
795 }
796
797 /* Check whether we have to resize the data buffer. */
798- if (unlikely ((ndx + 1) * sizeof (Elf32_Sym) > data_scn->d.d_size))
799+ if (INVALID_NDX (ndx, Elf32_Sym, &data_scn->d))
800 {
801 __libelf_seterrno (ELF_E_INVALID_INDEX);
802 goto out;
803@@ -125,7 +119,7 @@
804 else
805 {
806 /* Check whether we have to resize the data buffer. */
807- if (unlikely ((ndx + 1) * sizeof (Elf64_Sym) > data_scn->d.d_size))
808+ if (INVALID_NDX (ndx, Elf64_Sym, &data_scn->d))
809 {
810 __libelf_seterrno (ELF_E_INVALID_INDEX);
811 goto out;
812Index: elfutils-0.148/libelf/gelf_update_syminfo.c
813===================================================================
814--- elfutils-0.148.orig/libelf/gelf_update_syminfo.c 2009-01-08 20:56:37.000000000 +0000
815+++ elfutils-0.148/libelf/gelf_update_syminfo.c 2010-07-03 13:07:11.000000000 +0000
816@@ -1,5 +1,5 @@
817 /* Update additional symbol information in symbol table at the given index.
818- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
819+ Copyright (C) 2000-2009 Red Hat, Inc.
820 This file is part of Red Hat elfutils.
821 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
822
823@@ -72,12 +72,6 @@
824 if (data == NULL)
825 return 0;
826
827- if (unlikely (ndx < 0))
828- {
829- __libelf_seterrno (ELF_E_INVALID_INDEX);
830- return 0;
831- }
832-
833 if (unlikely (data_scn->d.d_type != ELF_T_SYMINFO))
834 {
835 /* The type of the data better should match. */
836@@ -93,7 +87,7 @@
837 rwlock_wrlock (scn->elf->lock);
838
839 /* Check whether we have to resize the data buffer. */
840- if (unlikely ((ndx + 1) * sizeof (GElf_Syminfo) > data_scn->d.d_size))
841+ if (INVALID_NDX (ndx, GElf_Syminfo, &data_scn->d))
842 {
843 __libelf_seterrno (ELF_E_INVALID_INDEX);
844 goto out;
845Index: elfutils-0.148/libelf/gelf_update_symshndx.c
846===================================================================
847--- elfutils-0.148.orig/libelf/gelf_update_symshndx.c 2009-01-08 20:56:37.000000000 +0000
848+++ elfutils-0.148/libelf/gelf_update_symshndx.c 2010-07-03 13:07:11.000000000 +0000
849@@ -1,6 +1,6 @@
850 /* Update symbol information and section index in symbol table at the
851 given index.
852- Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
853+ Copyright (C) 2000-2009 Red Hat, Inc.
854 This file is part of Red Hat elfutils.
855 Written by Ulrich Drepper <drepper@redhat.com>, 2000.
856
857@@ -77,12 +77,6 @@
858 if (symdata == NULL)
859 return 0;
860
861- if (unlikely (ndx < 0))
862- {
863- __libelf_seterrno (ELF_E_INVALID_INDEX);
864- return 0;
865- }
866-
867 if (unlikely (symdata_scn->d.d_type != ELF_T_SYM))
868 {
869 /* The type of the data better should match. */
870@@ -128,7 +122,7 @@
871 }
872
873 /* Check whether we have to resize the data buffer. */
874- if (unlikely ((ndx + 1) * sizeof (Elf32_Sym) > symdata_scn->d.d_size))
875+ if (INVALID_NDX (ndx, Elf32_Sym, &symdata_scn->d))
876 {
877 __libelf_seterrno (ELF_E_INVALID_INDEX);
878 goto out;
879@@ -151,7 +145,7 @@
880 else
881 {
882 /* Check whether we have to resize the data buffer. */
883- if (unlikely ((ndx + 1) * sizeof (Elf64_Sym) > symdata_scn->d.d_size))
884+ if (INVALID_NDX (ndx, Elf64_Sym, &symdata_scn->d))
885 {
886 __libelf_seterrno (ELF_E_INVALID_INDEX);
887 goto out;
888Index: elfutils-0.148/libelf/gelf_update_versym.c
889===================================================================
890--- elfutils-0.148.orig/libelf/gelf_update_versym.c 2009-01-08 20:56:37.000000000 +0000
891+++ elfutils-0.148/libelf/gelf_update_versym.c 2010-07-03 13:07:11.000000000 +0000
892@@ -1,5 +1,5 @@
893 /* Update symbol version information.
894- Copyright (C) 2001, 2002 Red Hat, Inc.
895+ Copyright (C) 2001-2009 Red Hat, Inc.
896 This file is part of Red Hat elfutils.
897 Written by Ulrich Drepper <drepper@redhat.com>, 2001.
898
899@@ -75,8 +75,7 @@
900 assert (sizeof (GElf_Versym) == sizeof (Elf64_Versym));
901
902 /* Check whether we have to resize the data buffer. */
903- if (unlikely (ndx < 0)
904- || unlikely ((ndx + 1) * sizeof (GElf_Versym) > data_scn->d.d_size))
905+ if (INVALID_NDX (ndx, GElf_Versym, &data_scn->d))
906 {
907 __libelf_seterrno (ELF_E_INVALID_INDEX);
908 return 0;
909Index: elfutils-0.148/libelf/libelfP.h
910===================================================================
911--- elfutils-0.148.orig/libelf/libelfP.h 2010-01-12 16:57:54.000000000 +0000
912+++ elfutils-0.148/libelf/libelfP.h 2010-07-03 13:07:11.000000000 +0000
913@@ -608,4 +608,8 @@
914 /* Align offset to 4 bytes as needed for note name and descriptor data. */
915 #define NOTE_ALIGN(n) (((n) + 3) & -4U)
916
917+/* Convenience macro. */
918+#define INVALID_NDX(ndx, type, data) \
919+ unlikely ((data)->d_size / sizeof (type) <= (unsigned int) (ndx))
920+
921 #endif /* libelfP.h */
922Index: elfutils-0.148/src/ChangeLog
923===================================================================
924--- elfutils-0.148.orig/src/ChangeLog 2010-07-03 13:07:10.000000000 +0000
925+++ elfutils-0.148/src/ChangeLog 2010-07-03 13:07:11.000000000 +0000
926@@ -1640,6 +1640,16 @@
927 object symbols or symbols with unknown type.
928 (check_rel): Likewise.
929
930+2005-06-09 Roland McGrath <roland@redhat.com>
931+
932+ * readelf.c (handle_dynamic, handle_symtab): Check for bogus sh_link.
933+ (handle_verneed, handle_verdef, handle_versym, handle_hash): Likewise.
934+ (handle_scngrp): Check for bogus sh_info.
935+
936+ * strip.c (handle_elf): Check for bogus values in sh_link, sh_info,
937+ st_shndx, e_shstrndx, and SHT_GROUP or SHT_SYMTAB_SHNDX data.
938+ Don't use assert on input values, instead bail with "illformed" error.
939+
940 2005-06-08 Roland McGrath <roland@redhat.com>
941
942 * readelf.c (print_ops): Add consts.
943@@ -1690,6 +1700,19 @@
944
945 * readelf.c (dwarf_tag_string): Add new tags.
946
947+2005-05-17 Jakub Jelinek <jakub@redhat.com>
948+
949+ * elflint.c (check_hash): Don't check entries beyond end of section.
950+ (check_note): Don't crash if gelf_rawchunk fails.
951+ (section_name): Return <invalid> if gelf_getshdr returns NULL.
952+
953+2005-05-14 Jakub Jelinek <jakub@redhat.com>
954+
955+ * elflint.c (section_name): Return "<invalid>" instead of
956+ crashing on invalid section name.
957+ (check_symtab, is_rel_dyn, check_rela, check_rel, check_dynamic,
958+ check_symtab_shndx, check_hash, check_versym): Robustify.
959+
960 2005-05-08 Roland McGrath <roland@redhat.com>
961
962 * strip.c (handle_elf): Don't translate hash and versym data formats,
963Index: elfutils-0.148/src/elflint.c
964===================================================================
965--- elfutils-0.148.orig/src/elflint.c 2010-04-13 20:08:02.000000000 +0000
966+++ elfutils-0.148/src/elflint.c 2010-07-03 13:07:11.000000000 +0000
967@@ -131,6 +131,10 @@
968 /* Array to count references in section groups. */
969 static int *scnref;
970
971+/* Numbers of sections and program headers. */
972+static unsigned int shnum;
973+static unsigned int phnum;
974+
975
976 int
977 main (int argc, char *argv[])
978@@ -319,10 +323,19 @@
979 {
980 GElf_Shdr shdr_mem;
981 GElf_Shdr *shdr;
982+ const char *ret;
983+
984+ if ((unsigned int) idx > shnum)
985+ return "<invalid>";
986
987 shdr = gelf_getshdr (elf_getscn (ebl->elf, idx), &shdr_mem);
988+ if (shdr == NULL)
989+ return "<invalid>";
990
991- return elf_strptr (ebl->elf, shstrndx, shdr->sh_name);
992+ ret = elf_strptr (ebl->elf, shstrndx, shdr->sh_name);
993+ if (ret == NULL)
994+ return "<invalid>";
995+ return ret;
996 }
997
998
999@@ -344,11 +357,6 @@
1000 (sizeof (valid_e_machine) / sizeof (valid_e_machine[0]))
1001
1002
1003-/* Numbers of sections and program headers. */
1004-static unsigned int shnum;
1005-static unsigned int phnum;
1006-
1007-
1008 static void
1009 check_elf_header (Ebl *ebl, GElf_Ehdr *ehdr, size_t size)
1010 {
1011@@ -632,7 +640,8 @@
1012 }
1013 }
1014
1015- if (shdr->sh_entsize != gelf_fsize (ebl->elf, ELF_T_SYM, 1, EV_CURRENT))
1016+ size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_SYM, 1, EV_CURRENT);
1017+ if (shdr->sh_entsize != sh_entsize)
1018 ERROR (gettext ("\
1019 section [%2u] '%s': entry size is does not match ElfXX_Sym\n"),
1020 idx, section_name (ebl, idx));
1021@@ -670,7 +679,7 @@
1022 xndxscnidx, section_name (ebl, xndxscnidx));
1023 }
1024
1025- for (size_t cnt = 1; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt)
1026+ for (size_t cnt = 1; cnt < shdr->sh_size / sh_entsize; ++cnt)
1027 {
1028 sym = gelf_getsymshndx (data, xndxdata, cnt, &sym_mem, &xndx);
1029 if (sym == NULL)
1030@@ -690,7 +699,8 @@
1031 else
1032 {
1033 name = elf_strptr (ebl->elf, shdr->sh_link, sym->st_name);
1034- assert (name != NULL);
1035+ assert (name != NULL
1036+ || strshdr->sh_type != SHT_STRTAB);
1037 }
1038
1039 if (sym->st_shndx == SHN_XINDEX)
1040@@ -1038,9 +1048,11 @@
1041 {
1042 GElf_Shdr rcshdr_mem;
1043 const GElf_Shdr *rcshdr = gelf_getshdr (scn, &rcshdr_mem);
1044- assert (rcshdr != NULL);
1045
1046- if (rcshdr->sh_type == SHT_DYNAMIC)
1047+ if (rcshdr == NULL)
1048+ break;
1049+
1050+ if (rcshdr->sh_type == SHT_DYNAMIC && rcshdr->sh_entsize)
1051 {
1052 /* Found the dynamic section. Look through it. */
1053 Elf_Data *d = elf_getdata (scn, NULL);
1054@@ -1050,7 +1062,9 @@
1055 {
1056 GElf_Dyn dyn_mem;
1057 GElf_Dyn *dyn = gelf_getdyn (d, cnt, &dyn_mem);
1058- assert (dyn != NULL);
1059+
1060+ if (dyn == NULL)
1061+ break;
1062
1063 if (dyn->d_tag == DT_RELCOUNT)
1064 {
1065@@ -1064,7 +1078,9 @@
1066 /* Does the number specified number of relative
1067 relocations exceed the total number of
1068 relocations? */
1069- if (dyn->d_un.d_val > shdr->sh_size / shdr->sh_entsize)
1070+ if (shdr->sh_entsize != 0
1071+ && dyn->d_un.d_val > (shdr->sh_size
1072+ / shdr->sh_entsize))
1073 ERROR (gettext ("\
1074 section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n"),
1075 idx, section_name (ebl, idx),
1076@@ -1224,7 +1240,8 @@
1077 }
1078 }
1079
1080- if (shdr->sh_entsize != gelf_fsize (ebl->elf, reltype, 1, EV_CURRENT))
1081+ size_t sh_entsize = gelf_fsize (ebl->elf, reltype, 1, EV_CURRENT);
1082+ if (shdr->sh_entsize != sh_entsize)
1083 ERROR (gettext (reltype == ELF_T_RELA ? "\
1084 section [%2d] '%s': section entry size does not match ElfXX_Rela\n" : "\
1085 section [%2d] '%s': section entry size does not match ElfXX_Rel\n"),
1086@@ -1447,7 +1464,8 @@
1087 Elf_Data *symdata = elf_getdata (symscn, NULL);
1088 enum load_state state = state_undecided;
1089
1090- for (size_t cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt)
1091+ size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_RELA, 1, EV_CURRENT);
1092+ for (size_t cnt = 0; cnt < shdr->sh_size / sh_entsize; ++cnt)
1093 {
1094 GElf_Rela rela_mem;
1095 GElf_Rela *rela = gelf_getrela (data, cnt, &rela_mem);
1096@@ -1497,7 +1515,8 @@
1097 Elf_Data *symdata = elf_getdata (symscn, NULL);
1098 enum load_state state = state_undecided;
1099
1100- for (size_t cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt)
1101+ size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_REL, 1, EV_CURRENT);
1102+ for (size_t cnt = 0; cnt < shdr->sh_size / sh_entsize; ++cnt)
1103 {
1104 GElf_Rel rel_mem;
1105 GElf_Rel *rel = gelf_getrel (data, cnt, &rel_mem);
1106@@ -1600,7 +1619,8 @@
1107 shdr->sh_link, section_name (ebl, shdr->sh_link),
1108 idx, section_name (ebl, idx));
1109
1110- if (shdr->sh_entsize != gelf_fsize (ebl->elf, ELF_T_DYN, 1, EV_CURRENT))
1111+ size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_DYN, 1, EV_CURRENT);
1112+ if (shdr->sh_entsize != sh_entsize)
1113 ERROR (gettext ("\
1114 section [%2d] '%s': section entry size does not match ElfXX_Dyn\n"),
1115 idx, section_name (ebl, idx));
1116@@ -1610,7 +1630,7 @@
1117 idx, section_name (ebl, idx));
1118
1119 bool non_null_warned = false;
1120- for (cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt)
1121+ for (cnt = 0; cnt < shdr->sh_size / sh_entsize; ++cnt)
1122 {
1123 GElf_Dyn dyn_mem;
1124 GElf_Dyn *dyn = gelf_getdyn (data, cnt, &dyn_mem);
1125@@ -1891,6 +1911,8 @@
1126 idx, section_name (ebl, idx));
1127
1128 if (symshdr != NULL
1129+ && shdr->sh_entsize
1130+ && symshdr->sh_entsize
1131 && (shdr->sh_size / shdr->sh_entsize
1132 < symshdr->sh_size / symshdr->sh_entsize))
1133 ERROR (gettext ("\
1134@@ -1917,6 +1939,12 @@
1135 }
1136
1137 Elf_Data *data = elf_getdata (elf_getscn (ebl->elf, idx), NULL);
1138+ if (data == NULL)
1139+ {
1140+ ERROR (gettext ("section [%2d] '%s': cannot get section data\n"),
1141+ idx, section_name (ebl, idx));
1142+ return;
1143+ }
1144
1145 if (*((Elf32_Word *) data->d_buf) != 0)
1146 ERROR (gettext ("symbol 0 should have zero extended section index\n"));
1147@@ -1959,7 +1987,7 @@
1148
1149 size_t maxidx = nchain;
1150
1151- if (symshdr != NULL)
1152+ if (symshdr != NULL && symshdr->sh_entsize != 0)
1153 {
1154 size_t symsize = symshdr->sh_size / symshdr->sh_entsize;
1155
1156@@ -1970,18 +1998,28 @@
1157 maxidx = symsize;
1158 }
1159
1160+ Elf32_Word *buf = (Elf32_Word *) data->d_buf;
1161+ Elf32_Word *end = (Elf32_Word *) ((char *) data->d_buf + shdr->sh_size);
1162 size_t cnt;
1163 for (cnt = 2; cnt < 2 + nbucket; ++cnt)
1164- if (((Elf32_Word *) data->d_buf)[cnt] >= maxidx)
1165+ {
1166+ if (buf + cnt >= end)
1167+ break;
1168+ else if (buf[cnt] >= maxidx)
1169 ERROR (gettext ("\
1170 section [%2d] '%s': hash bucket reference %zu out of bounds\n"),
1171 idx, section_name (ebl, idx), cnt - 2);
1172+ }
1173
1174 for (; cnt < 2 + nbucket + nchain; ++cnt)
1175- if (((Elf32_Word *) data->d_buf)[cnt] >= maxidx)
1176+ {
1177+ if (buf + cnt >= end)
1178+ break;
1179+ else if (buf[cnt] >= maxidx)
1180 ERROR (gettext ("\
1181 section [%2d] '%s': hash chain reference %zu out of bounds\n"),
1182 idx, section_name (ebl, idx), cnt - 2 - nbucket);
1183+ }
1184 }
1185
1186
1187@@ -2011,18 +2049,28 @@
1188 maxidx = symsize;
1189 }
1190
1191+ Elf64_Xword *buf = (Elf64_Xword *) data->d_buf;
1192+ Elf64_Xword *end = (Elf64_Xword *) ((char *) data->d_buf + shdr->sh_size);
1193 size_t cnt;
1194 for (cnt = 2; cnt < 2 + nbucket; ++cnt)
1195- if (((Elf64_Xword *) data->d_buf)[cnt] >= maxidx)
1196+ {
1197+ if (buf + cnt >= end)
1198+ break;
1199+ else if (buf[cnt] >= maxidx)
1200 ERROR (gettext ("\
1201 section [%2d] '%s': hash bucket reference %zu out of bounds\n"),
1202 idx, section_name (ebl, idx), cnt - 2);
1203+ }
1204
1205 for (; cnt < 2 + nbucket + nchain; ++cnt)
1206- if (((Elf64_Xword *) data->d_buf)[cnt] >= maxidx)
1207+ {
1208+ if (buf + cnt >= end)
1209+ break;
1210+ else if (buf[cnt] >= maxidx)
1211 ERROR (gettext ("\
1212 section [%2d] '%s': hash chain reference %" PRIu64 " out of bounds\n"),
1213- idx, section_name (ebl, idx), (uint64_t) (cnt - 2 - nbucket));
1214+ idx, section_name (ebl, idx), (uint64_t) cnt - 2 - nbucket);
1215+ }
1216 }
1217
1218
1219@@ -2047,7 +2095,7 @@
1220 if (shdr->sh_size < (4 + bitmask_words + nbuckets) * sizeof (Elf32_Word))
1221 {
1222 ERROR (gettext ("\
1223-section [%2d] '%s': hash table section is too small (is %ld, expected at least%ld)\n"),
1224+section [%2d] '%s': hash table section is too small (is %ld, expected at least %ld)\n"),
1225 idx, section_name (ebl, idx), (long int) shdr->sh_size,
1226 (long int) ((4 + bitmask_words + nbuckets) * sizeof (Elf32_Word)));
1227 return;
1228@@ -2719,8 +2767,9 @@
1229
1230 /* The number of elements in the version symbol table must be the
1231 same as the number of symbols. */
1232- if (shdr->sh_size / shdr->sh_entsize
1233- != symshdr->sh_size / symshdr->sh_entsize)
1234+ if (shdr->sh_entsize && symshdr->sh_entsize
1235+ && (shdr->sh_size / shdr->sh_entsize
1236+ != symshdr->sh_size / symshdr->sh_entsize))
1237 ERROR (gettext ("\
1238 section [%2d] '%s' has different number of entries than symbol table [%2d] '%s'\n"),
1239 idx, section_name (ebl, idx),
1240Index: elfutils-0.148/src/readelf.c
1241===================================================================
1242--- elfutils-0.148.orig/src/readelf.c 2010-07-03 13:07:10.000000000 +0000
1243+++ elfutils-0.148/src/readelf.c 2010-07-03 13:07:11.000000000 +0000
1244@@ -1172,6 +1172,8 @@
1245 Elf32_Word *grpref = (Elf32_Word *) data->d_buf;
1246
1247 GElf_Sym sym_mem;
1248+ GElf_Sym *sym = gelf_getsym (symdata, shdr->sh_info, &sym_mem);
1249+
1250 printf ((grpref[0] & GRP_COMDAT)
1251 ? ngettext ("\
1252 \nCOMDAT section group [%2zu] '%s' with signature '%s' contains %zu entry:\n",
1253@@ -1184,8 +1186,8 @@
1254 data->d_size / sizeof (Elf32_Word) - 1),
1255 elf_ndxscn (scn),
1256 elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
1257- elf_strptr (ebl->elf, symshdr->sh_link,
1258- gelf_getsym (symdata, shdr->sh_info, &sym_mem)->st_name)
1259+ (sym == NULL ? NULL
1260+ : elf_strptr (ebl->elf, symshdr->sh_link, sym->st_name))
1261 ?: gettext ("<INVALID SYMBOL>"),
1262 data->d_size / sizeof (Elf32_Word) - 1);
1263
1264@@ -1336,7 +1338,8 @@
1265 handle_dynamic (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr)
1266 {
1267 int class = gelf_getclass (ebl->elf);
1268- GElf_Shdr glink;
1269+ GElf_Shdr glink_mem;
1270+ GElf_Shdr *glink;
1271 Elf_Data *data;
1272 size_t cnt;
1273 size_t shstrndx;
1274@@ -1351,6 +1354,11 @@
1275 error (EXIT_FAILURE, 0,
1276 gettext ("cannot get section header string table index"));
1277
1278+ glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), &glink_mem);
1279+ if (glink == NULL)
1280+ error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %Zu"),
1281+ elf_ndxscn (scn));
1282+
1283 printf (ngettext ("\
1284 \nDynamic segment contains %lu entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
1285 "\
1286@@ -1360,9 +1368,7 @@
1287 class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
1288 shdr->sh_offset,
1289 (int) shdr->sh_link,
1290- elf_strptr (ebl->elf, shstrndx,
1291- gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
1292- &glink)->sh_name));
1293+ elf_strptr (ebl->elf, shstrndx, glink->sh_name));
1294 fputs_unlocked (gettext (" Type Value\n"), stdout);
1295
1296 for (cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt)
1297@@ -1945,6 +1951,13 @@
1298 error (EXIT_FAILURE, 0,
1299 gettext ("cannot get section header string table index"));
1300
1301+ GElf_Shdr glink_mem;
1302+ GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
1303+ &glink_mem);
1304+ if (glink == NULL)
1305+ error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %Zu"),
1306+ elf_ndxscn (scn));
1307+
1308 /* Now we can compute the number of entries in the section. */
1309 unsigned int nsyms = data->d_size / (class == ELFCLASS32
1310 ? sizeof (Elf32_Sym)
1311@@ -1955,15 +1968,12 @@
1312 nsyms),
1313 (unsigned int) elf_ndxscn (scn),
1314 elf_strptr (ebl->elf, shstrndx, shdr->sh_name), nsyms);
1315- GElf_Shdr glink;
1316 printf (ngettext (" %lu local symbol String table: [%2u] '%s'\n",
1317 " %lu local symbols String table: [%2u] '%s'\n",
1318 shdr->sh_info),
1319 (unsigned long int) shdr->sh_info,
1320 (unsigned int) shdr->sh_link,
1321- elf_strptr (ebl->elf, shstrndx,
1322- gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
1323- &glink)->sh_name));
1324+ elf_strptr (ebl->elf, shstrndx, glink->sh_name));
1325
1326 fputs_unlocked (class == ELFCLASS32
1327 ? gettext ("\
1328@@ -2199,7 +2209,13 @@
1329 error (EXIT_FAILURE, 0,
1330 gettext ("cannot get section header string table index"));
1331
1332- GElf_Shdr glink;
1333+ GElf_Shdr glink_mem;
1334+ GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
1335+ &glink_mem);
1336+ if (glink == NULL)
1337+ error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %Zu"),
1338+ elf_ndxscn (scn));
1339+
1340 printf (ngettext ("\
1341 \nVersion needs section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
1342 "\
1343@@ -2210,9 +2226,7 @@
1344 class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
1345 shdr->sh_offset,
1346 (unsigned int) shdr->sh_link,
1347- elf_strptr (ebl->elf, shstrndx,
1348- gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
1349- &glink)->sh_name));
1350+ elf_strptr (ebl->elf, shstrndx, glink->sh_name));
1351
1352 unsigned int offset = 0;
1353 for (int cnt = shdr->sh_info; --cnt >= 0; )
1354@@ -2265,8 +2279,14 @@
1355 error (EXIT_FAILURE, 0,
1356 gettext ("cannot get section header string table index"));
1357
1358+ GElf_Shdr glink_mem;
1359+ GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
1360+ &glink_mem);
1361+ if (glink == NULL)
1362+ error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %Zu"),
1363+ elf_ndxscn (scn));
1364+
1365 int class = gelf_getclass (ebl->elf);
1366- GElf_Shdr glink;
1367 printf (ngettext ("\
1368 \nVersion definition section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'\n",
1369 "\
1370@@ -2278,9 +2298,7 @@
1371 class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
1372 shdr->sh_offset,
1373 (unsigned int) shdr->sh_link,
1374- elf_strptr (ebl->elf, shstrndx,
1375- gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
1376- &glink)->sh_name));
1377+ elf_strptr (ebl->elf, shstrndx, glink->sh_name));
1378
1379 unsigned int offset = 0;
1380 for (int cnt = shdr->sh_info; --cnt >= 0; )
1381@@ -2542,8 +2560,14 @@
1382 filename = NULL;
1383 }
1384
1385+ GElf_Shdr glink_mem;
1386+ GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
1387+ &glink_mem);
1388+ if (glink == NULL)
1389+ error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %Zu"),
1390+ elf_ndxscn (scn));
1391+
1392 /* Print the header. */
1393- GElf_Shdr glink;
1394 printf (ngettext ("\
1395 \nVersion symbols section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 " Offset: %#08" PRIx64 " Link to section: [%2u] '%s'",
1396 "\
1397@@ -2555,9 +2579,7 @@
1398 class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
1399 shdr->sh_offset,
1400 (unsigned int) shdr->sh_link,
1401- elf_strptr (ebl->elf, shstrndx,
1402- gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
1403- &glink)->sh_name));
1404+ elf_strptr (ebl->elf, shstrndx, glink->sh_name));
1405
1406 /* Now we can finally look at the actual contents of this section. */
1407 for (unsigned int cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize; ++cnt)
1408@@ -2609,7 +2631,17 @@
1409 for (Elf32_Word cnt = 0; cnt < nbucket; ++cnt)
1410 ++counts[lengths[cnt]];
1411
1412- GElf_Shdr glink;
1413+ GElf_Shdr glink_mem;
1414+ GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf,
1415+ shdr->sh_link),
1416+ &glink_mem);
1417+ if (glink == NULL)
1418+ {
1419+ error (0, 0, gettext ("invalid sh_link value in section %Zu"),
1420+ elf_ndxscn (scn));
1421+ return;
1422+ }
1423+
1424 printf (ngettext ("\
1425 \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",
1426 "\
1427@@ -2622,9 +2654,7 @@
1428 shdr->sh_addr,
1429 shdr->sh_offset,
1430 (unsigned int) shdr->sh_link,
1431- elf_strptr (ebl->elf, shstrndx,
1432- gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
1433- &glink)->sh_name));
1434+ elf_strptr (ebl->elf, shstrndx, glink->sh_name));
1435
1436 if (extrastr != NULL)
1437 fputs (extrastr, stdout);
1438@@ -4312,6 +4342,16 @@
1439 return;
1440 }
1441
1442+ GElf_Shdr glink_mem;
1443+ GElf_Shdr *glink;
1444+ glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), &glink_mem);
1445+ if (glink == NULL)
1446+ {
1447+ error (0, 0, gettext ("invalid sh_link value in section %Zu"),
1448+ elf_ndxscn (scn));
1449+ return;
1450+ }
1451+
1452 printf (ngettext ("\
1453 \nDWARF section [%2zu] '%s' at offset %#" PRIx64 " contains %zu entry:\n",
1454 "\
1455Index: elfutils-0.148/src/strip.c
1456===================================================================
1457--- elfutils-0.148.orig/src/strip.c 2010-07-03 13:07:10.000000000 +0000
1458+++ elfutils-0.148/src/strip.c 2010-07-03 13:07:11.000000000 +0000
1459@@ -561,6 +561,11 @@
1460 goto fail_close;
1461 }
1462
1463+ if (shstrndx >= shnum)
1464+ goto illformed;
1465+
1466+#define elf_assert(test) do { if (!(test)) goto illformed; } while (0)
1467+
1468 /* Storage for section information. We leave room for two more
1469 entries since we unconditionally create a section header string
1470 table. Maybe some weird tool created an ELF file without one.
1471@@ -582,7 +587,7 @@
1472 {
1473 /* This should always be true (i.e., there should not be any
1474 holes in the numbering). */
1475- assert (elf_ndxscn (scn) == cnt);
1476+ elf_assert (elf_ndxscn (scn) == cnt);
1477
1478 shdr_info[cnt].scn = scn;
1479
1480@@ -595,6 +600,7 @@
1481 shdr_info[cnt].shdr.sh_name);
1482 if (shdr_info[cnt].name == NULL)
1483 {
1484+ illformed:
1485 error (0, 0, gettext ("illformed file '%s'"), fname);
1486 goto fail_close;
1487 }
1488@@ -604,6 +610,8 @@
1489
1490 /* Remember the shdr.sh_link value. */
1491 shdr_info[cnt].old_sh_link = shdr_info[cnt].shdr.sh_link;
1492+ if (shdr_info[cnt].old_sh_link >= shnum)
1493+ goto illformed;
1494
1495 /* Sections in files other than relocatable object files which
1496 are not loaded can be freely moved by us. In relocatable
1497@@ -616,7 +624,7 @@
1498 appropriate reference. */
1499 if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_SYMTAB_SHNDX))
1500 {
1501- assert (shdr_info[shdr_info[cnt].shdr.sh_link].symtab_idx == 0);
1502+ elf_assert (shdr_info[shdr_info[cnt].shdr.sh_link].symtab_idx == 0);
1503 shdr_info[shdr_info[cnt].shdr.sh_link].symtab_idx = cnt;
1504 }
1505 else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GROUP))
1506@@ -633,7 +641,12 @@
1507 for (inner = 1;
1508 inner < shdr_info[cnt].data->d_size / sizeof (Elf32_Word);
1509 ++inner)
1510+ {
1511+ if (grpref[inner] < shnum)
1512 shdr_info[grpref[inner]].group_idx = cnt;
1513+ else
1514+ goto illformed;
1515+ }
1516
1517 if (inner == 1 || (inner == 2 && (grpref[0] & GRP_COMDAT) == 0))
1518 /* If the section group contains only one element and this
1519@@ -644,7 +657,7 @@
1520 }
1521 else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GNU_versym))
1522 {
1523- assert (shdr_info[shdr_info[cnt].shdr.sh_link].version_idx == 0);
1524+ elf_assert (shdr_info[shdr_info[cnt].shdr.sh_link].version_idx == 0);
1525 shdr_info[shdr_info[cnt].shdr.sh_link].version_idx = cnt;
1526 }
1527
1528@@ -652,7 +665,7 @@
1529 discarded right away. */
1530 if ((shdr_info[cnt].shdr.sh_flags & SHF_GROUP) != 0)
1531 {
1532- assert (shdr_info[cnt].group_idx != 0);
1533+ elf_assert (shdr_info[cnt].group_idx != 0);
1534
1535 if (shdr_info[shdr_info[cnt].group_idx].idx == 0)
1536 {
1537@@ -727,11 +740,15 @@
1538 {
1539 /* If a relocation section is marked as being removed make
1540 sure the section it is relocating is removed, too. */
1541- if ((shdr_info[cnt].shdr.sh_type == SHT_REL
1542+ if (shdr_info[cnt].shdr.sh_type == SHT_REL
1543 || shdr_info[cnt].shdr.sh_type == SHT_RELA)
1544- && shdr_info[shdr_info[cnt].shdr.sh_info].idx != 0)
1545+ {
1546+ if (shdr_info[cnt].shdr.sh_info >= shnum)
1547+ goto illformed;
1548+ else if (shdr_info[shdr_info[cnt].shdr.sh_info].idx != 0)
1549 shdr_info[cnt].idx = 1;
1550 }
1551+ }
1552
1553 if (shdr_info[cnt].idx == 1)
1554 {
1555@@ -758,7 +775,7 @@
1556 if (shdr_info[cnt].symtab_idx != 0
1557 && shdr_info[shdr_info[cnt].symtab_idx].data == NULL)
1558 {
1559- assert (shdr_info[cnt].shdr.sh_type == SHT_SYMTAB);
1560+ elf_assert (shdr_info[cnt].shdr.sh_type == SHT_SYMTAB);
1561
1562 shdr_info[shdr_info[cnt].symtab_idx].data
1563 = elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn,
1564@@ -798,6 +815,9 @@
1565 else if (scnidx == SHN_XINDEX)
1566 scnidx = xndx;
1567
1568+ if (scnidx >= shnum)
1569+ goto illformed;
1570+
1571 if (shdr_info[scnidx].idx == 0)
1572 /* This symbol table has a real symbol in
1573 a discarded section. So preserve the
1574@@ -828,12 +848,16 @@
1575 }
1576
1577 /* Handle references through sh_info. */
1578- if (SH_INFO_LINK_P (&shdr_info[cnt].shdr)
1579- && shdr_info[shdr_info[cnt].shdr.sh_info].idx == 0)
1580+ if (SH_INFO_LINK_P (&shdr_info[cnt].shdr))
1581+ {
1582+ if (shdr_info[cnt].shdr.sh_info >= shnum)
1583+ goto illformed;
1584+ else if ( shdr_info[shdr_info[cnt].shdr.sh_info].idx == 0)
1585 {
1586 shdr_info[shdr_info[cnt].shdr.sh_info].idx = 1;
1587 changes |= shdr_info[cnt].shdr.sh_info < cnt;
1588 }
1589+ }
1590
1591 /* Mark the section as investigated. */
1592 shdr_info[cnt].idx = 2;
1593@@ -972,7 +996,7 @@
1594 error (EXIT_FAILURE, 0, gettext ("while generating output file: %s"),
1595 elf_errmsg (-1));
1596
1597- assert (elf_ndxscn (shdr_info[cnt].newscn) == shdr_info[cnt].idx);
1598+ elf_assert (elf_ndxscn (shdr_info[cnt].newscn) == shdr_info[cnt].idx);
1599
1600 /* Add this name to the section header string table. */
1601 shdr_info[cnt].se = ebl_strtabadd (shst, shdr_info[cnt].name, 0);
1602@@ -1009,7 +1033,7 @@
1603 error (EXIT_FAILURE, 0,
1604 gettext ("while create section header section: %s"),
1605 elf_errmsg (-1));
1606- assert (elf_ndxscn (shdr_info[cnt].newscn) == shdr_info[cnt].idx);
1607+ elf_assert (elf_ndxscn (shdr_info[cnt].newscn) == shdr_info[cnt].idx);
1608
1609 shdr_info[cnt].data = elf_newdata (shdr_info[cnt].newscn);
1610 if (shdr_info[cnt].data == NULL)
1611@@ -1065,7 +1089,7 @@
1612 error (EXIT_FAILURE, 0,
1613 gettext ("while create section header section: %s"),
1614 elf_errmsg (-1));
1615- assert (elf_ndxscn (shdr_info[cnt].newscn) == idx);
1616+ elf_assert (elf_ndxscn (shdr_info[cnt].newscn) == idx);
1617
1618 /* Finalize the string table and fill in the correct indices in the
1619 section headers. */
1620@@ -1155,20 +1179,20 @@
1621 shndxdata = elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn,
1622 NULL);
1623
1624- assert ((versiondata->d_size / sizeof (Elf32_Word))
1625+ elf_assert ((versiondata->d_size / sizeof (Elf32_Word))
1626 >= shdr_info[cnt].data->d_size / elsize);
1627 }
1628
1629 if (shdr_info[cnt].version_idx != 0)
1630 {
1631- assert (shdr_info[cnt].shdr.sh_type == SHT_DYNSYM);
1632+ elf_assert (shdr_info[cnt].shdr.sh_type == SHT_DYNSYM);
1633 /* This section has associated version
1634 information. We have to modify that
1635 information, too. */
1636 versiondata = elf_getdata (shdr_info[shdr_info[cnt].version_idx].scn,
1637 NULL);
1638
1639- assert ((versiondata->d_size / sizeof (GElf_Versym))
1640+ elf_assert ((versiondata->d_size / sizeof (GElf_Versym))
1641 >= shdr_info[cnt].data->d_size / elsize);
1642 }
1643
1644@@ -1223,7 +1247,7 @@
1645 sec = shdr_info[sym->st_shndx].idx;
1646 else
1647 {
1648- assert (shndxdata != NULL);
1649+ elf_assert (shndxdata != NULL);
1650
1651 sec = shdr_info[xshndx].idx;
1652 }
1653@@ -1244,7 +1268,7 @@
1654 nxshndx = sec;
1655 }
1656
1657- assert (sec < SHN_LORESERVE || shndxdata != NULL);
1658+ elf_assert (sec < SHN_LORESERVE || shndxdata != NULL);
1659
1660 if ((inner != destidx || nshndx != sym->st_shndx
1661 || (shndxdata != NULL && nxshndx != xshndx))
1662@@ -1268,7 +1292,7 @@
1663 || shdr_info[cnt].debug_data == NULL)
1664 /* This is a section symbol for a section which has
1665 been removed. */
1666- assert (GELF_ST_TYPE (sym->st_info) == STT_SECTION);
1667+ elf_assert (GELF_ST_TYPE (sym->st_info) == STT_SECTION);
1668 }
1669
1670 if (destidx != inner)
1671@@ -1455,11 +1479,11 @@
1672 {
1673 GElf_Sym sym_mem;
1674 GElf_Sym *sym = gelf_getsym (symd, inner, &sym_mem);
1675- assert (sym != NULL);
1676+ elf_assert (sym != NULL);
1677
1678 const char *name = elf_strptr (elf, strshndx,
1679 sym->st_name);
1680- assert (name != NULL);
1681+ elf_assert (name != NULL);
1682 size_t hidx = elf_hash (name) % nbucket;
1683
1684 if (bucket[hidx] == 0)
1685@@ -1478,7 +1502,7 @@
1686 else
1687 {
1688 /* Alpha and S390 64-bit use 64-bit SHT_HASH entries. */
1689- assert (shdr_info[cnt].shdr.sh_entsize
1690+ elf_assert (shdr_info[cnt].shdr.sh_entsize
1691 == sizeof (Elf64_Xword));
1692
1693 Elf64_Xword *bucket = (Elf64_Xword *) hashd->d_buf;
1694@@ -1509,11 +1533,11 @@
1695 {
1696 GElf_Sym sym_mem;
1697 GElf_Sym *sym = gelf_getsym (symd, inner, &sym_mem);
1698- assert (sym != NULL);
1699+ elf_assert (sym != NULL);
1700
1701 const char *name = elf_strptr (elf, strshndx,
1702 sym->st_name);
1703- assert (name != NULL);
1704+ elf_assert (name != NULL);
1705 size_t hidx = elf_hash (name) % nbucket;
1706
1707 if (bucket[hidx] == 0)
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.148/testsuite-ignore-elflint.diff b/meta/recipes-devtools/elfutils/elfutils-0.148/testsuite-ignore-elflint.diff
new file mode 100644
index 0000000000..20f03b86db
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils-0.148/testsuite-ignore-elflint.diff
@@ -0,0 +1,19 @@
1On many architectures this test fails because binaries/libs produced by
2binutils don't pass elflint. However elfutils shouldn't FTBFS because of this.
3
4So we run the tests on all archs to see what breaks, but if it breaks we ignore
5the result (exitcode 77 means: this test was skipped).
6
7Index: elfutils-0.128/tests/run-elflint-self.sh
8===================================================================
9--- elfutils-0.128.orig/tests/run-elflint-self.sh 2007-07-08 21:46:16.000000000 +0000
10+++ elfutils-0.128/tests/run-elflint-self.sh 2007-07-08 21:46:49.000000000 +0000
11@@ -32,7 +32,7 @@
12 # echo $1
13 if [ -f $1 ]; then
14 testrun ../src/elflint --quiet --gnu-ld $1 ||
15- { echo "*** failure in $1"; status=1; }
16+ { echo "*** failure in $1"; status=77; }
17 fi
18 }
19
diff --git a/meta/recipes-devtools/elfutils/elfutils-0.148/x86_64_dis.h b/meta/recipes-devtools/elfutils/elfutils-0.148/x86_64_dis.h
new file mode 100644
index 0000000000..a0198bed97
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils-0.148/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.89/warnings.patch b/meta/recipes-devtools/elfutils/elfutils-0.89/warnings.patch
new file mode 100644
index 0000000000..2a1ea09a61
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils-0.89/warnings.patch
@@ -0,0 +1,98 @@
1--- elfutils-0.89/configure.ac~warnings.patch 2003-09-26 02:04:04.000000000 -0400
2+++ elfutils-0.89/configure.ac 2004-05-01 00:16:33.000000000 -0400
3@@ -28,6 +28,10 @@
4
5 ALL_LINGUAS=
6
7+if test X"$CFLAGS" = X; then
8+ CFLAGS="-Wall -Werror -g -O2"
9+fi
10+
11 AC_PROG_CC
12 AC_PROG_CPP
13 AC_PROG_GCC_TRADITIONAL
14--- elfutils-0.89/./lib/Makefile.am~warnings.patch 2003-09-22 18:57:58.000000000 -0400
15+++ elfutils-0.89/./lib/Makefile.am 2004-05-01 00:12:43.000000000 -0400
16@@ -14,7 +14,7 @@
17 ## 3001 King Ranch Road, Ukiah, CA 95482.
18 ##
19 DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H
20-AM_CFLAGS = -Wall -Werror -fpic
21+AM_CFLAGS = -fpic
22 INCLUDES = -I$(srcdir)/../libelf -I..
23
24 noinst_LIBRARIES = libeu.a
25--- elfutils-0.89/./libelf/Makefile.am~warnings.patch 2003-08-12 02:45:24.000000000 -0400
26+++ elfutils-0.89/./libelf/Makefile.am 2004-05-01 00:12:43.000000000 -0400
27@@ -14,7 +14,6 @@
28 ## 3001 King Ranch Road, Ukiah, CA 95482.
29 ##
30 DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H
31-AM_CFLAGS = -Wall -Werror
32 INCLUDES = -I$(srcdir) -I$(top_srcdir)/lib -I..
33 GCC_INCLUDE = -I$(shell $(CC) -print-file-name=include)
34 VERSION = 1
35--- elfutils-0.89/./libebl/Makefile.am~warnings.patch 2003-09-22 18:53:17.000000000 -0400
36+++ elfutils-0.89/./libebl/Makefile.am 2004-05-01 00:12:43.000000000 -0400
37@@ -14,7 +14,7 @@
38 ## 3001 King Ranch Road, Ukiah, CA 95482.
39 ##
40 DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H -Wall
41-AM_CFLAGS = -Wall -Werror -DOBJDIR=\"$(shell pwd)\" -fpic
42+AM_CFLAGS = -DOBJDIR=\"$(shell pwd)\" -fpic
43 INCLUDES = -I$(srcdir) -I$(top_srcdir)/libelf -I$(top_srcdir)/lib -I..
44 VERSION = 1
45 PACKAGE_VERSION = @PACKAGE_VERSION@
46--- elfutils-0.89/./libdwarf/Makefile.am~warnings.patch 2003-08-12 02:46:05.000000000 -0400
47+++ elfutils-0.89/./libdwarf/Makefile.am 2004-05-01 00:12:43.000000000 -0400
48@@ -14,7 +14,6 @@
49 ## 3001 King Ranch Road, Ukiah, CA 95482.
50 ##
51 DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H -DDWARF_DEBUG
52-AM_CFLAGS = -Wall -Werror
53 INCLUDES = -I. -I$(srcdir) -I$(srcdir)/../libelf -I.. -I$(srcdir)/../lib
54 VERSION = 1
55
56--- elfutils-0.89/./libdw/Makefile.am~warnings.patch 2003-08-12 02:46:18.000000000 -0400
57+++ elfutils-0.89/./libdw/Makefile.am 2004-05-01 00:12:43.000000000 -0400
58@@ -17,7 +17,6 @@
59 ## Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
60 ##
61 DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H
62-AM_CFLAGS = -Wall -Werror -Wshadow
63 INCLUDES = -I. -I$(srcdir) -I$(srcdir)/../libelf -I.. -I$(srcdir)/../lib
64 VERSION = 1
65
66--- elfutils-0.89/./libasm/Makefile.am~warnings.patch 2003-08-13 05:21:25.000000000 -0400
67+++ elfutils-0.89/./libasm/Makefile.am 2004-05-01 00:12:43.000000000 -0400
68@@ -14,7 +14,6 @@
69 ## 3001 King Ranch Road, Ukiah, CA 95482.
70 ##
71 DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H
72-AM_CFLAGS = -Wall -Werror
73 INCLUDES = -I. -I$(srcdir) -I.. -I$(top_srcdir)/libelf -I$(top_srcdir)/libebl \
74 -I$(top_srcdir)/lib
75 GCC_INCLUDE = -I$(shell $(CC) -print-file-name=include)
76--- elfutils-0.89/./src/Makefile.am~warnings.patch 2003-09-22 18:57:09.000000000 -0400
77+++ elfutils-0.89/./src/Makefile.am 2004-05-01 00:12:43.000000000 -0400
78@@ -14,8 +14,8 @@
79 ## 3001 King Ranch Road, Ukiah, CA 95482.
80 ##
81 DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H -Wall -Wshadow $(YYDEBUG) \
82- $(if $($(*F)_no_Werror),,-Werror) $(native_ld_cflags)
83-AM_CFLAGS = -Wall -DSRCDIR=\"$(shell cd $(srcdir);pwd)\" -DOBJDIR=\"$(shell pwd)\"
84+ $(if $(filter -Werror,$(CFLAGS)),$(if $($(*F)_no_Werror),,-Werror)) $(native_ld_cflags)
85+AM_CFLAGS = -DSRCDIR=\"$(shell cd $(srcdir);pwd)\" -DOBJDIR=\"$(shell pwd)\"
86 INCLUDES = -I$(srcdir) -I$(srcdir)/../libelf -I$(srcdir)/../libebl -I$(srcdir)/../lib -I$(srcdir)/../libdwarf -I..
87
88 YACC = @YACC@ -d
89--- elfutils-0.89/./tests/Makefile.am~warnings.patch 2003-08-13 05:19:04.000000000 -0400
90+++ elfutils-0.89/./tests/Makefile.am 2004-05-01 00:12:43.000000000 -0400
91@@ -14,7 +14,6 @@
92 ## 3001 King Ranch Road, Ukiah, CA 95482.
93 ##
94 DEFS = -DHAVE_CONFIG_H -D_GNU_SOURCE
95-AM_CFLAGS = -Wall -Werror
96 AM_LDFLAGS = -Wl,-rpath,\$$ORIGIN/../libasm:\$$ORIGIN/../libdwarf:\$$ORIGIN/../libdw:\$$ORIGIN/../libebl:\$$ORIGIN/../libelf
97 INCLUDES = -I$(top_srcdir)/libasm -I$(top_srcdir)/libdwarf \
98 -I$(top_srcdir)/libdw \
diff --git a/meta/recipes-devtools/elfutils/elfutils_0.108.bb b/meta/recipes-devtools/elfutils/elfutils_0.108.bb
new file mode 100644
index 0000000000..67f34a0acd
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils_0.108.bb
@@ -0,0 +1,25 @@
1SECTION = "base"
2LICENSE = "OSL"
3DESCRIPTION = "A collection of utilities and DSOs to handle compiled objects."
4DEPENDS = "libtool"
5PR = "r2"
6
7SRC_URI = "http://distro.ibiblio.org/pub/linux/distributions/gentoo/distfiles/elfutils-${PV}.tar.gz \
8 file://warnings.patch;patch=1"
9
10inherit autotools
11
12# Package binaries that overlap with binutils separately
13PACKAGES =+ "${PN}-binutils"
14FILES_${PN}-binutils = "\
15 ${bindir}/addr2line \
16 ${bindir}/ld \
17 ${bindir}/nm \
18 ${bindir}/readelf \
19 ${bindir}/size \
20 ${bindir}/strip"
21# Fix library issues
22FILES_${PN} =+ "${libdir}/*-${PV}.so"
23
24# The elfutils package contains symlinks that trip up insane
25INSANE_SKIP_elfutils = "1"
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..18887e4b96
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils_0.148.bb
@@ -0,0 +1,63 @@
1DESCRIPTION = "A collection of utilities and DSOs to handle compiled objects."
2HOMEPAGE = "https://fedorahosted.org/elfutils"
3SECTION = "base"
4LICENSE = "GPLv2 with exceptions"
5LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3\
6 file://EXCEPTION;md5=570adcb0c1218ab57f2249c67d0ce417"
7DEPENDS = "libtool"
8
9PR = "r1"
10
11SRC_URI = "https://fedorahosted.org/releases/e/l/elfutils/elfutils-${PV}.tar.bz2"
12
13# pick the patch from debian
14# http://ftp.de.debian.org/debian/pool/main/e/elfutils/elfutils_0.148-1.debian.tar.gz
15
16SRC_URI += "\
17 file://redhat-portability.diff \
18 file://redhat-robustify.diff \
19 file://hppa_backend.diff \
20 file://arm_backend.diff \
21 file://mips_backend.diff \
22 file://m68k_backend.diff \
23 file://do-autoreconf.diff \
24 file://testsuite-ignore-elflint.diff \
25 file://elf_additions.diff \
26 file://elfutils-fsize.patch \
27"
28
29# The buildsystem wants to generate 2 .h files from source using a binary it just built,
30# which can not pass the cross compiling, so let's work around it by adding 2 .h files
31# along with the do_configure_prepend()
32
33SRC_URI += "\
34 file://i386_dis.h \
35 file://x86_64_dis.h \
36"
37
38inherit autotools
39
40EXTRA_OECONF = "--program-prefix=eu-"
41
42do_configure_prepend() {
43 sed -i 's:./i386_gendis:echo\ \#:g' ${S}/libcpu/Makefile.am
44
45 cp ${WORKDIR}/*dis.h ${S}/libcpu
46}
47
48BBCLASSEXTEND = "native nativesdk"
49
50# Package utilities separately
51PACKAGES =+ "${PN}-binutils"
52FILES_${PN}-binutils = "\
53 ${bindir}/eu-addr2line \
54 ${bindir}/eu-ld \
55 ${bindir}/eu-nm \
56 ${bindir}/eu-readelf \
57 ${bindir}/eu-size \
58 ${bindir}/eu-strip"
59# Fix library issues
60FILES_${PN} =+ "${libdir}/*-${PV}.so"
61
62# The elfutils package contains symlinks that trip up insane
63INSANE_SKIP_elfutils = "1"
diff --git a/meta/recipes-devtools/elfutils/elfutils_0.89.bb b/meta/recipes-devtools/elfutils/elfutils_0.89.bb
new file mode 100644
index 0000000000..24cb37ad1f
--- /dev/null
+++ b/meta/recipes-devtools/elfutils/elfutils_0.89.bb
@@ -0,0 +1,10 @@
1SECTION = "base"
2LICENSE = "OSL"
3DESCRIPTION = "A collection of utilities and DSOs to handle compiled objects."
4DEPENDS = "libtool"
5
6SRC_URI = "http://distro.ibiblio.org/pub/linux/distributions/gentoo/distfiles/elfutils-${PV}.tar.gz \
7 file://warnings.patch;patch=1"
8
9inherit autotools
10