15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Opcode decoding maps.  Based on the IA-32 Intel Architecture
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Software Developer's Manual Volume 2: Instruction Set Reference.  Idea
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// for how to lay out the tables in memory taken from the implementation
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// in the Bastard disassembly environment.
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "sandbox/win/src/sidestep/mini_disassembler.h"
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace sidestep {
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)* This is the first table to be searched; the first field of each
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)* Opcode in the table is either 0 to indicate you're in the
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)* right table, or an index to the correct table, in the global
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)* map g_pentiumOpcodeMap
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_first_opcode_byte[] = {
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "add", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "add", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x2 */ { 0, IT_GENERIC, AM_G | OT_B, AM_E | OT_B, AM_NOT_USED, "add", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x3 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "add", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x4 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "add", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x5 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "add", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x6 */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_NOT_USED, AM_NOT_USED, "push", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x7 */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_NOT_USED, AM_NOT_USED, "pop", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x8 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "or", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x9 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "or", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xA */ { 0, IT_GENERIC, AM_G | OT_B, AM_E | OT_B, AM_NOT_USED, "or", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xB */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "or", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xC */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "or", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xD */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "or", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xE */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_NOT_USED, AM_NOT_USED, "push", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xF */ { 1, IT_REFERENCE, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x10 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "adc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x11 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "adc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x12 */ { 0, IT_GENERIC, AM_G | OT_B, AM_E | OT_B, AM_NOT_USED, "adc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x13 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "adc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x14 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "adc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x15 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "adc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x16 */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_NOT_USED, AM_NOT_USED, "push", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x17 */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_NOT_USED, AM_NOT_USED, "pop", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x18 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "sbb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x19 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "sbb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x1A */ { 0, IT_GENERIC, AM_G | OT_B, AM_E | OT_B, AM_NOT_USED, "sbb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x1B */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "sbb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x1C */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "sbb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x1D */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "sbb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x1E */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_NOT_USED, AM_NOT_USED, "push", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x1F */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_NOT_USED, AM_NOT_USED, "pop", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x20 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "and", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x21 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "and", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x22 */ { 0, IT_GENERIC, AM_G | OT_B, AM_E | OT_B, AM_NOT_USED, "and", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x23 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "and", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x24 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "and", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x25 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "and", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x26 */ { 0, IT_PREFIX, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x27 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "daa", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x28 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "sub", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x29 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "sub", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x2A */ { 0, IT_GENERIC, AM_G | OT_B, AM_E | OT_B, AM_NOT_USED, "sub", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x2B */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "sub", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x2C */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "sub", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x2D */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "sub", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x2E */ { 0, IT_PREFIX, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x2F */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "das", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x30 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "xor", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x31 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "xor", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x32 */ { 0, IT_GENERIC, AM_G | OT_B, AM_E | OT_B, AM_NOT_USED, "xor", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x33 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "xor", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x34 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "xor", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x35 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "xor", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x36 */ { 0, IT_PREFIX, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x37 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "aaa", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x38 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "cmp", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x39 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "cmp", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x3A */ { 0, IT_GENERIC, AM_G | OT_B, AM_E | OT_B, AM_NOT_USED, "cmp", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x3B */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmp", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x3C */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "cmp", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x3D */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "cmp", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x3E */ { 0, IT_PREFIX, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x3F */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "aas", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x40 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "inc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x41 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "inc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x42 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "inc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x43 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "inc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x44 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "inc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x45 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "inc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x46 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "inc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x47 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "inc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x48 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "dec", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x49 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "dec", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x4A */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "dec", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x4B */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "dec", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x4C */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "dec", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x4D */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "dec", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x4E */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "dec", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x4F */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "dec", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x50 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "push", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x51 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "push", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x52 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "push", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x53 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "push", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x54 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "push", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x55 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "push", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x56 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "push", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x57 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "push", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x58 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "pop", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x59 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "pop", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x5A */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "pop", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x5B */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "pop", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x5C */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "pop", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x5D */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "pop", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x5E */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "pop", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x5F */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_NOT_USED, AM_NOT_USED, "pop", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x60 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "pushad", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x61 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "popad", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x62 */ { 0, IT_GENERIC, AM_G | OT_V, AM_M | OT_A, AM_NOT_USED, "bound", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x63 */ { 0, IT_GENERIC, AM_E | OT_W, AM_G | OT_W, AM_NOT_USED, "arpl", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x64 */ { 0, IT_PREFIX, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x65 */ { 0, IT_PREFIX, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x66 */ { 0, IT_PREFIX_OPERAND, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x67 */ { 0, IT_PREFIX_ADDRESS, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x68 */ { 0, IT_GENERIC, AM_I | OT_V, AM_NOT_USED, AM_NOT_USED, "push", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x69 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_I | OT_V, "imul", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x6A */ { 0, IT_GENERIC, AM_I | OT_B, AM_NOT_USED, AM_NOT_USED, "push", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x6B */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_I |  OT_B, "imul", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x6C */ { 0, IT_GENERIC, AM_Y | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "insb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x6D */ { 0, IT_GENERIC, AM_Y | OT_V, AM_REGISTER | OT_V, AM_NOT_USED, "insd", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x6E */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_X | OT_B, AM_NOT_USED, "outsb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x6F */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_X | OT_V, AM_NOT_USED, "outsb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x70 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jo", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x71 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jno", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x72 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x73 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jnc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x74 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jz", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x75 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jnz", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x76 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jbe", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x77 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "ja", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x78 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "js", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x79 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jns", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x7A */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jpe", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x7B */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jpo", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x7C */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jl", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x7D */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jge", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x7E */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jle", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x7F */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x80 */ { 2, IT_REFERENCE, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x81 */ { 3, IT_REFERENCE, AM_E | OT_V, AM_I | OT_V, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x82 */ { 4, IT_REFERENCE, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x83 */ { 5, IT_REFERENCE, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x84 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "test", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x85 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "test", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x86 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "xchg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x87 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "xchg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x88 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x89 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x8A */ { 0, IT_GENERIC, AM_G | OT_B, AM_E | OT_B, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x8B */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x8C */ { 0, IT_GENERIC, AM_E | OT_W, AM_S | OT_W, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x8D */ { 0, IT_GENERIC, AM_G | OT_V, AM_M | OT_ADDRESS_MODE_M, AM_NOT_USED, "lea", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x8E */ { 0, IT_GENERIC, AM_S | OT_W, AM_E | OT_W, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x8F */ { 0, IT_GENERIC, AM_E | OT_V, AM_NOT_USED, AM_NOT_USED, "pop", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x90 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "nop", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x91 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_REGISTER | OT_V, AM_NOT_USED, "xchg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x92 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_REGISTER | OT_V, AM_NOT_USED, "xchg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x93 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_REGISTER | OT_V, AM_NOT_USED, "xchg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x94 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_REGISTER | OT_V, AM_NOT_USED, "xchg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x95 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_REGISTER | OT_V, AM_NOT_USED, "xchg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x96 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_REGISTER | OT_V, AM_NOT_USED, "xchg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x97 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_REGISTER | OT_V, AM_NOT_USED, "xchg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x98 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "cwde", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x99 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "cdq", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x9A */ { 0, IT_JUMP, AM_A | OT_P, AM_NOT_USED, AM_NOT_USED, "callf", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x9B */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "wait", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x9C */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "pushfd", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x9D */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "popfd", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x9E */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "sahf", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x9F */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "lahf", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xA0 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_O | OT_B, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xA1 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_O | OT_V, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xA2 */ { 0, IT_GENERIC, AM_O | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xA3 */ { 0, IT_GENERIC, AM_O | OT_V, AM_REGISTER | OT_V, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xA4 */ { 0, IT_GENERIC, AM_X | OT_B, AM_Y | OT_B, AM_NOT_USED, "movsb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xA5 */ { 0, IT_GENERIC, AM_X | OT_V, AM_Y | OT_V, AM_NOT_USED, "movsd", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xA6 */ { 0, IT_GENERIC, AM_X | OT_B, AM_Y | OT_B, AM_NOT_USED, "cmpsb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xA7 */ { 0, IT_GENERIC, AM_X | OT_V, AM_Y | OT_V, AM_NOT_USED, "cmpsd", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xA8 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "test", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xA9 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "test", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xAA */ { 0, IT_GENERIC, AM_Y | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "stosb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xAB */ { 0, IT_GENERIC, AM_Y | OT_V, AM_REGISTER | OT_V, AM_NOT_USED, "stosd", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xAC */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_X| OT_B, AM_NOT_USED, "lodsb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xAD */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_X| OT_V, AM_NOT_USED, "lodsd", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xAE */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_Y | OT_B, AM_NOT_USED, "scasb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xAF */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_Y | OT_V, AM_NOT_USED, "scasd", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xB0 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xB1 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
1995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xB2 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xB3 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xB4 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xB5 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xB6 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xB7 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xB8 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xB9 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xBA */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xBB */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xBC */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xBD */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xBE */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xBF */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_I | OT_V, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xC0 */ { 6, IT_REFERENCE, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xC1 */ { 7, IT_REFERENCE, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xC2 */ { 0, IT_RETURN, AM_I | OT_W, AM_NOT_USED, AM_NOT_USED, "ret", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xC3 */ { 0, IT_RETURN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "ret", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xC4 */ { 0, IT_GENERIC, AM_G | OT_V, AM_M | OT_P, AM_NOT_USED, "les", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xC5 */ { 0, IT_GENERIC, AM_G | OT_V, AM_M | OT_P, AM_NOT_USED, "lds", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xC6 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xC7 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_V, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xC8 */ { 0, IT_GENERIC, AM_I | OT_W, AM_I | OT_B, AM_NOT_USED, "enter", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xC9 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "leave", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xCA */ { 0, IT_RETURN, AM_I | OT_W, AM_NOT_USED, AM_NOT_USED, "retf", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xCB */ { 0, IT_RETURN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "retf", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xCC */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "int3", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xCD */ { 0, IT_GENERIC, AM_I | OT_B, AM_NOT_USED, AM_NOT_USED, "int", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xCE */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "into", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xCF */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "iret", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xD0 */ { 8, IT_REFERENCE, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xD1 */ { 9, IT_REFERENCE, AM_E | OT_V, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xD2 */ { 10, IT_REFERENCE, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xD3 */ { 11, IT_REFERENCE, AM_E | OT_V, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xD4 */ { 0, IT_GENERIC, AM_I | OT_B, AM_NOT_USED, AM_NOT_USED, "aam", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xD5 */ { 0, IT_GENERIC, AM_I | OT_B, AM_NOT_USED, AM_NOT_USED, "aad", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xD6 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xD7 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "xlat", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // The following 8 lines would be references to the FPU tables, but we currently
2395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // do not support the FPU instructions in this disassembler.
2405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xD8 */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xD9 */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xDA */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xDB */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xDC */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xDD */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xDE */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xDF */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xE0 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "loopnz", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xE1 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "loopz", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xE2 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "loop", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xE3 */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jcxz", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xE4 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "in", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xE5 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_I | OT_B, AM_NOT_USED, "in", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xE6 */ { 0, IT_GENERIC, AM_I | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "out", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xE7 */ { 0, IT_GENERIC, AM_I | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "out", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xE8 */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "call", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xE9 */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jmp", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xEA */ { 0, IT_JUMP, AM_A | OT_P, AM_NOT_USED, AM_NOT_USED, "jmp", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xEB */ { 0, IT_JUMP, AM_J | OT_B, AM_NOT_USED, AM_NOT_USED, "jmp", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xEC */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_REGISTER | OT_W, AM_NOT_USED, "in", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xED */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_REGISTER | OT_W, AM_NOT_USED, "in", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xEE */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_REGISTER | OT_B, AM_NOT_USED, "out", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xEF */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_REGISTER | OT_V, AM_NOT_USED, "out", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xF0 */ { 0, IT_PREFIX, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "lock:", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xF1 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xF2 */ { 0, IT_PREFIX, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "repne:", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xF3 */ { 0, IT_PREFIX, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "rep:", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xF4 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "hlt", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xF5 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "cmc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xF6 */ { 12, IT_REFERENCE, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xF7 */ { 13, IT_REFERENCE, AM_E | OT_V, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xF8 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "clc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xF9 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "stc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xFA */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "cli", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xFB */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "sti", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xFC */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "cld", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xFD */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "std", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xFE */ { 14, IT_REFERENCE, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xFF */ { 15, IT_REFERENCE, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
2835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
2845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_0f[] = {
2865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x0 */ { 16, IT_REFERENCE, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x1 */ { 17, IT_REFERENCE, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x2 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_W, AM_NOT_USED, "lar", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x3 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_W, AM_NOT_USED, "lsl", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x4 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x5 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x6 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "clts", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x7 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x8 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "invd", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x9 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "wbinvd", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xA */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xB */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "ud2", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xC */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
2995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xD */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
3005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xE */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
3015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xF */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
3025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x10 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "movups", true,
3035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_W | OT_SD, AM_NOT_USED, "movsd" },
3045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_NOT_USED, "movss" },
3055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "movupd" } },
3065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x11 */ { 0, IT_GENERIC, AM_W | OT_PS, AM_V | OT_PS, AM_NOT_USED, "movups", true,
3075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0, IT_GENERIC, AM_W | OT_SD, AM_V | OT_SD, AM_NOT_USED, "movsd" },
3085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0, IT_GENERIC, AM_W | OT_SS, AM_V | OT_SS, AM_NOT_USED, "movss" },
3095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_W | OT_PD, AM_V | OT_PD, AM_NOT_USED, "movupd" } },
3105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x12 */ { 0, IT_GENERIC, AM_W | OT_Q, AM_V | OT_Q, AM_NOT_USED, "movlps", true,
3115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0, IT_GENERIC, AM_V | OT_Q, AM_V | OT_Q, AM_NOT_USED, "movhlps" },  // only one of ...
3125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0, IT_GENERIC, AM_V | OT_Q, AM_V | OT_Q, AM_NOT_USED, "movhlps" },  // ...these two is correct, Intel doesn't specify which
3135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_Q, AM_W | OT_S, AM_NOT_USED, "movlpd" } },
3145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x13 */ { 0, IT_GENERIC, AM_V | OT_Q, AM_W | OT_Q, AM_NOT_USED, "movlps", true,
3155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
3165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
3175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_Q, AM_W | OT_Q, AM_NOT_USED, "movlpd" } },
3185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x14 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_Q, AM_NOT_USED, "unpcklps", true,
3195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
3205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
3215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_Q, AM_NOT_USED, "unpcklpd" } },
3225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x15 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_Q, AM_NOT_USED, "unpckhps", true,
3235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
3245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
3255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_Q, AM_NOT_USED, "unpckhpd" } },
3265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x16 */ { 0, IT_GENERIC, AM_V | OT_Q, AM_W | OT_Q, AM_NOT_USED, "movhps", true,
3275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0, IT_GENERIC, AM_V | OT_Q, AM_V | OT_Q, AM_NOT_USED, "movlhps" },  // only one of...
3285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0, IT_GENERIC, AM_V | OT_Q, AM_V | OT_Q, AM_NOT_USED, "movlhps" },  // ...these two is correct, Intel doesn't specify which
3295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_Q, AM_W | OT_Q, AM_NOT_USED, "movhpd" } },
3305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x17 */ { 0, IT_GENERIC, AM_W | OT_Q, AM_V | OT_Q, AM_NOT_USED, "movhps", true,
3315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
3325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
3335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_W | OT_Q, AM_V | OT_Q, AM_NOT_USED, "movhpd" } },
3345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x18 */ { 18, IT_REFERENCE, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
3355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x19 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
3365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x1A */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
3375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x1B */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
3385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x1C */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
3395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x1D */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
3405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x1E */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
3415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x1F */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
3425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x20 */ { 0, IT_GENERIC, AM_R | OT_D, AM_C | OT_D, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
3435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x21 */ { 0, IT_GENERIC, AM_R | OT_D, AM_D | OT_D, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
3445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x22 */ { 0, IT_GENERIC, AM_C | OT_D, AM_R | OT_D, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
3455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x23 */ { 0, IT_GENERIC, AM_D | OT_D, AM_R | OT_D, AM_NOT_USED, "mov", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
3465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x24 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
3475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x25 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
3485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x26 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
3495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x27 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
3505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x28 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "movaps", true,
3515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
3525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
3535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "movapd" } },
3545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x29 */ { 0, IT_GENERIC, AM_W | OT_PS, AM_V | OT_PS, AM_NOT_USED, "movaps", true,
3555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
3565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
3575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_W | OT_PD, AM_V | OT_PD, AM_NOT_USED, "movapd" } },
3585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x2A */ { 0, IT_GENERIC, AM_V | OT_PS, AM_Q | OT_Q, AM_NOT_USED, "cvtpi2ps", true,
3595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_E | OT_D, AM_NOT_USED, "cvtsi2sd" },
3605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_E | OT_D, AM_NOT_USED, "cvtsi2ss" },
3615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_Q | OT_DQ, AM_NOT_USED, "cvtpi2pd" } },
3625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x2B */ { 0, IT_GENERIC, AM_W | OT_PS, AM_V | OT_PS, AM_NOT_USED, "movntps", true,
3635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
3645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
3655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_W | OT_PD, AM_V | OT_PD, AM_NOT_USED, "movntpd" } },
3665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x2C */ { 0, IT_GENERIC, AM_Q | OT_Q, AM_W | OT_PS, AM_NOT_USED, "cvttps2pi", true,
3675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0, IT_GENERIC, AM_G | OT_D, AM_W | OT_SD, AM_NOT_USED, "cvttsd2si" },
3685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0, IT_GENERIC, AM_G | OT_D, AM_W | OT_SS, AM_NOT_USED, "cvttss2si" },
3695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_Q | OT_DQ, AM_W | OT_PD, AM_NOT_USED, "cvttpd2pi" } },
3705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x2D */ { 0, IT_GENERIC, AM_Q | OT_Q, AM_W | OT_PS, AM_NOT_USED, "cvtps2pi", true,
3715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0, IT_GENERIC, AM_G | OT_D, AM_W | OT_SD, AM_NOT_USED, "cvtsd2si" },
3725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0, IT_GENERIC, AM_G | OT_D, AM_W | OT_SS, AM_NOT_USED, "cvtss2si" },
3735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_Q | OT_DQ, AM_W | OT_PD, AM_NOT_USED, "cvtpd2pi" } },
3745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x2E */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_NOT_USED, "ucomiss", true,
3755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
3765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
3775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_W | OT_SD, AM_NOT_USED, "ucomisd" } },
3785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x2F */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_SS, AM_NOT_USED, "comiss", true,
3795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
3805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
3815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_W | OT_SD, AM_NOT_USED, "comisd" } },
3825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x30 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "wrmsr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
3835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x31 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "rdtsc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
3845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x32 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "rdmsr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
3855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x33 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "rdpmc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
3865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x34 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "sysenter", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
3875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x35 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "sysexit", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
3885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x36 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
3895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x37 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
3905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x38 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
3915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x39 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
3925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x3A */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
3935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x3B */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
3945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x3C */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "movnti", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
3955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x3D */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
3965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x3E */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
3975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x3F */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
3985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x40 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovo", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
3995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x41 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovno", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
4005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x42 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
4015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x43 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovnc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
4025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x44 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovz", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
4035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x45 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovnz", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
4045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x46 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovbe", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
4055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x47 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmova", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
4065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x48 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovs", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
4075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x49 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovns", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
4085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x4A */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovpe", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
4095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x4B */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovpo", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
4105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x4C */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovl", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
4115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x4D */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovge", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
4125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x4E */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovle", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
4135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x4F */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "cmovg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
4145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x50 */ { 0, IT_GENERIC, AM_E | OT_D, AM_V | OT_PS, AM_NOT_USED, "movmskps", true,
4155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
4165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
4175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_E | OT_D, AM_V | OT_PD, AM_NOT_USED, "movmskpd" } },
4185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x51 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "sqrtps", true,
4195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_W | OT_SD, AM_NOT_USED, "sqrtsd" },
4205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_NOT_USED, "sqrtss" },
4215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "sqrtpd" } },
4225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x52 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "rsqrtps", true,
4235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
4245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_NOT_USED, "rsqrtss" },
4255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0 } },
4265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x53 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "rcpps", true,
4275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
4285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_NOT_USED, "rcpss" },
4295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0 } },
4305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x54 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "andps", true,
4315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
4325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
4335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "andpd" } },
4345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x55 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "andnps", true,
4355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
4365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
4375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "andnpd" } },
4385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x56 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "orps", true,
4395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
4405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
4415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "orpd" } },
4425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x57 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "xorps", true,
4435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
4445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
4455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "xorpd" } },
4465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x58 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "addps", true,
4475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_W | OT_SD, AM_NOT_USED, "addsd" },
4485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_NOT_USED, "addss" },
4495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "addpd" } },
4505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x59 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "mulps", true,
4515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_W | OT_SD, AM_NOT_USED, "mulsd" },
4525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_NOT_USED, "mulss" },
4535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "mulpd" } },
4545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x5A */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PS, AM_NOT_USED, "cvtps2pd", true,
4555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_W | OT_SD, AM_NOT_USED, "cvtsd2ss" },
4565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_NOT_USED, "cvtss2sd" },
4575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PD, AM_NOT_USED, "cvtpd2ps" } },
4585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x5B */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_DQ, AM_NOT_USED, "cvtdq2ps", true,
4595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
4605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_PS, AM_NOT_USED, "cvttps2dq" },
4615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_PS, AM_NOT_USED, "cvtps2dq" } },
4625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x5C */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "subps", true,
4635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_W | OT_SD, AM_NOT_USED, "subsd" },
4645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_NOT_USED, "subss" },
4655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "subpd" } },
4665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x5D */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "minps", true,
4675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_W | OT_SD, AM_NOT_USED, "minsd" },
4685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_NOT_USED, "minss" },
4695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "minpd" } },
4705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x5E */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "divps", true,
4715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_W | OT_SD, AM_NOT_USED, "divsd" },
4725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_NOT_USED, "divss" },
4735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "divpd" } },
4745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x5F */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_NOT_USED, "maxps", true,
4755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_W | OT_SD, AM_NOT_USED, "maxsd" },
4765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W | OT_SS, AM_NOT_USED, "maxss" },
4775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_NOT_USED, "maxpd" } },
4785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x60 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "punpcklbw", true,
4795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
4805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
4815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "punpcklbw" } },
4825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x61 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "punpcklwd", true,
4835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
4845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
4855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "punpcklwd" } },
4865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x62 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "punpckldq", true,
4875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
4885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
4895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "punpckldq" } },
4905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x63 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "packsswb", true,
4915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
4925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
4935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "packsswb" } },
4945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x64 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "pcmpgtb", true,
4955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
4965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
4975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pcmpgtb" } },
4985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x65 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "pcmpgtw", true,
4995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
5005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
5015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pcmpgtw" } },
5025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x66 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "pcmpgtd", true,
5035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
5045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
5055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pcmpgtd" } },
5065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x67 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "packuswb", true,
5075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
5085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
5095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "packuswb" } },
5105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x68 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "punpckhbw", true,
5115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
5125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
5135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_P | OT_DQ, AM_Q | OT_DQ, AM_NOT_USED, "punpckhbw" } },
5145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x69 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "punpckhwd", true,
5155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
5165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
5175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_P | OT_DQ, AM_Q | OT_DQ, AM_NOT_USED, "punpckhwd" } },
5185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x6A */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "punpckhdq", true,
5195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
5205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
5215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_P | OT_DQ, AM_Q | OT_DQ, AM_NOT_USED, "punpckhdq" } },
5225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x6B */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "packssdw", true,
5235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
5245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
5255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_P | OT_DQ, AM_Q | OT_DQ, AM_NOT_USED, "packssdw" } },
5265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x6C */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "not used without prefix", true,
5275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
5285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
5295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "punpcklqdq" } },
5305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x6D */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "not used without prefix", true,
5315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
5325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
5335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "punpcklqdq" } },
5345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x6E */ { 0, IT_GENERIC, AM_P | OT_D, AM_E | OT_D, AM_NOT_USED, "movd", true,
5355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
5365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
5375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_E | OT_D, AM_NOT_USED, "movd" } },
5385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x6F */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_D, AM_NOT_USED, "movq", true,
5395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
5405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "movdqu" },
5415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "movdqa" } },
5425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x70 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_I |  OT_B, "pshuf", true,
5435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_I | OT_B, "pshuflw" },
5445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_I | OT_B, "pshufhw" },
5455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_I | OT_B, "pshufd" } },
5465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x71 */ { 19, IT_REFERENCE, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
5475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x72 */ { 20, IT_REFERENCE, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
5485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x73 */ { 21, IT_REFERENCE, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
5495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x74 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pcmpeqb", true,
5505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
5515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
5525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pcmpeqb" } },
5535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x75 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pcmpeqw", true,
5545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
5555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
5565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pcmpeqw" } },
5575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x76 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pcmpeqd", true,
5585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
5595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
5605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pcmpeqd" } },
5615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x77 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "emms", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
5625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // The following six opcodes are escapes into the MMX stuff, which this disassembler does not support.
5645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x78 */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
5655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x79 */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
5665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x7A */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
5675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x7B */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
5685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x7C */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
5695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x7D */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
5705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x7E */ { 0, IT_GENERIC, AM_E | OT_D, AM_P | OT_D, AM_NOT_USED, "movd", true,
5725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
5735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0, IT_GENERIC, AM_V | OT_Q, AM_W | OT_Q, AM_NOT_USED, "movq" },
5745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_E | OT_D, AM_V | OT_DQ, AM_NOT_USED, "movd" } },
5755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x7F */ { 0, IT_GENERIC, AM_Q | OT_Q, AM_P | OT_Q, AM_NOT_USED, "movq", true,
5765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
5775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0, IT_GENERIC, AM_W | OT_DQ, AM_V | OT_DQ, AM_NOT_USED, "movdqu" },
5785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_W | OT_DQ, AM_V | OT_DQ, AM_NOT_USED, "movdqa" } },
5795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x80 */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jo", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
5805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x81 */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jno", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
5815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x82 */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
5825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x83 */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jnc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
5835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x84 */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jz", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
5845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x85 */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jnz", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
5855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x86 */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jbe", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
5865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x87 */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "ja", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
5875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x88 */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "js", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
5885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x89 */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jns", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
5895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x8A */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jpe", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
5905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x8B */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jpo", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
5915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x8C */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jl", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
5925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x8D */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jge", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
5935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x8E */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jle", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
5945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x8F */ { 0, IT_JUMP, AM_J | OT_V, AM_NOT_USED, AM_NOT_USED, "jg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
5955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x90 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "seto", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
5965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x91 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setno", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
5975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x92 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
5985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x93 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setnc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
5995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x94 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setz", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x95 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setnz", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x96 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setbe", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x97 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "seta", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x98 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "sets", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x99 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setns", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x9A */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setpe", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x9B */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setpo", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x9C */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setl", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x9D */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setge", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x9E */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setle", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x9F */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "setg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xA0 */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_NOT_USED, AM_NOT_USED, "push", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xA1 */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_NOT_USED, AM_NOT_USED, "pop", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xA2 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "cpuid", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xA3 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "bt", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xA4 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_I | OT_B, "shld", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xA5 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_I | OT_B | AM_REGISTER, "shld", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xA6 */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xA7 */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xA8 */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_NOT_USED, AM_NOT_USED, "push", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xA9 */ { 0, IT_GENERIC, AM_REGISTER | OT_W, AM_NOT_USED, AM_NOT_USED, "pop", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xAA */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "rsm", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xAB */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "bts", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xAC */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_I | OT_B, "shrd", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xAD */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_I | OT_B | AM_REGISTER, "shrd", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xAE */ { 22, IT_REFERENCE, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xAF */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "imul", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xB0 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "cmpxchg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xB1 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "cmpxchg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xB2 */ { 0, IT_GENERIC, AM_M | OT_P, AM_NOT_USED, AM_NOT_USED, "lss", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xB3 */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "btr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xB4 */ { 0, IT_GENERIC, AM_M | OT_P, AM_NOT_USED, AM_NOT_USED, "lfs", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xB5 */ { 0, IT_GENERIC, AM_M | OT_P, AM_NOT_USED, AM_NOT_USED, "lgs", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xB6 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_B, AM_NOT_USED, "movzx", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xB7 */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_W, AM_NOT_USED, "movzx", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xB8 */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xB9 */ { 0, IT_UNKNOWN, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "ud1", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xBA */ { 23, IT_REFERENCE, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xBB */ { 0, IT_GENERIC, AM_E | OT_V, AM_G | OT_V, AM_NOT_USED, "btc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xBC */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "bsf", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xBD */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_V, AM_NOT_USED, "bsr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xBE */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_B, AM_NOT_USED, "movsx", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xBF */ { 0, IT_GENERIC, AM_G | OT_V, AM_E | OT_W, AM_NOT_USED, "movsx", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xC0 */ { 0, IT_GENERIC, AM_E | OT_B, AM_G | OT_B, AM_NOT_USED, "xadd", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xC1 */ { 0, IT_GENERIC, AM_E | OT_V, AM_NOT_USED, AM_NOT_USED, "xadd", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xC2 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_I | OT_B, "cmpps", true,
6465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0, IT_GENERIC, AM_V | OT_SD, AM_W | OT_SD, AM_I | OT_B, "cmpsd" },
6475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0, IT_GENERIC, AM_V | OT_SS, AM_W  | OT_SS, AM_I | OT_B, "cmpss" },
6485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_I | OT_B, "cmppd" } },
6495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xC3 */ { 0, IT_GENERIC, AM_E | OT_D, AM_G | OT_D, AM_NOT_USED, "movnti", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xC4 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_E | OT_D, AM_I | OT_B, "pinsrw", true,
6515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
6525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
6535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_E | OT_D, AM_I | OT_B, "pinsrw" } },
6545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xC5 */ { 0, IT_GENERIC, AM_G | OT_D, AM_P | OT_Q, AM_I | OT_B, "pextrw", true,
6555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
6565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
6575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_G | OT_D, AM_V | OT_DQ, AM_I | OT_B, "pextrw" } },
6585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xC6 */ { 0, IT_GENERIC, AM_V | OT_PS, AM_W | OT_PS, AM_I | OT_B, "shufps", true,
6595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
6605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
6615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_PD, AM_I | OT_B, "shufpd" } },
6625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xC7 */ { 24, IT_REFERENCE, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xC8 */ { 0, IT_GENERIC, AM_REGISTER | OT_D, AM_NOT_USED, AM_NOT_USED, "bswap", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xC9 */ { 0, IT_GENERIC, AM_REGISTER | OT_D, AM_NOT_USED, AM_NOT_USED, "bswap", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xCA */ { 0, IT_GENERIC, AM_REGISTER | OT_D, AM_NOT_USED, AM_NOT_USED, "bswap", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xCB */ { 0, IT_GENERIC, AM_REGISTER | OT_D, AM_NOT_USED, AM_NOT_USED, "bswap", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xCC */ { 0, IT_GENERIC, AM_REGISTER | OT_D, AM_NOT_USED, AM_NOT_USED, "bswap", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xCD */ { 0, IT_GENERIC, AM_REGISTER | OT_D, AM_NOT_USED, AM_NOT_USED, "bswap", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xCE */ { 0, IT_GENERIC, AM_REGISTER | OT_D, AM_NOT_USED, AM_NOT_USED, "bswap", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xCF */ { 0, IT_GENERIC, AM_REGISTER | OT_D, AM_NOT_USED, AM_NOT_USED, "bswap", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xD0 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
6725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xD1 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psrlw", true,
6735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
6745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
6755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psrlw" } },
6765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xD2 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psrld", true,
6775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
6785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
6795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psrld" } },
6805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xD3 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psrlq", true,
6815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
6825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
6835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psrlq" } },
6845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xD4 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "paddq", true,
6855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
6865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
6875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "paddq" } },
6885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xD5 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pmullw", true,
6895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
6905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
6915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pmullw" } },
6925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xD6 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "unused without prefix", true,
6935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0, IT_GENERIC, AM_P | OT_Q, AM_W | OT_Q, AM_NOT_USED, "movdq2q" },
6945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_Q | OT_Q, AM_NOT_USED, "movq2dq" },
6955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_W | OT_Q, AM_V | OT_Q, AM_NOT_USED, "movq" } },
6965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xD7 */ { 0, IT_GENERIC, AM_G | OT_D, AM_P | OT_Q, AM_NOT_USED, "pmovmskb", true,
6975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
6985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
6995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_G | OT_D, AM_V | OT_DQ, AM_NOT_USED, "pmovmskb" } },
7005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xD8 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psubusb", true,
7015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
7025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
7035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psubusb" } },
7045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xD9 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psubusw", true,
7055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
7065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
7075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psubusw" } },
7085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xDA */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pminub", true,
7095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
7105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
7115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pminub" } },
7125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xDB */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pand", true,
7135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
7145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
7155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pand" } },
7165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xDC */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "paddusb", true,
7175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
7185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
7195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "paddusb" } },
7205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xDD */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "paddusw", true,
7215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
7225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
7235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "paddusw" } },
7245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xDE */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pmaxub", true,
7255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
7265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
7275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pmaxub" } },
7285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xDF */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pandn", true,
7295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
7305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
7315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pandn" } },
7325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xE0 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pavgb", true,
7335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
7345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
7355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pavgb" } },
7365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xE1 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psraw", true,
7375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
7385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
7395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psrqw" } },
7405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xE2 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psrad", true,
7415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
7425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
7435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psrad" } },
7445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xE3 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pavgw", true,
7455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
7465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
7475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pavgw" } },
7485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xE4 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pmulhuw", true,
7495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
7505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
7515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pmulhuw" } },
7525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xE5 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pmulhuw", true,
7535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
7545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
7555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pmulhw" } },
7565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xE6 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "not used without prefix", true,
7575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_PD, AM_NOT_USED, "cvtpd2dq" },
7585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0, IT_GENERIC, AM_V | OT_PD, AM_W | OT_DQ, AM_NOT_USED, "cvtdq2pd" },
7595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_PD, AM_NOT_USED, "cvttpd2dq" } },
7605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xE7 */ { 0, IT_GENERIC, AM_W | OT_Q, AM_V | OT_Q, AM_NOT_USED, "movntq", true,
7615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
7625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
7635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_W | OT_DQ, AM_V | OT_DQ, AM_NOT_USED, "movntdq" } },
7645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xE8 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psubsb", true,
7655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
7665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
7675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psubsb" } },
7685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xE9 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psubsw", true,
7695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
7705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
7715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psubsw" } },
7725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xEA */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pminsw", true,
7735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
7745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
7755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pminsw" } },
7765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xEB */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "por", true,
7775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
7785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
7795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "por" } },
7805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xEC */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "paddsb", true,
7815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
7825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
7835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "paddsb" } },
7845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xED */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "paddsw", true,
7855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
7865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
7875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "paddsw" } },
7885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xEE */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pmaxsw", true,
7895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
7905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
7915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pmaxsw" } },
7925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xEF */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pxor", true,
7935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
7945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
7955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pxor" } },
7965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xF0 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
7975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xF1 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psllw", true,
7985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
7995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
8005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psllw" } },
8015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xF2 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pslld", true,
8025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
8035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
8045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pslld" } },
8055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xF3 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psllq", true,
8065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
8075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
8085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psllq" } },
8095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xF4 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pmuludq", true,
8105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
8115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
8125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pmuludq" } },
8135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xF5 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "pmaddwd", true,
8145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
8155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
8165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "pmaddwd" } },
8175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xF6 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psadbw", true,
8185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
8195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
8205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psadbw" } },
8215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xF7 */ { 0, IT_GENERIC, AM_P | OT_PI, AM_Q | OT_PI, AM_NOT_USED, "maskmovq", true,
8225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
8235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
8245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "maskmovdqu" } },
8255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xF8 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psubb", true,
8265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
8275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
8285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psubb" } },
8295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xF9 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psubw", true,
8305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
8315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
8325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psubw" } },
8335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xFA */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psubd", true,
8345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
8355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
8365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psubd" } },
8375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xFB */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "psubq", true,
8385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
8395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
8405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "psubq" } },
8415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xFC */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "paddb", true,
8425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
8435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
8445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "paddb" } },
8455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xFD */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "paddw", true,
8465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
8475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
8485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "paddw" } },
8495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xFE */ { 0, IT_GENERIC, AM_P | OT_Q, AM_Q | OT_Q, AM_NOT_USED, "paddd", true,
8505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
8515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
8525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_V | OT_DQ, AM_W | OT_DQ, AM_NOT_USED, "paddd" } },
8535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0xFF */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
8545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
8555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
8565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_0f00[] = {
8575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_W, AM_NOT_USED, AM_NOT_USED, "sldt", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
8585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_W, AM_NOT_USED, AM_NOT_USED, "str", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
8595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_W, AM_NOT_USED, AM_NOT_USED, "lldt", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
8605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_W, AM_NOT_USED, AM_NOT_USED, "ltr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
8615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_W, AM_NOT_USED, AM_NOT_USED, "verr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
8625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x5 */ { 0, IT_GENERIC, AM_E | OT_W, AM_NOT_USED, AM_NOT_USED, "verw", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
8635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x6 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
8645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x7 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
8655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
8665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
8675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_0f01[] = {
8685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x0 */ { 0, IT_GENERIC, AM_M | OT_S, AM_NOT_USED, AM_NOT_USED, "sgdt", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
8695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x1 */ { 0, IT_GENERIC, AM_M | OT_S, AM_NOT_USED, AM_NOT_USED, "sidt", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
8705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x2 */ { 0, IT_GENERIC, AM_M | OT_S, AM_NOT_USED, AM_NOT_USED, "lgdt", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
8715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x3 */ { 0, IT_GENERIC, AM_M | OT_S, AM_NOT_USED, AM_NOT_USED, "lidt", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
8725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_W, AM_NOT_USED, AM_NOT_USED, "smsw", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
8735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x5 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
8745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_W, AM_NOT_USED, AM_NOT_USED, "lmsw", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
8755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x7 */ { 0, IT_GENERIC, AM_M | OT_B, AM_NOT_USED, AM_NOT_USED, "invlpg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
8765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
8775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
8785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_0f18[] = {
8795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x0 */ { 0, IT_GENERIC, AM_M | OT_ADDRESS_MODE_M, AM_NOT_USED, AM_NOT_USED, "prefetch", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
8805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x1 */ { 0, IT_GENERIC, AM_REGISTER | OT_D, AM_NOT_USED, AM_NOT_USED, "prefetch", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
8815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x2 */ { 0, IT_GENERIC, AM_REGISTER | OT_D, AM_NOT_USED, AM_NOT_USED, "prefetch", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
8825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x3 */ { 0, IT_GENERIC, AM_REGISTER | OT_D, AM_NOT_USED, AM_NOT_USED, "prefetch", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
8835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x4 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
8845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x5 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
8855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x6 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
8865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x7 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
8875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
8885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
8895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_0f71[] = {
8905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x0 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
8915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x1 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
8925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x2 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_I | OT_B, AM_NOT_USED, "psrlw", true,
8935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
8945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
8955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_P | OT_DQ, AM_I | OT_B, AM_NOT_USED, "psrlw" } },
8965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x3 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
8975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x4 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_I | OT_B, AM_NOT_USED, "psraw", true,
8985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
8995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
9005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_P | OT_DQ, AM_I | OT_B, AM_NOT_USED, "psraw" } },
9015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x5 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x6 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_I | OT_B, AM_NOT_USED, "psllw", true,
9035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
9045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
9055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_P | OT_DQ, AM_I | OT_B, AM_NOT_USED, "psllw" } },
9065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x7 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
9075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
9085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
9095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_0f72[] = {
9105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x0 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x1 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x2 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_I | OT_B, AM_NOT_USED, "psrld", true,
9135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
9145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
9155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_W | OT_DQ, AM_I | OT_B, AM_NOT_USED, "psrld" } },
9165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x3 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x4 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_I | OT_B, AM_NOT_USED, "psrad", true,
9185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
9195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
9205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_W | OT_DQ, AM_I | OT_B, AM_NOT_USED, "psrad" } },
9215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x5 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x6 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_I | OT_B, AM_NOT_USED, "pslld", true,
9235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
9245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
9255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_W | OT_DQ, AM_I | OT_B, AM_NOT_USED, "pslld" } },
9265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x7 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
9275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
9285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
9295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_0f73[] = {
9305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x0 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x1 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x2 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_I | OT_B, AM_NOT_USED, "psrlq", true,
9335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
9345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
9355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_W | OT_DQ, AM_I | OT_B, AM_NOT_USED, "psrlq" } },
9365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x3 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x4 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x5 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x6 */ { 0, IT_GENERIC, AM_P | OT_Q, AM_I | OT_B, AM_NOT_USED, "psllq", true,
9405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
9415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
9425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_W | OT_DQ, AM_I | OT_B, AM_NOT_USED, "psllq" } },
9435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x7 */ { 0, IT_GENERIC, AM_W | OT_DQ, AM_I | OT_B, AM_NOT_USED, "pslldq", true,
9445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F2h */ { 0 },
9455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* F3h */ { 0 },
9465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    /* 66h */ { 0, IT_GENERIC, AM_W | OT_DQ, AM_I | OT_B, AM_NOT_USED, "pslldq" } },
9475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
9485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
9495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_0fae[] = {
9505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x0 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "fxsave", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x1 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "fxrstor", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x2 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "ldmxcsr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x3 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "stmxcsr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x4 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x5 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "lfence", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x6 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "mfence", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x7 */ { 0, IT_GENERIC, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, "clflush/sfence", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
9595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
9605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_0fba[] = {
9615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x0 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x1 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x2 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x3 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "bt", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x5 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "bts", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "btr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x7 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "btc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
9695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
9705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
9715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_0fc7[] = {
9725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x0 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x1 */ { 0, IT_GENERIC, AM_M | OT_Q, AM_NOT_USED, AM_NOT_USED, "cmpxch8b", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
9745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
9755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
9765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_80[] = {
9775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "add", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "or", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "adc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "sbb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "and", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x5 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "sub", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "xor", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x7 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "cmp", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
9855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
9865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
9875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_81[] = {
9885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_V, AM_NOT_USED, "add", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_V, AM_NOT_USED, "or", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_V, AM_NOT_USED, "adc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_V, AM_NOT_USED, "sbb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_V, AM_NOT_USED, "and", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x5 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_V, AM_NOT_USED, "sub", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_V, AM_NOT_USED, "xor", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
9955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x7 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_V, AM_NOT_USED, "cmp", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
9965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
9975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
9985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_82[] = {
9995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "add", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "or", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "adc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "sbb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "and", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x5 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "sub", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "xor", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x7 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "cmp", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
10075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
10085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
10095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_83[] = {
10105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "add", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "or", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "adc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "sbb", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "and", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x5 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "sub", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "xor", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x7 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "cmp", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
10185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
10195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
10205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_c0[] = {
10215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "rol", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "ror", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "rcl", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "rcr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "shl", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x5 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "shr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "sal", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x7 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "sar", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
10295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
10305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
10315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_c1[] = {
10325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "rol", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "ror", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "rcl", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "rcr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "shl", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x5 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "shr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "sal", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x7 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_B, AM_NOT_USED, "sar", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
10405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
10415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
10425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_d0[] = {
10435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_B, AM_IMPLICIT, AM_NOT_USED, "rol", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_B, AM_IMPLICIT, AM_NOT_USED, "ror", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_B, AM_IMPLICIT, AM_NOT_USED, "rcl", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_B, AM_IMPLICIT, AM_NOT_USED, "rcr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_B, AM_IMPLICIT, AM_NOT_USED, "shl", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x5 */ { 0, IT_GENERIC, AM_E | OT_B, AM_IMPLICIT, AM_NOT_USED, "shr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_B, AM_IMPLICIT, AM_NOT_USED, "sal", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x7 */ { 0, IT_GENERIC, AM_E | OT_B, AM_IMPLICIT, AM_NOT_USED, "sar", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
10515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
10525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
10535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_d1[] = {
10545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_V, AM_IMPLICIT, AM_NOT_USED, "rol", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_V, AM_IMPLICIT, AM_NOT_USED, "ror", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_V, AM_IMPLICIT, AM_NOT_USED, "rcl", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_V, AM_IMPLICIT, AM_NOT_USED, "rcr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_V, AM_IMPLICIT, AM_NOT_USED, "shl", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x5 */ { 0, IT_GENERIC, AM_E | OT_V, AM_IMPLICIT, AM_NOT_USED, "shr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_V, AM_IMPLICIT, AM_NOT_USED, "sal", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x7 */ { 0, IT_GENERIC, AM_E | OT_V, AM_IMPLICIT, AM_NOT_USED, "sar", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
10625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
10635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
10645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_d2[] = {
10655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "rol", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "ror", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "rcl", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "rcr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "shl", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x5 */ { 0, IT_GENERIC, AM_E | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "shr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "sal", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x7 */ { 0, IT_GENERIC, AM_E | OT_B, AM_REGISTER | OT_B, AM_NOT_USED, "sar", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
10735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
10745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
10755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_d3[] = {
10765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_V, AM_REGISTER | OT_B, AM_NOT_USED, "rol", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_V, AM_REGISTER | OT_B, AM_NOT_USED, "ror", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_V, AM_REGISTER | OT_B, AM_NOT_USED, "rcl", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_V, AM_REGISTER | OT_B, AM_NOT_USED, "rcr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x4 */ { 0, IT_GENERIC, AM_E | OT_V, AM_REGISTER | OT_B, AM_NOT_USED, "shl", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x5 */ { 0, IT_GENERIC, AM_E | OT_V, AM_REGISTER | OT_B, AM_NOT_USED, "shr", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_V, AM_REGISTER | OT_B, AM_NOT_USED, "sal", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x7 */ { 0, IT_GENERIC, AM_E | OT_V, AM_REGISTER | OT_B, AM_NOT_USED, "sar", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
10845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
10855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
10865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_f6[] = {
10875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "test", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_B, AM_I | OT_B, AM_NOT_USED, "test", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "not", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "neg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x4 */ { 0, IT_GENERIC, OT_B | AM_REGISTER, AM_E | OT_B, AM_NOT_USED, "mul", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x5 */ { 0, IT_GENERIC, OT_B | AM_REGISTER, AM_E | OT_B, AM_NOT_USED, "imul", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x6 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_E | OT_B, AM_NOT_USED, "div", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x7 */ { 0, IT_GENERIC, AM_REGISTER | OT_B, AM_E | OT_B, AM_NOT_USED, "idiv", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
10955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
10965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
10975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_f7[] = {
10985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_V, AM_NOT_USED, "test", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
10995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_V, AM_I | OT_V, AM_NOT_USED, "test", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
11005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x2 */ { 0, IT_GENERIC, AM_E | OT_V, AM_NOT_USED, AM_NOT_USED, "not", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
11015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x3 */ { 0, IT_GENERIC, AM_E | OT_V, AM_NOT_USED, AM_NOT_USED, "neg", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
11025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x4 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_E | OT_V, AM_NOT_USED, "mul", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
11035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x5 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_E | OT_V, AM_NOT_USED, "imul", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
11045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x6 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_E | OT_V, AM_NOT_USED, "div", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
11055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x7 */ { 0, IT_GENERIC, AM_REGISTER | OT_V, AM_E | OT_V, AM_NOT_USED, "idiv", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
11065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
11075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
11085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_fe[] = {
11095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "inc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
11105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_B, AM_NOT_USED, AM_NOT_USED, "dec", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
11115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
11125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
11135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const Opcode s_opcode_byte_after_ff[] = {
11145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x0 */ { 0, IT_GENERIC, AM_E | OT_V, AM_NOT_USED, AM_NOT_USED, "inc", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
11155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x1 */ { 0, IT_GENERIC, AM_E | OT_V, AM_NOT_USED, AM_NOT_USED, "dec", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
11165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x2 */ { 0, IT_JUMP, AM_E | OT_V, AM_NOT_USED, AM_NOT_USED, "call", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
11175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x3 */ { 0, IT_JUMP, AM_E | OT_P, AM_NOT_USED, AM_NOT_USED, "call", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
11185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x4 */ { 0, IT_JUMP, AM_E | OT_V, AM_NOT_USED, AM_NOT_USED, "jmp", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
11195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x5 */ { 0, IT_JUMP, AM_E | OT_P, AM_NOT_USED, AM_NOT_USED, "jmp", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
11205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x6 */ { 0, IT_GENERIC, AM_E | OT_V, AM_NOT_USED, AM_NOT_USED, "push", false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } },
11215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 0x7 */ { 0, IT_UNUSED, AM_NOT_USED, AM_NOT_USED, AM_NOT_USED, 0, false, /* F2h */ { 0 }, /* F3h */ { 0 }, /* 66h */ { 0 } }
11225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
11235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
11245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)/*
11255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)* A table of all the other tables, containing some extra information, e.g.
11265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)* how to mask out the byte we're looking at.
11275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)*/
11285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const OpcodeTable MiniDisassembler::s_ia32_opcode_map_[]={
11295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // One-byte opcodes and jumps to larger
11305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /*  0 */ {s_first_opcode_byte, 0, 0xff, 0, 0xff},
11315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // Two-byte opcodes (second byte)
11325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /*  1 */ {s_opcode_byte_after_0f, 0, 0xff, 0, 0xff},
11335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // Start of tables for opcodes using ModR/M bits as extension
11345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /*  2 */ {s_opcode_byte_after_80, 3, 0x07, 0, 0x07},
11355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /*  3 */ {s_opcode_byte_after_81, 3, 0x07, 0, 0x07},
11365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /*  4 */ {s_opcode_byte_after_82, 3, 0x07, 0, 0x07},
11375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /*  5 */ {s_opcode_byte_after_83, 3, 0x07, 0, 0x07},
11385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /*  6 */ {s_opcode_byte_after_c0, 3, 0x07, 0, 0x07},
11395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /*  7 */ {s_opcode_byte_after_c1, 3, 0x07, 0, 0x07},
11405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /*  8 */ {s_opcode_byte_after_d0, 3, 0x07, 0, 0x07},
11415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /*  9 */ {s_opcode_byte_after_d1, 3, 0x07, 0, 0x07},
11425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 10 */ {s_opcode_byte_after_d2, 3, 0x07, 0, 0x07},
11435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 11 */ {s_opcode_byte_after_d3, 3, 0x07, 0, 0x07},
11445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 12 */ {s_opcode_byte_after_f6, 3, 0x07, 0, 0x07},
11455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 13 */ {s_opcode_byte_after_f7, 3, 0x07, 0, 0x07},
11465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 14 */ {s_opcode_byte_after_fe, 3, 0x07, 0, 0x01},
11475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 15 */ {s_opcode_byte_after_ff, 3, 0x07, 0, 0x07},
11485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 16 */ {s_opcode_byte_after_0f00, 3, 0x07, 0, 0x07},
11495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 17 */ {s_opcode_byte_after_0f01, 3, 0x07, 0, 0x07},
11505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 18 */ {s_opcode_byte_after_0f18, 3, 0x07, 0, 0x07},
11515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 19 */ {s_opcode_byte_after_0f71, 3, 0x07, 0, 0x07},
11525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 20 */ {s_opcode_byte_after_0f72, 3, 0x07, 0, 0x07},
11535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 21 */ {s_opcode_byte_after_0f73, 3, 0x07, 0, 0x07},
11545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 22 */ {s_opcode_byte_after_0fae, 3, 0x07, 0, 0x07},
11555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 23 */ {s_opcode_byte_after_0fba, 3, 0x07, 0, 0x07},
11565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  /* 24 */ {s_opcode_byte_after_0fc7, 3, 0x07, 0, 0x01}
11575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};
11585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
11595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)};  // namespace sidestep
1160