mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-30 09:09:16 +08:00
<gas changes>
2009-05-22 Dwarakanath Rajagopal <dwarak.rajagopal@amd.com> * config/tc-i386.c (process_drex): Delete. Remove SSE5 support. (build_modrm_byte): Remove DREX handling support. (DREX_*): Delete. (drex_byte): Delete. (md_assemble): Remove DREX handling support. (process_operands): Remove DREX, SSE5 support. (i386_insn): Remove DREX. <gas/testsuite changes> 2009-05-22 Dwarakanath Rajagopal <dwarak.rajagopal@amd.com> * gas/i386/i386.exp: Remove SSE5 tests. * gas/i386/x86-64-sse5.s: Delete. Remove SSE5 tests. * gas/i386/x86-64-sse5.d: Ditto. * gas/i386/arch-10-1.l: Remove SSE5 tests. * gas/i386/arch-10-2.l: Ditto. * gas/i386/arch-10-3.l: Ditto. * gas/i386/arch-10-4.l: Ditto. * gas/i386/arch-10.d: Ditto. * gas/i386/arch-10.s: Ditto. * gas/i386/arch-4.s: Delete. Remove SSE5 tests. * gas/i386/arch-4.d: Ditto. * gas/i386/arch-8.s: Ditto. * gas/i386/arch-8.d: Ditto. * gas/i386/arch-2.s: Remove SSE5 tests. * gas/i386/arch-2.d: Remove SSE5 tests. * gas/i386/x86-64-arch-2.s: Ditto. <opcodes changes> 2009-05-22 Dwarakanath Rajagopal <dwarak.rajagopal@amd.com> * i386-opc.h (Cpusse5): Delete. (i386_cpu_flags): Delete. * i386-gen.c: Remove CpuSSE5, Drex, Drexv and Drexc. * i386-opc.tbl: Remove SSE5 instructions. * i386-tbl.h: Regenerate. * i386-init.h: Regenerate. * i386-dis.c (OP_E_memeory, OP_E_extended): Remove drex handling. (print_drex_arg): Delete. (OP_DREX4): Delete. (OP_DREX3): Delete. (OP_DREX_ICMP): Delete. (OP_DREX_FCMP): Delete. (DREX_*): Delete. (THREE_BYTE_0F24, THREE_BYTE_0F25, THREE_BYTE_0f7B): Delete.
This commit is contained in:
@ -1,3 +1,13 @@
|
|||||||
|
2009-05-22 Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>
|
||||||
|
|
||||||
|
* config/tc-i386.c (process_drex): Delete. Remove SSE5 support.
|
||||||
|
(build_modrm_byte): Remove DREX handling support.
|
||||||
|
(DREX_*): Delete.
|
||||||
|
(drex_byte): Delete.
|
||||||
|
(md_assemble): Remove DREX handling support.
|
||||||
|
(process_operands): Remove DREX, SSE5 support.
|
||||||
|
(i386_insn): Remove DREX.
|
||||||
|
|
||||||
2009-05-22 Alan Modra <amodra@bigpond.net.au>
|
2009-05-22 Alan Modra <amodra@bigpond.net.au>
|
||||||
|
|
||||||
* Makefile.am: Run "make dep-am".
|
* Makefile.am: Run "make dep-am".
|
||||||
|
@ -114,33 +114,6 @@ modrm_byte;
|
|||||||
/* x86-64 extension prefix. */
|
/* x86-64 extension prefix. */
|
||||||
typedef int rex_byte;
|
typedef int rex_byte;
|
||||||
|
|
||||||
/* The SSE5 instructions have a two bit instruction modifier (OC) that
|
|
||||||
is stored in two separate bytes in the instruction. Pick apart OC
|
|
||||||
into the 2 separate bits for instruction. */
|
|
||||||
#define DREX_OC0(x) (((x) & 1) != 0)
|
|
||||||
#define DREX_OC1(x) (((x) & 2) != 0)
|
|
||||||
|
|
||||||
#define DREX_OC0_MASK (1 << 3) /* set OC0 in byte 4 */
|
|
||||||
#define DREX_OC1_MASK (1 << 2) /* set OC1 in byte 3 */
|
|
||||||
|
|
||||||
/* OC mappings */
|
|
||||||
#define DREX_XMEM_X1_X2_X2 0 /* 4 op insn, dest = src3, src1 = reg/mem */
|
|
||||||
#define DREX_X1_XMEM_X2_X2 1 /* 4 op insn, dest = src3, src2 = reg/mem */
|
|
||||||
#define DREX_X1_XMEM_X2_X1 2 /* 4 op insn, dest = src1, src2 = reg/mem */
|
|
||||||
#define DREX_X1_X2_XMEM_X1 3 /* 4 op insn, dest = src1, src3 = reg/mem */
|
|
||||||
|
|
||||||
#define DREX_XMEM_X1_X2 0 /* 3 op insn, src1 = reg/mem */
|
|
||||||
#define DREX_X1_XMEM_X2 1 /* 3 op insn, src1 = reg/mem */
|
|
||||||
|
|
||||||
/* Information needed to create the DREX byte in SSE5 instructions. */
|
|
||||||
typedef struct
|
|
||||||
{
|
|
||||||
unsigned int reg; /* register */
|
|
||||||
unsigned int rex; /* REX flags */
|
|
||||||
unsigned int modrm_reg; /* which arg goes in the modrm.reg field */
|
|
||||||
unsigned int modrm_regmem; /* which arg goes in the modrm.regmem field */
|
|
||||||
} drex_byte;
|
|
||||||
|
|
||||||
/* 386 opcode byte to code indirect addressing. */
|
/* 386 opcode byte to code indirect addressing. */
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
@ -194,7 +167,6 @@ static int check_long_reg (void);
|
|||||||
static int check_qword_reg (void);
|
static int check_qword_reg (void);
|
||||||
static int check_word_reg (void);
|
static int check_word_reg (void);
|
||||||
static int finalize_imm (void);
|
static int finalize_imm (void);
|
||||||
static void process_drex (void);
|
|
||||||
static int process_operands (void);
|
static int process_operands (void);
|
||||||
static const seg_entry *build_modrm_byte (void);
|
static const seg_entry *build_modrm_byte (void);
|
||||||
static void output_insn (void);
|
static void output_insn (void);
|
||||||
@ -277,13 +249,10 @@ struct _i386_insn
|
|||||||
unsigned char prefix[MAX_PREFIXES];
|
unsigned char prefix[MAX_PREFIXES];
|
||||||
|
|
||||||
/* RM and SIB are the modrm byte and the sib byte where the
|
/* RM and SIB are the modrm byte and the sib byte where the
|
||||||
addressing modes of this insn are encoded. DREX is the byte
|
addressing modes of this insn are encoded. */
|
||||||
added by the SSE5 instructions. */
|
|
||||||
|
|
||||||
modrm_byte rm;
|
modrm_byte rm;
|
||||||
rex_byte rex;
|
rex_byte rex;
|
||||||
sib_byte sib;
|
sib_byte sib;
|
||||||
drex_byte drex;
|
|
||||||
vex_prefix vex;
|
vex_prefix vex;
|
||||||
|
|
||||||
/* Swap operand in encoding. */
|
/* Swap operand in encoding. */
|
||||||
@ -678,8 +647,6 @@ static const arch_entry cpu_arch[] =
|
|||||||
CPU_SSE4A_FLAGS },
|
CPU_SSE4A_FLAGS },
|
||||||
{ ".abm", PROCESSOR_UNKNOWN,
|
{ ".abm", PROCESSOR_UNKNOWN,
|
||||||
CPU_ABM_FLAGS },
|
CPU_ABM_FLAGS },
|
||||||
{ ".sse5", PROCESSOR_UNKNOWN,
|
|
||||||
CPU_SSE5_FLAGS },
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef I386COFF
|
#ifdef I386COFF
|
||||||
@ -2216,8 +2183,6 @@ pi (char *line, i386_insn *x)
|
|||||||
(x->rex & REX_R) != 0,
|
(x->rex & REX_R) != 0,
|
||||||
(x->rex & REX_X) != 0,
|
(x->rex & REX_X) != 0,
|
||||||
(x->rex & REX_B) != 0);
|
(x->rex & REX_B) != 0);
|
||||||
fprintf (stdout, " drex: reg %d rex 0x%x\n",
|
|
||||||
x->drex.reg, x->drex.rex);
|
|
||||||
for (i = 0; i < x->operands; i++)
|
for (i = 0; i < x->operands; i++)
|
||||||
{
|
{
|
||||||
fprintf (stdout, " #%d: ", i + 1);
|
fprintf (stdout, " #%d: ", i + 1);
|
||||||
@ -2713,13 +2678,11 @@ process_immext (void)
|
|||||||
would be. Here we fake an 8-bit immediate operand from the
|
would be. Here we fake an 8-bit immediate operand from the
|
||||||
opcode suffix stored in tm.extension_opcode.
|
opcode suffix stored in tm.extension_opcode.
|
||||||
|
|
||||||
SSE5 and AVX instructions also use this encoding, for some of
|
AVX instructions also use this encoding, for some of
|
||||||
3 argument instructions. */
|
3 argument instructions. */
|
||||||
|
|
||||||
assert (i.imm_operands == 0
|
assert (i.imm_operands == 0
|
||||||
&& (i.operands <= 2
|
&& (i.operands <= 2
|
||||||
|| (i.tm.cpu_flags.bitfield.cpusse5
|
|
||||||
&& i.operands <= 3)
|
|
||||||
|| (i.tm.opcode_modifier.vex
|
|| (i.tm.opcode_modifier.vex
|
||||||
&& i.operands <= 4)));
|
&& i.operands <= 4)));
|
||||||
|
|
||||||
@ -2941,14 +2904,7 @@ md_assemble (char *line)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If the instruction has the DREX attribute (aka SSE5), don't emit a
|
if (i.rex != 0)
|
||||||
REX prefix. */
|
|
||||||
if (i.tm.opcode_modifier.drex || i.tm.opcode_modifier.drexc)
|
|
||||||
{
|
|
||||||
i.drex.rex = i.rex;
|
|
||||||
i.rex = 0;
|
|
||||||
}
|
|
||||||
else if (i.rex != 0)
|
|
||||||
add_prefix (REX_OPCODE | i.rex);
|
add_prefix (REX_OPCODE | i.rex);
|
||||||
|
|
||||||
/* We are ready to output the insn. */
|
/* We are ready to output the insn. */
|
||||||
@ -4551,336 +4507,6 @@ finalize_imm (void)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
process_drex (void)
|
|
||||||
{
|
|
||||||
i.drex.modrm_reg = 0;
|
|
||||||
i.drex.modrm_regmem = 0;
|
|
||||||
|
|
||||||
/* SSE5 4 operand instructions must have the destination the same as
|
|
||||||
one of the inputs. Figure out the destination register and cache
|
|
||||||
it away in the drex field, and remember which fields to use for
|
|
||||||
the modrm byte. */
|
|
||||||
if (i.tm.opcode_modifier.drex
|
|
||||||
&& i.tm.opcode_modifier.drexv
|
|
||||||
&& i.operands == 4)
|
|
||||||
{
|
|
||||||
i.tm.extension_opcode = None;
|
|
||||||
|
|
||||||
/* Case 1: 4 operand insn, dest = src1, src3 = register. */
|
|
||||||
if (i.types[0].bitfield.regxmm != 0
|
|
||||||
&& i.types[1].bitfield.regxmm != 0
|
|
||||||
&& i.types[2].bitfield.regxmm != 0
|
|
||||||
&& i.types[3].bitfield.regxmm != 0
|
|
||||||
&& i.op[0].regs->reg_num == i.op[3].regs->reg_num
|
|
||||||
&& i.op[0].regs->reg_flags == i.op[3].regs->reg_flags)
|
|
||||||
{
|
|
||||||
/* Clear the arguments that are stored in drex. */
|
|
||||||
operand_type_set (&i.types[0], 0);
|
|
||||||
operand_type_set (&i.types[3], 0);
|
|
||||||
i.reg_operands -= 2;
|
|
||||||
|
|
||||||
/* There are two different ways to encode a 4 operand
|
|
||||||
instruction with all registers that uses OC1 set to
|
|
||||||
0 or 1. Favor setting OC1 to 0 since this mimics the
|
|
||||||
actions of other SSE5 assemblers. Use modrm encoding 2
|
|
||||||
for register/register. Include the high order bit that
|
|
||||||
is normally stored in the REX byte in the register
|
|
||||||
field. */
|
|
||||||
i.tm.extension_opcode = DREX_X1_XMEM_X2_X1;
|
|
||||||
i.drex.modrm_reg = 2;
|
|
||||||
i.drex.modrm_regmem = 1;
|
|
||||||
i.drex.reg = (i.op[3].regs->reg_num
|
|
||||||
+ ((i.op[3].regs->reg_flags & RegRex) ? 8 : 0));
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Case 2: 4 operand insn, dest = src1, src3 = memory. */
|
|
||||||
else if (i.types[0].bitfield.regxmm != 0
|
|
||||||
&& i.types[1].bitfield.regxmm != 0
|
|
||||||
&& (i.types[2].bitfield.regxmm
|
|
||||||
|| operand_type_check (i.types[2], anymem))
|
|
||||||
&& i.types[3].bitfield.regxmm != 0
|
|
||||||
&& i.op[0].regs->reg_num == i.op[3].regs->reg_num
|
|
||||||
&& i.op[0].regs->reg_flags == i.op[3].regs->reg_flags)
|
|
||||||
{
|
|
||||||
/* clear the arguments that are stored in drex */
|
|
||||||
operand_type_set (&i.types[0], 0);
|
|
||||||
operand_type_set (&i.types[3], 0);
|
|
||||||
i.reg_operands -= 2;
|
|
||||||
|
|
||||||
/* Specify the modrm encoding for memory addressing. Include
|
|
||||||
the high order bit that is normally stored in the REX byte
|
|
||||||
in the register field. */
|
|
||||||
i.tm.extension_opcode = DREX_X1_X2_XMEM_X1;
|
|
||||||
i.drex.modrm_reg = 1;
|
|
||||||
i.drex.modrm_regmem = 2;
|
|
||||||
i.drex.reg = (i.op[3].regs->reg_num
|
|
||||||
+ ((i.op[3].regs->reg_flags & RegRex) ? 8 : 0));
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Case 3: 4 operand insn, dest = src1, src2 = memory. */
|
|
||||||
else if (i.types[0].bitfield.regxmm != 0
|
|
||||||
&& operand_type_check (i.types[1], anymem) != 0
|
|
||||||
&& i.types[2].bitfield.regxmm != 0
|
|
||||||
&& i.types[3].bitfield.regxmm != 0
|
|
||||||
&& i.op[0].regs->reg_num == i.op[3].regs->reg_num
|
|
||||||
&& i.op[0].regs->reg_flags == i.op[3].regs->reg_flags)
|
|
||||||
{
|
|
||||||
/* Clear the arguments that are stored in drex. */
|
|
||||||
operand_type_set (&i.types[0], 0);
|
|
||||||
operand_type_set (&i.types[3], 0);
|
|
||||||
i.reg_operands -= 2;
|
|
||||||
|
|
||||||
/* Specify the modrm encoding for memory addressing. Include
|
|
||||||
the high order bit that is normally stored in the REX byte
|
|
||||||
in the register field. */
|
|
||||||
i.tm.extension_opcode = DREX_X1_XMEM_X2_X1;
|
|
||||||
i.drex.modrm_reg = 2;
|
|
||||||
i.drex.modrm_regmem = 1;
|
|
||||||
i.drex.reg = (i.op[3].regs->reg_num
|
|
||||||
+ ((i.op[3].regs->reg_flags & RegRex) ? 8 : 0));
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Case 4: 4 operand insn, dest = src3, src2 = register. */
|
|
||||||
else if (i.types[0].bitfield.regxmm != 0
|
|
||||||
&& i.types[1].bitfield.regxmm != 0
|
|
||||||
&& i.types[2].bitfield.regxmm != 0
|
|
||||||
&& i.types[3].bitfield.regxmm != 0
|
|
||||||
&& i.op[2].regs->reg_num == i.op[3].regs->reg_num
|
|
||||||
&& i.op[2].regs->reg_flags == i.op[3].regs->reg_flags)
|
|
||||||
{
|
|
||||||
/* clear the arguments that are stored in drex */
|
|
||||||
operand_type_set (&i.types[2], 0);
|
|
||||||
operand_type_set (&i.types[3], 0);
|
|
||||||
i.reg_operands -= 2;
|
|
||||||
|
|
||||||
/* There are two different ways to encode a 4 operand
|
|
||||||
instruction with all registers that uses OC1 set to
|
|
||||||
0 or 1. Favor setting OC1 to 0 since this mimics the
|
|
||||||
actions of other SSE5 assemblers. Use modrm encoding
|
|
||||||
2 for register/register. Include the high order bit that
|
|
||||||
is normally stored in the REX byte in the register
|
|
||||||
field. */
|
|
||||||
i.tm.extension_opcode = DREX_XMEM_X1_X2_X2;
|
|
||||||
i.drex.modrm_reg = 1;
|
|
||||||
i.drex.modrm_regmem = 0;
|
|
||||||
|
|
||||||
/* Remember the register, including the upper bits */
|
|
||||||
i.drex.reg = (i.op[3].regs->reg_num
|
|
||||||
+ ((i.op[3].regs->reg_flags & RegRex) ? 8 : 0));
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Case 5: 4 operand insn, dest = src3, src2 = memory. */
|
|
||||||
else if (i.types[0].bitfield.regxmm != 0
|
|
||||||
&& (i.types[1].bitfield.regxmm
|
|
||||||
|| operand_type_check (i.types[1], anymem))
|
|
||||||
&& i.types[2].bitfield.regxmm != 0
|
|
||||||
&& i.types[3].bitfield.regxmm != 0
|
|
||||||
&& i.op[2].regs->reg_num == i.op[3].regs->reg_num
|
|
||||||
&& i.op[2].regs->reg_flags == i.op[3].regs->reg_flags)
|
|
||||||
{
|
|
||||||
/* Clear the arguments that are stored in drex. */
|
|
||||||
operand_type_set (&i.types[2], 0);
|
|
||||||
operand_type_set (&i.types[3], 0);
|
|
||||||
i.reg_operands -= 2;
|
|
||||||
|
|
||||||
/* Specify the modrm encoding and remember the register
|
|
||||||
including the bits normally stored in the REX byte. */
|
|
||||||
i.tm.extension_opcode = DREX_X1_XMEM_X2_X2;
|
|
||||||
i.drex.modrm_reg = 0;
|
|
||||||
i.drex.modrm_regmem = 1;
|
|
||||||
i.drex.reg = (i.op[3].regs->reg_num
|
|
||||||
+ ((i.op[3].regs->reg_flags & RegRex) ? 8 : 0));
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Case 6: 4 operand insn, dest = src3, src1 = memory. */
|
|
||||||
else if (operand_type_check (i.types[0], anymem) != 0
|
|
||||||
&& i.types[1].bitfield.regxmm != 0
|
|
||||||
&& i.types[2].bitfield.regxmm != 0
|
|
||||||
&& i.types[3].bitfield.regxmm != 0
|
|
||||||
&& i.op[2].regs->reg_num == i.op[3].regs->reg_num
|
|
||||||
&& i.op[2].regs->reg_flags == i.op[3].regs->reg_flags)
|
|
||||||
{
|
|
||||||
/* clear the arguments that are stored in drex */
|
|
||||||
operand_type_set (&i.types[2], 0);
|
|
||||||
operand_type_set (&i.types[3], 0);
|
|
||||||
i.reg_operands -= 2;
|
|
||||||
|
|
||||||
/* Specify the modrm encoding and remember the register
|
|
||||||
including the bits normally stored in the REX byte. */
|
|
||||||
i.tm.extension_opcode = DREX_XMEM_X1_X2_X2;
|
|
||||||
i.drex.modrm_reg = 1;
|
|
||||||
i.drex.modrm_regmem = 0;
|
|
||||||
i.drex.reg = (i.op[3].regs->reg_num
|
|
||||||
+ ((i.op[3].regs->reg_flags & RegRex) ? 8 : 0));
|
|
||||||
}
|
|
||||||
|
|
||||||
else
|
|
||||||
as_bad (_("Incorrect operands for the '%s' instruction"),
|
|
||||||
i.tm.name);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* SSE5 instructions with the DREX byte where the only memory operand
|
|
||||||
is in the 2nd argument, and the first and last xmm register must
|
|
||||||
match, and is encoded in the DREX byte. */
|
|
||||||
else if (i.tm.opcode_modifier.drex
|
|
||||||
&& !i.tm.opcode_modifier.drexv
|
|
||||||
&& i.operands == 4)
|
|
||||||
{
|
|
||||||
/* Case 1: 4 operand insn, dest = src1, src3 = reg/mem. */
|
|
||||||
if (i.types[0].bitfield.regxmm != 0
|
|
||||||
&& (i.types[1].bitfield.regxmm
|
|
||||||
|| operand_type_check(i.types[1], anymem))
|
|
||||||
&& i.types[2].bitfield.regxmm != 0
|
|
||||||
&& i.types[3].bitfield.regxmm != 0
|
|
||||||
&& i.op[0].regs->reg_num == i.op[3].regs->reg_num
|
|
||||||
&& i.op[0].regs->reg_flags == i.op[3].regs->reg_flags)
|
|
||||||
{
|
|
||||||
/* clear the arguments that are stored in drex */
|
|
||||||
operand_type_set (&i.types[0], 0);
|
|
||||||
operand_type_set (&i.types[3], 0);
|
|
||||||
i.reg_operands -= 2;
|
|
||||||
|
|
||||||
/* Specify the modrm encoding and remember the register
|
|
||||||
including the high bit normally stored in the REX
|
|
||||||
byte. */
|
|
||||||
i.drex.modrm_reg = 2;
|
|
||||||
i.drex.modrm_regmem = 1;
|
|
||||||
i.drex.reg = (i.op[3].regs->reg_num
|
|
||||||
+ ((i.op[3].regs->reg_flags & RegRex) ? 8 : 0));
|
|
||||||
}
|
|
||||||
|
|
||||||
else
|
|
||||||
as_bad (_("Incorrect operands for the '%s' instruction"),
|
|
||||||
i.tm.name);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* SSE5 3 operand instructions that the result is a register, being
|
|
||||||
either operand can be a memory operand, using OC0 to note which
|
|
||||||
one is the memory. */
|
|
||||||
else if (i.tm.opcode_modifier.drex
|
|
||||||
&& i.tm.opcode_modifier.drexv
|
|
||||||
&& i.operands == 3)
|
|
||||||
{
|
|
||||||
i.tm.extension_opcode = None;
|
|
||||||
|
|
||||||
/* Case 1: 3 operand insn, src1 = register. */
|
|
||||||
if (i.types[0].bitfield.regxmm != 0
|
|
||||||
&& i.types[1].bitfield.regxmm != 0
|
|
||||||
&& i.types[2].bitfield.regxmm != 0)
|
|
||||||
{
|
|
||||||
/* Clear the arguments that are stored in drex. */
|
|
||||||
operand_type_set (&i.types[2], 0);
|
|
||||||
i.reg_operands--;
|
|
||||||
|
|
||||||
/* Specify the modrm encoding and remember the register
|
|
||||||
including the high bit normally stored in the REX byte. */
|
|
||||||
i.tm.extension_opcode = DREX_XMEM_X1_X2;
|
|
||||||
i.drex.modrm_reg = 1;
|
|
||||||
i.drex.modrm_regmem = 0;
|
|
||||||
i.drex.reg = (i.op[2].regs->reg_num
|
|
||||||
+ ((i.op[2].regs->reg_flags & RegRex) ? 8 : 0));
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Case 2: 3 operand insn, src1 = memory. */
|
|
||||||
else if (operand_type_check (i.types[0], anymem) != 0
|
|
||||||
&& i.types[1].bitfield.regxmm != 0
|
|
||||||
&& i.types[2].bitfield.regxmm != 0)
|
|
||||||
{
|
|
||||||
/* Clear the arguments that are stored in drex. */
|
|
||||||
operand_type_set (&i.types[2], 0);
|
|
||||||
i.reg_operands--;
|
|
||||||
|
|
||||||
/* Specify the modrm encoding and remember the register
|
|
||||||
including the high bit normally stored in the REX
|
|
||||||
byte. */
|
|
||||||
i.tm.extension_opcode = DREX_XMEM_X1_X2;
|
|
||||||
i.drex.modrm_reg = 1;
|
|
||||||
i.drex.modrm_regmem = 0;
|
|
||||||
i.drex.reg = (i.op[2].regs->reg_num
|
|
||||||
+ ((i.op[2].regs->reg_flags & RegRex) ? 8 : 0));
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Case 3: 3 operand insn, src2 = memory. */
|
|
||||||
else if (i.types[0].bitfield.regxmm != 0
|
|
||||||
&& operand_type_check (i.types[1], anymem) != 0
|
|
||||||
&& i.types[2].bitfield.regxmm != 0)
|
|
||||||
{
|
|
||||||
/* Clear the arguments that are stored in drex. */
|
|
||||||
operand_type_set (&i.types[2], 0);
|
|
||||||
i.reg_operands--;
|
|
||||||
|
|
||||||
/* Specify the modrm encoding and remember the register
|
|
||||||
including the high bit normally stored in the REX byte. */
|
|
||||||
i.tm.extension_opcode = DREX_X1_XMEM_X2;
|
|
||||||
i.drex.modrm_reg = 0;
|
|
||||||
i.drex.modrm_regmem = 1;
|
|
||||||
i.drex.reg = (i.op[2].regs->reg_num
|
|
||||||
+ ((i.op[2].regs->reg_flags & RegRex) ? 8 : 0));
|
|
||||||
}
|
|
||||||
|
|
||||||
else
|
|
||||||
as_bad (_("Incorrect operands for the '%s' instruction"),
|
|
||||||
i.tm.name);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* SSE5 4 operand instructions that are the comparison instructions
|
|
||||||
where the first operand is the immediate value of the comparison
|
|
||||||
to be done. */
|
|
||||||
else if (i.tm.opcode_modifier.drexc != 0 && i.operands == 4)
|
|
||||||
{
|
|
||||||
/* Case 1: 4 operand insn, src1 = reg/memory. */
|
|
||||||
if (operand_type_check (i.types[0], imm) != 0
|
|
||||||
&& (i.types[1].bitfield.regxmm
|
|
||||||
|| operand_type_check (i.types[1], anymem))
|
|
||||||
&& i.types[2].bitfield.regxmm != 0
|
|
||||||
&& i.types[3].bitfield.regxmm != 0)
|
|
||||||
{
|
|
||||||
/* clear the arguments that are stored in drex */
|
|
||||||
operand_type_set (&i.types[3], 0);
|
|
||||||
i.reg_operands--;
|
|
||||||
|
|
||||||
/* Specify the modrm encoding and remember the register
|
|
||||||
including the high bit normally stored in the REX byte. */
|
|
||||||
i.drex.modrm_reg = 2;
|
|
||||||
i.drex.modrm_regmem = 1;
|
|
||||||
i.drex.reg = (i.op[3].regs->reg_num
|
|
||||||
+ ((i.op[3].regs->reg_flags & RegRex) ? 8 : 0));
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Case 2: 3 operand insn with ImmExt that places the
|
|
||||||
opcode_extension as an immediate argument. This is used for
|
|
||||||
all of the varients of comparison that supplies the appropriate
|
|
||||||
value as part of the instruction. */
|
|
||||||
else if ((i.types[0].bitfield.regxmm
|
|
||||||
|| operand_type_check (i.types[0], anymem))
|
|
||||||
&& i.types[1].bitfield.regxmm != 0
|
|
||||||
&& i.types[2].bitfield.regxmm != 0
|
|
||||||
&& operand_type_check (i.types[3], imm) != 0)
|
|
||||||
{
|
|
||||||
/* clear the arguments that are stored in drex */
|
|
||||||
operand_type_set (&i.types[2], 0);
|
|
||||||
i.reg_operands--;
|
|
||||||
|
|
||||||
/* Specify the modrm encoding and remember the register
|
|
||||||
including the high bit normally stored in the REX byte. */
|
|
||||||
i.drex.modrm_reg = 1;
|
|
||||||
i.drex.modrm_regmem = 0;
|
|
||||||
i.drex.reg = (i.op[2].regs->reg_num
|
|
||||||
+ ((i.op[2].regs->reg_flags & RegRex) ? 8 : 0));
|
|
||||||
}
|
|
||||||
|
|
||||||
else
|
|
||||||
as_bad (_("Incorrect operands for the '%s' instruction"),
|
|
||||||
i.tm.name);
|
|
||||||
}
|
|
||||||
|
|
||||||
else if (i.tm.opcode_modifier.drex
|
|
||||||
|| i.tm.opcode_modifier.drexv
|
|
||||||
|| i.tm.opcode_modifier.drexc)
|
|
||||||
as_bad (_("Internal error for the '%s' instruction"), i.tm.name);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
bad_implicit_operand (int xmm)
|
bad_implicit_operand (int xmm)
|
||||||
{
|
{
|
||||||
@ -4902,12 +4528,6 @@ process_operands (void)
|
|||||||
unnecessary segment overrides. */
|
unnecessary segment overrides. */
|
||||||
const seg_entry *default_seg = 0;
|
const seg_entry *default_seg = 0;
|
||||||
|
|
||||||
/* Handle all of the DREX munging that SSE5 needs. */
|
|
||||||
if (i.tm.opcode_modifier.drex
|
|
||||||
|| i.tm.opcode_modifier.drexv
|
|
||||||
|| i.tm.opcode_modifier.drexc)
|
|
||||||
process_drex ();
|
|
||||||
|
|
||||||
if (i.tm.opcode_modifier.sse2avx
|
if (i.tm.opcode_modifier.sse2avx
|
||||||
&& (i.tm.opcode_modifier.vexnds
|
&& (i.tm.opcode_modifier.vexnds
|
||||||
|| i.tm.opcode_modifier.vexndd))
|
|| i.tm.opcode_modifier.vexndd))
|
||||||
@ -5179,34 +4799,13 @@ build_modrm_byte (void)
|
|||||||
else
|
else
|
||||||
source = dest = 0;
|
source = dest = 0;
|
||||||
|
|
||||||
/* SSE5 4 operand instructions are encoded in such a way that one of
|
|
||||||
the inputs must match the destination register. Process_drex hides
|
|
||||||
the 3rd argument in the drex field, so that by the time we get
|
|
||||||
here, it looks to GAS as if this is a 2 operand instruction. */
|
|
||||||
if ((i.tm.opcode_modifier.drex
|
|
||||||
|| i.tm.opcode_modifier.drexv
|
|
||||||
|| i.tm.opcode_modifier.drexc)
|
|
||||||
&& i.reg_operands == 2)
|
|
||||||
{
|
|
||||||
const reg_entry *reg = i.op[i.drex.modrm_reg].regs;
|
|
||||||
const reg_entry *regmem = i.op[i.drex.modrm_regmem].regs;
|
|
||||||
|
|
||||||
i.rm.reg = reg->reg_num;
|
|
||||||
i.rm.regmem = regmem->reg_num;
|
|
||||||
i.rm.mode = 3;
|
|
||||||
if ((reg->reg_flags & RegRex) != 0)
|
|
||||||
i.rex |= REX_R;
|
|
||||||
if ((regmem->reg_flags & RegRex) != 0)
|
|
||||||
i.rex |= REX_B;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* i.reg_operands MUST be the number of real register operands;
|
/* i.reg_operands MUST be the number of real register operands;
|
||||||
implicit registers do not count. If there are 3 register
|
implicit registers do not count. If there are 3 register
|
||||||
operands, it must be a instruction with VexNDS. For a
|
operands, it must be a instruction with VexNDS. For a
|
||||||
instruction with VexNDD, the destination register is encoded
|
instruction with VexNDD, the destination register is encoded
|
||||||
in VEX prefix. If there are 4 register operands, it must be
|
in VEX prefix. If there are 4 register operands, it must be
|
||||||
a instruction with VEX prefix and 3 sources. */
|
a instruction with VEX prefix and 3 sources. */
|
||||||
else if (i.mem_operands == 0
|
if (i.mem_operands == 0
|
||||||
&& ((i.reg_operands == 2
|
&& ((i.reg_operands == 2
|
||||||
&& !i.tm.opcode_modifier.vexndd)
|
&& !i.tm.opcode_modifier.vexndd)
|
||||||
|| (i.reg_operands == 3
|
|| (i.reg_operands == 3
|
||||||
@ -5329,19 +4928,10 @@ build_modrm_byte (void)
|
|||||||
unsigned int fake_zero_displacement = 0;
|
unsigned int fake_zero_displacement = 0;
|
||||||
unsigned int op;
|
unsigned int op;
|
||||||
|
|
||||||
/* This has been precalculated for SSE5 instructions
|
|
||||||
that have a DREX field earlier in process_drex. */
|
|
||||||
if (i.tm.opcode_modifier.drex
|
|
||||||
|| i.tm.opcode_modifier.drexv
|
|
||||||
|| i.tm.opcode_modifier.drexc)
|
|
||||||
op = i.drex.modrm_regmem;
|
|
||||||
else
|
|
||||||
{
|
|
||||||
for (op = 0; op < i.operands; op++)
|
for (op = 0; op < i.operands; op++)
|
||||||
if (operand_type_check (i.types[op], anymem))
|
if (operand_type_check (i.types[op], anymem))
|
||||||
break;
|
break;
|
||||||
assert (op < i.operands);
|
assert (op < i.operands);
|
||||||
}
|
|
||||||
|
|
||||||
default_seg = &ds;
|
default_seg = &ds;
|
||||||
|
|
||||||
@ -5540,20 +5130,6 @@ build_modrm_byte (void)
|
|||||||
if (i.reg_operands)
|
if (i.reg_operands)
|
||||||
{
|
{
|
||||||
unsigned int op;
|
unsigned int op;
|
||||||
|
|
||||||
/* This has been precalculated for SSE5 instructions
|
|
||||||
that have a DREX field earlier in process_drex. */
|
|
||||||
if (i.tm.opcode_modifier.drex
|
|
||||||
|| i.tm.opcode_modifier.drexv
|
|
||||||
|| i.tm.opcode_modifier.drexc)
|
|
||||||
{
|
|
||||||
op = i.drex.modrm_reg;
|
|
||||||
i.rm.reg = i.op[op].regs->reg_num;
|
|
||||||
if ((i.op[op].regs->reg_flags & RegRex) != 0)
|
|
||||||
i.rex |= REX_R;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
unsigned int vex_reg = ~0;
|
unsigned int vex_reg = ~0;
|
||||||
|
|
||||||
for (op = 0; op < i.operands; op++)
|
for (op = 0; op < i.operands; op++)
|
||||||
@ -5628,7 +5204,6 @@ build_modrm_byte (void)
|
|||||||
if ((i.op[op].regs->reg_flags & RegRex) != 0)
|
if ((i.op[op].regs->reg_flags & RegRex) != 0)
|
||||||
i.rex |= REX_R;
|
i.rex |= REX_R;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/* Now, if no memory operand has set i.rm.mode = 0, 1, 2 we
|
/* Now, if no memory operand has set i.rm.mode = 0, 1, 2 we
|
||||||
must set it to 3 to indicate this is a register operand
|
must set it to 3 to indicate this is a register operand
|
||||||
@ -5638,10 +5213,7 @@ build_modrm_byte (void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Fill in i.rm.reg field with extension opcode (if any). */
|
/* Fill in i.rm.reg field with extension opcode (if any). */
|
||||||
if (i.tm.extension_opcode != None
|
if (i.tm.extension_opcode != None)
|
||||||
&& !(i.tm.opcode_modifier.drex
|
|
||||||
|| i.tm.opcode_modifier.drexv
|
|
||||||
|| i.tm.opcode_modifier.drexc))
|
|
||||||
i.rm.reg = i.tm.extension_opcode;
|
i.rm.reg = i.tm.extension_opcode;
|
||||||
}
|
}
|
||||||
return default_seg;
|
return default_seg;
|
||||||
@ -5975,13 +5547,6 @@ check_prefix:
|
|||||||
/* Put out high byte first: can't use md_number_to_chars! */
|
/* Put out high byte first: can't use md_number_to_chars! */
|
||||||
*p++ = (i.tm.base_opcode >> 8) & 0xff;
|
*p++ = (i.tm.base_opcode >> 8) & 0xff;
|
||||||
*p = i.tm.base_opcode & 0xff;
|
*p = i.tm.base_opcode & 0xff;
|
||||||
|
|
||||||
/* On SSE5, encode the OC1 bit in the DREX field if this
|
|
||||||
encoding has multiple formats. */
|
|
||||||
if (i.tm.opcode_modifier.drex
|
|
||||||
&& i.tm.opcode_modifier.drexv
|
|
||||||
&& DREX_OC1 (i.tm.extension_opcode))
|
|
||||||
*p |= DREX_OC1_MASK;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Now the modrm byte and sib byte (if present). */
|
/* Now the modrm byte and sib byte (if present). */
|
||||||
@ -6002,20 +5567,6 @@ check_prefix:
|
|||||||
| i.sib.scale << 6));
|
| i.sib.scale << 6));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Write the DREX byte if needed. */
|
|
||||||
if (i.tm.opcode_modifier.drex || i.tm.opcode_modifier.drexc)
|
|
||||||
{
|
|
||||||
p = frag_more (1);
|
|
||||||
*p = (((i.drex.reg & 0xf) << 4) | (i.drex.rex & 0x7));
|
|
||||||
|
|
||||||
/* Encode the OC0 bit if this encoding has multiple
|
|
||||||
formats. */
|
|
||||||
if ((i.tm.opcode_modifier.drex
|
|
||||||
|| i.tm.opcode_modifier.drexv)
|
|
||||||
&& DREX_OC0 (i.tm.extension_opcode))
|
|
||||||
*p |= DREX_OC0_MASK;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (i.disp_operands)
|
if (i.disp_operands)
|
||||||
output_disp (insn_start_frag, insn_start_off);
|
output_disp (insn_start_frag, insn_start_off);
|
||||||
|
|
||||||
@ -8283,7 +7834,7 @@ md_show_usage (stream)
|
|||||||
mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, sse4,\n\
|
mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, sse4,\n\
|
||||||
avx, vmx, smx, xsave, movbe, ept, aes, pclmul, fma,\n\
|
avx, vmx, smx, xsave, movbe, ept, aes, pclmul, fma,\n\
|
||||||
clflush, syscall, rdtscp, 3dnow, 3dnowa, sse4a,\n\
|
clflush, syscall, rdtscp, 3dnow, 3dnowa, sse4a,\n\
|
||||||
sse5, svme, abm, padlock\n"));
|
svme, abm, padlock\n"));
|
||||||
fprintf (stream, _("\
|
fprintf (stream, _("\
|
||||||
-mtune=CPU optimize for CPU, CPU is one of:\n\
|
-mtune=CPU optimize for CPU, CPU is one of:\n\
|
||||||
i8086, i186, i286, i386, i486, pentium, pentiumpro,\n\
|
i8086, i186, i286, i386, i486, pentium, pentiumpro,\n\
|
||||||
|
@ -1,3 +1,22 @@
|
|||||||
|
2009-05-22 Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>
|
||||||
|
|
||||||
|
* gas/i386/i386.exp: Remove SSE5 tests.
|
||||||
|
* gas/i386/x86-64-sse5.s: Delete. Remove SSE5 tests.
|
||||||
|
* gas/i386/x86-64-sse5.d: Ditto.
|
||||||
|
* gas/i386/arch-10-1.l: Remove SSE5 tests.
|
||||||
|
* gas/i386/arch-10-2.l: Ditto.
|
||||||
|
* gas/i386/arch-10-3.l: Ditto.
|
||||||
|
* gas/i386/arch-10-4.l: Ditto.
|
||||||
|
* gas/i386/arch-10.d: Ditto.
|
||||||
|
* gas/i386/arch-10.s: Ditto.
|
||||||
|
* gas/i386/arch-4.s: Delete. Remove SSE5 tests.
|
||||||
|
* gas/i386/arch-4.d: Ditto.
|
||||||
|
* gas/i386/arch-8.s: Ditto.
|
||||||
|
* gas/i386/arch-8.d: Ditto.
|
||||||
|
* gas/i386/arch-2.s: Remove SSE5 tests.
|
||||||
|
* gas/i386/arch-2.d: Remove SSE5 tests.
|
||||||
|
* gas/i386/x86-64-arch-2.s: Ditto.
|
||||||
|
|
||||||
2009-05-19 Dave Korn <dave.korn.cygwin@gmail.com>
|
2009-05-19 Dave Korn <dave.korn.cygwin@gmail.com>
|
||||||
|
|
||||||
* gas/pe/: New directory for PE format-specific tests.
|
* gas/pe/: New directory for PE format-specific tests.
|
||||||
|
@ -27,7 +27,6 @@
|
|||||||
.*:54: Error: .*
|
.*:54: Error: .*
|
||||||
.*:56: Error: .*
|
.*:56: Error: .*
|
||||||
.*:58: Error: .*
|
.*:58: Error: .*
|
||||||
.*:60: Error: .*
|
|
||||||
GAS LISTING .*
|
GAS LISTING .*
|
||||||
|
|
||||||
|
|
||||||
@ -91,7 +90,5 @@ GAS LISTING .*
|
|||||||
GAS LISTING .*
|
GAS LISTING .*
|
||||||
|
|
||||||
|
|
||||||
[ ]*57[ ]+\# SSE5
|
[ ]*57[ ]+\# PadLock
|
||||||
[ ]*58[ ]+frczss %xmm2, %xmm1
|
[ ]*58[ ]+xstorerng
|
||||||
[ ]*59[ ]+\# PadLock
|
|
||||||
[ ]*60[ ]+xstorerng
|
|
||||||
|
@ -26,7 +26,6 @@
|
|||||||
.*:54: Error: .*
|
.*:54: Error: .*
|
||||||
.*:56: Error: .*
|
.*:56: Error: .*
|
||||||
.*:58: Error: .*
|
.*:58: Error: .*
|
||||||
.*:60: Error: .*
|
|
||||||
GAS LISTING .*
|
GAS LISTING .*
|
||||||
|
|
||||||
|
|
||||||
@ -90,7 +89,5 @@ GAS LISTING .*
|
|||||||
GAS LISTING .*
|
GAS LISTING .*
|
||||||
|
|
||||||
|
|
||||||
[ ]*57[ ]+\# SSE5
|
[ ]*57[ ]+\# PadLock
|
||||||
[ ]*58[ ]+frczss %xmm2, %xmm1
|
[ ]*58[ ]+xstorerng
|
||||||
[ ]*59[ ]+\# PadLock
|
|
||||||
[ ]*60[ ]+xstorerng
|
|
||||||
|
@ -19,7 +19,6 @@
|
|||||||
.*:54: Error: .*
|
.*:54: Error: .*
|
||||||
.*:56: Error: .*
|
.*:56: Error: .*
|
||||||
.*:58: Error: .*
|
.*:58: Error: .*
|
||||||
.*:60: Error: .*
|
|
||||||
GAS LISTING .*
|
GAS LISTING .*
|
||||||
|
|
||||||
|
|
||||||
@ -86,7 +85,5 @@ GAS LISTING .*
|
|||||||
[ ]*54[ ]+vmload
|
[ ]*54[ ]+vmload
|
||||||
[ ]*55[ ]+\# ABM
|
[ ]*55[ ]+\# ABM
|
||||||
[ ]*56[ ]+lzcnt %ecx,%ebx
|
[ ]*56[ ]+lzcnt %ecx,%ebx
|
||||||
[ ]*57[ ]+\# SSE5
|
[ ]*57[ ]+\# PadLock
|
||||||
[ ]*58[ ]+frczss %xmm2, %xmm1
|
[ ]*58[ ]+xstorerng
|
||||||
[ ]*59[ ]+\# PadLock
|
|
||||||
[ ]*60[ ]+xstorerng
|
|
||||||
|
@ -17,7 +17,6 @@
|
|||||||
.*:54: Error: .*
|
.*:54: Error: .*
|
||||||
.*:56: Error: .*
|
.*:56: Error: .*
|
||||||
.*:58: Error: .*
|
.*:58: Error: .*
|
||||||
.*:60: Error: .*
|
|
||||||
GAS LISTING .*
|
GAS LISTING .*
|
||||||
|
|
||||||
|
|
||||||
@ -84,7 +83,5 @@ GAS LISTING .*
|
|||||||
[ ]*54[ ]+vmload
|
[ ]*54[ ]+vmload
|
||||||
[ ]*55[ ]+\# ABM
|
[ ]*55[ ]+\# ABM
|
||||||
[ ]*56[ ]+lzcnt %ecx,%ebx
|
[ ]*56[ ]+lzcnt %ecx,%ebx
|
||||||
[ ]*57[ ]+\# SSE5
|
[ ]*57[ ]+\# PadLock
|
||||||
[ ]*58[ ]+frczss %xmm2, %xmm1
|
[ ]*58[ ]+xstorerng
|
||||||
[ ]*59[ ]+\# PadLock
|
|
||||||
[ ]*60[ ]+xstorerng
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#as: -march=i686+avx+vmx+smx+xsave+aes+pclmul+fma+movbe+ept+clflush+syscall+rdtscp+sse5+3dnowa+svme+padlock
|
#as: -march=i686+avx+vmx+smx+xsave+aes+pclmul+fma+movbe+ept+clflush+syscall+rdtscp+3dnowa+sse4a+svme+abm+padlock
|
||||||
#objdump: -dw
|
#objdump: -dw
|
||||||
#name: i386 arch 10
|
#name: i386 arch 10
|
||||||
|
|
||||||
@ -34,6 +34,5 @@ Disassembly of section .text:
|
|||||||
[ ]*[a-f0-9]+: f2 0f 79 ca insertq %xmm2,%xmm1
|
[ ]*[a-f0-9]+: f2 0f 79 ca insertq %xmm2,%xmm1
|
||||||
[ ]*[a-f0-9]+: 0f 01 da vmload
|
[ ]*[a-f0-9]+: 0f 01 da vmload
|
||||||
[ ]*[a-f0-9]+: f3 0f bd d9 lzcnt %ecx,%ebx
|
[ ]*[a-f0-9]+: f3 0f bd d9 lzcnt %ecx,%ebx
|
||||||
[ ]*[a-f0-9]+: 0f 7a 12 ca frczss %xmm2,%xmm1
|
|
||||||
[ ]*[a-f0-9]+: 0f a7 c0 xstore-rng
|
[ ]*[a-f0-9]+: 0f a7 c0 xstore-rng
|
||||||
#pass
|
#pass
|
||||||
|
@ -54,7 +54,5 @@ insertq %xmm2,%xmm1
|
|||||||
vmload
|
vmload
|
||||||
# ABM
|
# ABM
|
||||||
lzcnt %ecx,%ebx
|
lzcnt %ecx,%ebx
|
||||||
# SSE5
|
|
||||||
frczss %xmm2, %xmm1
|
|
||||||
# PadLock
|
# PadLock
|
||||||
xstorerng
|
xstorerng
|
||||||
|
@ -1,15 +0,0 @@
|
|||||||
#objdump: -dw
|
|
||||||
#name: i386 arch 4
|
|
||||||
|
|
||||||
.*: file format .*
|
|
||||||
|
|
||||||
Disassembly of section .text:
|
|
||||||
|
|
||||||
0+ <.text>:
|
|
||||||
[ ]*[a-f0-9]+: 66 0f 38 17 c1 ptest %xmm1,%xmm0
|
|
||||||
[ ]*[a-f0-9]+: 66 0f 3a 09 c1 00 roundpd \$0x0,%xmm1,%xmm0
|
|
||||||
[ ]*[a-f0-9]+: 66 0f 3a 08 c1 00 roundps \$0x0,%xmm1,%xmm0
|
|
||||||
[ ]*[a-f0-9]+: 66 0f 3a 0b c1 00 roundsd \$0x0,%xmm1,%xmm0
|
|
||||||
[ ]*[a-f0-9]+: 66 0f 3a 0a c1 00 roundss \$0x0,%xmm1,%xmm0
|
|
||||||
[ ]*[a-f0-9]+: 0f 7a 12 ca frczss %xmm2,%xmm1
|
|
||||||
#pass
|
|
@ -1,9 +0,0 @@
|
|||||||
# Test .arch .sse5
|
|
||||||
.arch generic32
|
|
||||||
.arch .sse5
|
|
||||||
ptest %xmm1,%xmm0
|
|
||||||
roundpd $0,%xmm1,%xmm0
|
|
||||||
roundps $0,%xmm1,%xmm0
|
|
||||||
roundsd $0,%xmm1,%xmm0
|
|
||||||
roundss $0,%xmm1,%xmm0
|
|
||||||
frczss %xmm2, %xmm1
|
|
@ -1,11 +0,0 @@
|
|||||||
#objdump: -dw
|
|
||||||
#name: i386 arch 8
|
|
||||||
|
|
||||||
.*: file format .*
|
|
||||||
|
|
||||||
Disassembly of section .text:
|
|
||||||
|
|
||||||
0+ <.text>:
|
|
||||||
[ ]*[a-f0-9]+: f3 0f b8 d9 popcnt %ecx,%ebx
|
|
||||||
[ ]*[a-f0-9]+: 0f 7a 12 ca frczss %xmm2,%xmm1
|
|
||||||
#pass
|
|
@ -1,5 +0,0 @@
|
|||||||
# Test .arch .sse5
|
|
||||||
.arch generic32
|
|
||||||
.arch .sse5
|
|
||||||
popcnt %ecx,%ebx
|
|
||||||
frczss %xmm2, %xmm1
|
|
@ -103,11 +103,9 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_32_check]]
|
|||||||
run_dump_test "arch-1"
|
run_dump_test "arch-1"
|
||||||
run_dump_test "arch-2"
|
run_dump_test "arch-2"
|
||||||
run_dump_test "arch-3"
|
run_dump_test "arch-3"
|
||||||
run_dump_test "arch-4"
|
|
||||||
run_dump_test "arch-5"
|
run_dump_test "arch-5"
|
||||||
run_dump_test "arch-6"
|
run_dump_test "arch-6"
|
||||||
run_dump_test "arch-7"
|
run_dump_test "arch-7"
|
||||||
run_dump_test "arch-8"
|
|
||||||
run_dump_test "arch-9"
|
run_dump_test "arch-9"
|
||||||
run_dump_test "arch-10"
|
run_dump_test "arch-10"
|
||||||
run_list_test "arch-10-1" "-march=generic32 -I${srcdir}/$subdir -al"
|
run_list_test "arch-10-1" "-march=generic32 -I${srcdir}/$subdir -al"
|
||||||
@ -267,9 +265,6 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t
|
|||||||
run_dump_test "x86-64-simd"
|
run_dump_test "x86-64-simd"
|
||||||
run_dump_test "x86-64-simd-intel"
|
run_dump_test "x86-64-simd-intel"
|
||||||
run_dump_test "x86-64-simd-suffix"
|
run_dump_test "x86-64-simd-suffix"
|
||||||
if { ![istarget "*-*-mingw*"] } then {
|
|
||||||
run_dump_test "x86-64-sse5"
|
|
||||||
}
|
|
||||||
run_dump_test "x86-64-mem"
|
run_dump_test "x86-64-mem"
|
||||||
run_dump_test "x86-64-mem-intel"
|
run_dump_test "x86-64-mem-intel"
|
||||||
run_dump_test "x86-64-reg"
|
run_dump_test "x86-64-reg"
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#as: -march=generic64+avx+vmx+smx+xsave+aes+pclmul+fma+movbe+ept+clflush+syscall+rdtscp+sse5+3dnowa+svme+padlock
|
#as: -march=generic64+avx+vmx+smx+xsave+aes+pclmul+fma+movbe+ept+clflush+syscall+rdtscp+3dnowa+sse4a+svme+abm+padlock
|
||||||
#objdump: -dw
|
#objdump: -dw
|
||||||
#name: x86-64 arch 2
|
#name: x86-64 arch 2
|
||||||
|
|
||||||
@ -34,6 +34,5 @@ Disassembly of section .text:
|
|||||||
[ ]*[a-f0-9]+: f2 0f 79 ca insertq %xmm2,%xmm1
|
[ ]*[a-f0-9]+: f2 0f 79 ca insertq %xmm2,%xmm1
|
||||||
[ ]*[a-f0-9]+: 0f 01 da vmload
|
[ ]*[a-f0-9]+: 0f 01 da vmload
|
||||||
[ ]*[a-f0-9]+: f3 0f bd d9 lzcnt %ecx,%ebx
|
[ ]*[a-f0-9]+: f3 0f bd d9 lzcnt %ecx,%ebx
|
||||||
[ ]*[a-f0-9]+: 0f 7a 12 ca frczss %xmm2,%xmm1
|
|
||||||
[ ]*[a-f0-9]+: 0f a7 c0 xstore-rng
|
[ ]*[a-f0-9]+: 0f a7 c0 xstore-rng
|
||||||
#pass
|
#pass
|
||||||
|
@ -54,7 +54,5 @@ insertq %xmm2,%xmm1
|
|||||||
vmload
|
vmload
|
||||||
# ABM
|
# ABM
|
||||||
lzcnt %ecx,%ebx
|
lzcnt %ecx,%ebx
|
||||||
# SSE5
|
|
||||||
frczss %xmm2, %xmm1
|
|
||||||
# PadLock
|
# PadLock
|
||||||
xstorerng
|
xstorerng
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,3 +1,20 @@
|
|||||||
|
2009-05-22 Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>
|
||||||
|
|
||||||
|
* i386-opc.h (Cpusse5): Delete.
|
||||||
|
(i386_cpu_flags): Delete.
|
||||||
|
* i386-gen.c: Remove CpuSSE5, Drex, Drexv and Drexc.
|
||||||
|
* i386-opc.tbl: Remove SSE5 instructions.
|
||||||
|
* i386-tbl.h: Regenerate.
|
||||||
|
* i386-init.h: Regenerate.
|
||||||
|
* i386-dis.c (OP_E_memeory, OP_E_extended): Remove drex handling.
|
||||||
|
(print_drex_arg): Delete.
|
||||||
|
(OP_DREX4): Delete.
|
||||||
|
(OP_DREX3): Delete.
|
||||||
|
(OP_DREX_ICMP): Delete.
|
||||||
|
(OP_DREX_FCMP): Delete.
|
||||||
|
(DREX_*): Delete.
|
||||||
|
(THREE_BYTE_0F24, THREE_BYTE_0F25, THREE_BYTE_0f7B): Delete.
|
||||||
|
|
||||||
2009-05-22 Alan Modra <amodra@bigpond.net.au>
|
2009-05-22 Alan Modra <amodra@bigpond.net.au>
|
||||||
|
|
||||||
* Makefile.am: Run "make dep-am".
|
* Makefile.am: Run "make dep-am".
|
||||||
|
1292
opcodes/i386-dis.c
1292
opcodes/i386-dis.c
File diff suppressed because it is too large
Load Diff
@ -134,8 +134,6 @@ static initializer cpu_flag_init[] =
|
|||||||
"CpuMMX|CpuSSE|CpuSSE2|CpuSSE3|CpuSSE4a" },
|
"CpuMMX|CpuSSE|CpuSSE2|CpuSSE3|CpuSSE4a" },
|
||||||
{ "CPU_ABM_FLAGS",
|
{ "CPU_ABM_FLAGS",
|
||||||
"CpuABM" },
|
"CpuABM" },
|
||||||
{ "CPU_SSE5_FLAGS",
|
|
||||||
"CpuMMX|CpuSSE|CpuSSE2|CpuSSE3|CpuSSE4a|CpuABM|CpuSSE5"},
|
|
||||||
{ "CPU_AVX_FLAGS",
|
{ "CPU_AVX_FLAGS",
|
||||||
"CpuMMX|CpuSSE|CpuSSE2|CpuSSE3|CpuSSSE3|CpuSSE4_1|CpuSSE4_2|CpuAVX" },
|
"CpuMMX|CpuSSE|CpuSSE2|CpuSSE3|CpuSSSE3|CpuSSE4_1|CpuSSE4_2|CpuAVX" },
|
||||||
};
|
};
|
||||||
@ -264,7 +262,6 @@ static bitfield cpu_flags[] =
|
|||||||
BITFIELD (CpuSSE4_2),
|
BITFIELD (CpuSSE4_2),
|
||||||
BITFIELD (CpuAVX),
|
BITFIELD (CpuAVX),
|
||||||
BITFIELD (CpuSSE4a),
|
BITFIELD (CpuSSE4a),
|
||||||
BITFIELD (CpuSSE5),
|
|
||||||
BITFIELD (Cpu3dnow),
|
BITFIELD (Cpu3dnow),
|
||||||
BITFIELD (Cpu3dnowA),
|
BITFIELD (Cpu3dnowA),
|
||||||
BITFIELD (CpuPadLock),
|
BITFIELD (CpuPadLock),
|
||||||
@ -326,9 +323,6 @@ static bitfield opcode_modifiers[] =
|
|||||||
BITFIELD (NoRex64),
|
BITFIELD (NoRex64),
|
||||||
BITFIELD (Rex64),
|
BITFIELD (Rex64),
|
||||||
BITFIELD (Ugh),
|
BITFIELD (Ugh),
|
||||||
BITFIELD (Drex),
|
|
||||||
BITFIELD (Drexv),
|
|
||||||
BITFIELD (Drexc),
|
|
||||||
BITFIELD (Vex),
|
BITFIELD (Vex),
|
||||||
BITFIELD (Vex256),
|
BITFIELD (Vex256),
|
||||||
BITFIELD (VexNDS),
|
BITFIELD (VexNDS),
|
||||||
|
@ -21,195 +21,191 @@
|
|||||||
|
|
||||||
#define CPU_UNKNOWN_FLAGS \
|
#define CPU_UNKNOWN_FLAGS \
|
||||||
{ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
|
{ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, \
|
||||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1 } }
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1 } }
|
||||||
|
|
||||||
#define CPU_GENERIC32_FLAGS \
|
#define CPU_GENERIC32_FLAGS \
|
||||||
{ { 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
{ { 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_GENERIC64_FLAGS \
|
#define CPU_GENERIC64_FLAGS \
|
||||||
{ { 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
{ { 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_NONE_FLAGS \
|
#define CPU_NONE_FLAGS \
|
||||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_I186_FLAGS \
|
#define CPU_I186_FLAGS \
|
||||||
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
{ { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_I286_FLAGS \
|
#define CPU_I286_FLAGS \
|
||||||
{ { 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
{ { 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_I386_FLAGS \
|
#define CPU_I386_FLAGS \
|
||||||
{ { 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
{ { 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_I486_FLAGS \
|
#define CPU_I486_FLAGS \
|
||||||
{ { 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
{ { 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_I586_FLAGS \
|
#define CPU_I586_FLAGS \
|
||||||
{ { 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
{ { 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_I686_FLAGS \
|
#define CPU_I686_FLAGS \
|
||||||
{ { 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
{ { 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_P2_FLAGS \
|
#define CPU_P2_FLAGS \
|
||||||
{ { 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
{ { 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_P3_FLAGS \
|
#define CPU_P3_FLAGS \
|
||||||
{ { 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
{ { 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_P4_FLAGS \
|
#define CPU_P4_FLAGS \
|
||||||
{ { 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
{ { 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_NOCONA_FLAGS \
|
#define CPU_NOCONA_FLAGS \
|
||||||
{ { 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, \
|
{ { 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, \
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_CORE_FLAGS \
|
#define CPU_CORE_FLAGS \
|
||||||
{ { 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, \
|
{ { 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, \
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_CORE2_FLAGS \
|
#define CPU_CORE2_FLAGS \
|
||||||
{ { 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, \
|
{ { 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, \
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_COREI7_FLAGS \
|
#define CPU_COREI7_FLAGS \
|
||||||
{ { 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, \
|
{ { 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, \
|
||||||
0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 } }
|
0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_K6_FLAGS \
|
#define CPU_K6_FLAGS \
|
||||||
{ { 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
{ { 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_K6_2_FLAGS \
|
#define CPU_K6_2_FLAGS \
|
||||||
{ { 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
|
{ { 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_ATHLON_FLAGS \
|
#define CPU_ATHLON_FLAGS \
|
||||||
{ { 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, \
|
{ { 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, \
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_K8_FLAGS \
|
#define CPU_K8_FLAGS \
|
||||||
{ { 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, \
|
{ { 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, \
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 } }
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_AMDFAM10_FLAGS \
|
#define CPU_AMDFAM10_FLAGS \
|
||||||
{ { 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, \
|
{ { 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, \
|
||||||
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 } }
|
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_CLFLUSH_FLAGS \
|
#define CPU_CLFLUSH_FLAGS \
|
||||||
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
{ { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_SYSCALL_FLAGS \
|
#define CPU_SYSCALL_FLAGS \
|
||||||
{ { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
{ { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_MMX_FLAGS \
|
#define CPU_MMX_FLAGS \
|
||||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_SSE_FLAGS \
|
#define CPU_SSE_FLAGS \
|
||||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_SSE2_FLAGS \
|
#define CPU_SSE2_FLAGS \
|
||||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_SSE3_FLAGS \
|
#define CPU_SSE3_FLAGS \
|
||||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, \
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, \
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_SSSE3_FLAGS \
|
#define CPU_SSSE3_FLAGS \
|
||||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, \
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, \
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_SSE4_1_FLAGS \
|
#define CPU_SSE4_1_FLAGS \
|
||||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, \
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, \
|
||||||
0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_SSE4_2_FLAGS \
|
#define CPU_SSE4_2_FLAGS \
|
||||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, \
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, \
|
||||||
0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_VMX_FLAGS \
|
#define CPU_VMX_FLAGS \
|
||||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, \
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_SMX_FLAGS \
|
#define CPU_SMX_FLAGS \
|
||||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, \
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, \
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_XSAVE_FLAGS \
|
#define CPU_XSAVE_FLAGS \
|
||||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
||||||
0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_AES_FLAGS \
|
#define CPU_AES_FLAGS \
|
||||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, \
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, \
|
||||||
0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_PCLMUL_FLAGS \
|
#define CPU_PCLMUL_FLAGS \
|
||||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, \
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, \
|
||||||
0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_FMA_FLAGS \
|
#define CPU_FMA_FLAGS \
|
||||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, \
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, \
|
||||||
0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }
|
0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_MOVBE_FLAGS \
|
#define CPU_MOVBE_FLAGS \
|
||||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }
|
0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_RDTSCP_FLAGS \
|
#define CPU_RDTSCP_FLAGS \
|
||||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_EPT_FLAGS \
|
#define CPU_EPT_FLAGS \
|
||||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_3DNOW_FLAGS \
|
#define CPU_3DNOW_FLAGS \
|
||||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, \
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_3DNOWA_FLAGS \
|
#define CPU_3DNOWA_FLAGS \
|
||||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, \
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, \
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_PADLOCK_FLAGS \
|
#define CPU_PADLOCK_FLAGS \
|
||||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, \
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, \
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_SVME_FLAGS \
|
#define CPU_SVME_FLAGS \
|
||||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, \
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_SSE4A_FLAGS \
|
#define CPU_SSE4A_FLAGS \
|
||||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, \
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, \
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_ABM_FLAGS \
|
#define CPU_ABM_FLAGS \
|
||||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, \
|
||||||
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
#define CPU_SSE5_FLAGS \
|
|
||||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, \
|
|
||||||
1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
|
||||||
|
|
||||||
#define CPU_AVX_FLAGS \
|
#define CPU_AVX_FLAGS \
|
||||||
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, \
|
{ { 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, \
|
||||||
0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }
|
||||||
|
|
||||||
|
|
||||||
#define OPERAND_TYPE_NONE \
|
#define OPERAND_TYPE_NONE \
|
||||||
|
@ -76,10 +76,8 @@
|
|||||||
#define CpuSSE4_1 (CpuABM + 1)
|
#define CpuSSE4_1 (CpuABM + 1)
|
||||||
/* SSE4.2 support required */
|
/* SSE4.2 support required */
|
||||||
#define CpuSSE4_2 (CpuSSE4_1 + 1)
|
#define CpuSSE4_2 (CpuSSE4_1 + 1)
|
||||||
/* SSE5 support required */
|
|
||||||
#define CpuSSE5 (CpuSSE4_2 + 1)
|
|
||||||
/* AVX support required */
|
/* AVX support required */
|
||||||
#define CpuAVX (CpuSSE5 + 1)
|
#define CpuAVX (CpuSSE4_2 + 1)
|
||||||
/* Xsave/xrstor New Instuctions support required */
|
/* Xsave/xrstor New Instuctions support required */
|
||||||
#define CpuXsave (CpuAVX + 1)
|
#define CpuXsave (CpuAVX + 1)
|
||||||
/* AES support required */
|
/* AES support required */
|
||||||
@ -141,7 +139,6 @@ typedef union i386_cpu_flags
|
|||||||
unsigned int cpuabm:1;
|
unsigned int cpuabm:1;
|
||||||
unsigned int cpusse4_1:1;
|
unsigned int cpusse4_1:1;
|
||||||
unsigned int cpusse4_2:1;
|
unsigned int cpusse4_2:1;
|
||||||
unsigned int cpusse5:1;
|
|
||||||
unsigned int cpuavx:1;
|
unsigned int cpuavx:1;
|
||||||
unsigned int cpuxsave:1;
|
unsigned int cpuxsave:1;
|
||||||
unsigned int cpuaes:1;
|
unsigned int cpuaes:1;
|
||||||
@ -239,13 +236,8 @@ typedef union i386_cpu_flags
|
|||||||
#define Rex64 (NoRex64 + 1)
|
#define Rex64 (NoRex64 + 1)
|
||||||
/* deprecated fp insn, gets a warning */
|
/* deprecated fp insn, gets a warning */
|
||||||
#define Ugh (Rex64 + 1)
|
#define Ugh (Rex64 + 1)
|
||||||
#define Drex (Ugh + 1)
|
|
||||||
/* instruction needs DREX with multiple encodings for memory ops */
|
|
||||||
#define Drexv (Drex + 1)
|
|
||||||
/* special DREX for comparisons */
|
|
||||||
#define Drexc (Drexv + 1)
|
|
||||||
/* insn has VEX prefix. */
|
/* insn has VEX prefix. */
|
||||||
#define Vex (Drexc + 1)
|
#define Vex (Ugh + 1)
|
||||||
/* insn has 256bit VEX prefix. */
|
/* insn has 256bit VEX prefix. */
|
||||||
#define Vex256 (Vex + 1)
|
#define Vex256 (Vex + 1)
|
||||||
/* insn has VEX NDS. Register-only source is encoded in Vex prefix.
|
/* insn has VEX NDS. Register-only source is encoded in Vex prefix.
|
||||||
@ -323,9 +315,6 @@ typedef struct i386_opcode_modifier
|
|||||||
unsigned int norex64:1;
|
unsigned int norex64:1;
|
||||||
unsigned int rex64:1;
|
unsigned int rex64:1;
|
||||||
unsigned int ugh:1;
|
unsigned int ugh:1;
|
||||||
unsigned int drex:1;
|
|
||||||
unsigned int drexv:1;
|
|
||||||
unsigned int drexc:1;
|
|
||||||
unsigned int vex:1;
|
unsigned int vex:1;
|
||||||
unsigned int vex256:1;
|
unsigned int vex256:1;
|
||||||
unsigned int vexnds:1;
|
unsigned int vexnds:1;
|
||||||
@ -535,7 +524,7 @@ typedef struct template
|
|||||||
This field is also used to store the 8-bit opcode suffix for the
|
This field is also used to store the 8-bit opcode suffix for the
|
||||||
AMD 3DNow! instructions.
|
AMD 3DNow! instructions.
|
||||||
If this template has no extension opcode (the usual case) use None
|
If this template has no extension opcode (the usual case) use None
|
||||||
Instructions with Drex use this to specify 2 bits for OC */
|
Instructions */
|
||||||
unsigned int extension_opcode;
|
unsigned int extension_opcode;
|
||||||
#define None 0xffff /* If no extension_opcode is possible. */
|
#define None 0xffff /* If no extension_opcode is possible. */
|
||||||
|
|
||||||
|
@ -1701,15 +1701,15 @@ pmuldq, 2, 0x660f3828, None, 3, CpuSSE4_1, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_l
|
|||||||
pmulld, 2, 0x6640, None, 1, CpuAVX, Modrm|Vex|Vex0F38|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
|
pmulld, 2, 0x6640, None, 1, CpuAVX, Modrm|Vex|Vex0F38|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
|
||||||
pmulld, 2, 0x660f3840, None, 3, CpuSSE4_1, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
|
pmulld, 2, 0x660f3840, None, 3, CpuSSE4_1, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
|
||||||
ptest, 2, 0x6617, None, 1, CpuAVX, Modrm|Vex|Vex0F38|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
|
ptest, 2, 0x6617, None, 1, CpuAVX, Modrm|Vex|Vex0F38|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
|
||||||
ptest, 2, 0x660f3817, None, 3, CpuSSE4_1|CpuSSE5, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
|
ptest, 2, 0x660f3817, None, 3, CpuSSE4_1, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
|
||||||
roundpd, 3, 0x6609, None, 1, CpuAVX, Modrm|Vex|Vex0F3A|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Imm8, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
|
roundpd, 3, 0x6609, None, 1, CpuAVX, Modrm|Vex|Vex0F3A|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Imm8, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
|
||||||
roundpd, 3, 0x660f3a09, None, 3, CpuSSE4_1|CpuSSE5, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
|
roundpd, 3, 0x660f3a09, None, 3, CpuSSE4_1, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
|
||||||
roundps, 3, 0x6608, None, 1, CpuAVX, Modrm|Vex|Vex0F3A|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Imm8, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
|
roundps, 3, 0x6608, None, 1, CpuAVX, Modrm|Vex|Vex0F3A|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Imm8, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
|
||||||
roundps, 3, 0x660f3a08, None, 3, CpuSSE4_1|CpuSSE5, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
|
roundps, 3, 0x660f3a08, None, 3, CpuSSE4_1, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Xmmword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
|
||||||
roundsd, 3, 0x660b, None, 1, CpuAVX, Modrm|Vex|Vex0F3A|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64|SSE2AVX, { Imm8, Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
|
roundsd, 3, 0x660b, None, 1, CpuAVX, Modrm|Vex|Vex0F3A|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64|SSE2AVX, { Imm8, Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
|
||||||
roundsd, 3, 0x660f3a0b, None, 3, CpuSSE4_1|CpuSSE5, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Imm8, Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
|
roundsd, 3, 0x660f3a0b, None, 3, CpuSSE4_1, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|NoRex64, { Imm8, Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
|
||||||
roundss, 3, 0x660a, None, 1, CpuAVX, Modrm|Vex|Vex0F3A|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Imm8, Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
|
roundss, 3, 0x660a, None, 1, CpuAVX, Modrm|Vex|Vex0F3A|VexNDS|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SSE2AVX, { Imm8, Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
|
||||||
roundss, 3, 0x660f3a0a, None, 3, CpuSSE4_1|CpuSSE5, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
|
roundss, 3, 0x660f3a0a, None, 3, CpuSSE4_1, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { Imm8, Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|RegXMM, RegXMM }
|
||||||
|
|
||||||
// SSE4.2 instructions.
|
// SSE4.2 instructions.
|
||||||
|
|
||||||
@ -2539,265 +2539,6 @@ insertq, 4, 0xf20f78, None, 2, CpuSSE4a, Modrm|IgnoreSize|No_bSuf|No_wSuf|No_lSu
|
|||||||
popcnt, 2, 0xf30fb8, None, 2, CpuABM|CpuSSE4_2, Modrm|No_bSuf|No_sSuf|No_ldSuf|NoAVX, { Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S, Reg16|Reg32|Reg64 }
|
popcnt, 2, 0xf30fb8, None, 2, CpuABM|CpuSSE4_2, Modrm|No_bSuf|No_sSuf|No_ldSuf|NoAVX, { Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S, Reg16|Reg32|Reg64 }
|
||||||
lzcnt, 2, 0xf30fbd, None, 2, CpuABM, Modrm|No_bSuf|No_sSuf|No_ldSuf, { Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S, Reg16|Reg32|Reg64 }
|
lzcnt, 2, 0xf30fbd, None, 2, CpuABM, Modrm|No_bSuf|No_sSuf|No_ldSuf, { Reg16|Reg32|Reg64|Word|Dword|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S, Reg16|Reg32|Reg64 }
|
||||||
|
|
||||||
// SSE5 instructions
|
|
||||||
fmaddps, 4, 0x0f2400, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex|Drexv, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM }
|
|
||||||
fmaddpd, 4, 0x0f2401, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex|Drexv, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM }
|
|
||||||
fmaddss, 4, 0x0f2402, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex|Drexv, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM }
|
|
||||||
fmaddsd, 4, 0x0f2403, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex|Drexv, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM }
|
|
||||||
fmsubps, 4, 0x0f2408, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex|Drexv, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM }
|
|
||||||
fmsubpd, 4, 0x0f2409, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex|Drexv, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM }
|
|
||||||
fmsubss, 4, 0x0f240a, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex|Drexv, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM }
|
|
||||||
fmsubsd, 4, 0x0f240b, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex|Drexv, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM }
|
|
||||||
fnmaddps, 4, 0x0f2410, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex|Drexv, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM }
|
|
||||||
fnmaddpd, 4, 0x0f2411, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex|Drexv, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM }
|
|
||||||
fnmaddss, 4, 0x0f2412, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex|Drexv, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM }
|
|
||||||
fnmaddsd, 4, 0x0f2413, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex|Drexv, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM }
|
|
||||||
fnmsubps, 4, 0x0f2418, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex|Drexv, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM }
|
|
||||||
fnmsubpd, 4, 0x0f2419, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex|Drexv, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM }
|
|
||||||
fnmsubss, 4, 0x0f241a, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex|Drexv, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM }
|
|
||||||
fnmsubsd, 4, 0x0f241b, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex|Drexv, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM }
|
|
||||||
pmacssww, 4, 0x0f2485, 0x0, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex, { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pmacsww, 4, 0x0f2495, 0x0, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex, { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pmacsswd, 4, 0x0f2486, 0x0, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex, { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pmacswd, 4, 0x0f2496, 0x0, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex, { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pmacssdd, 4, 0x0f248e, 0x0, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex, { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pmacsdd, 4, 0x0f249e, 0x0, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex, { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pmacssdql, 4, 0x0f2487, 0x0, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex, { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pmacssdqh, 4, 0x0f248f, 0x0, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex, { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pmacsdql, 4, 0x0f2497, 0x0, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex, { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pmacsdqh, 4, 0x0f249f, 0x0, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex, { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pmadcsswd, 4, 0x0f24a6, 0x0, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex, { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pmadcswd, 4, 0x0f24b6, 0x0, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex, { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
phaddbw, 2, 0x0f7a41, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
|
|
||||||
phaddbd, 2, 0x0f7a42, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
|
|
||||||
phaddbq, 2, 0x0f7a43, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
|
|
||||||
phaddwd, 2, 0x0f7a46, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
|
|
||||||
phaddwq, 2, 0x0f7a47, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
|
|
||||||
phadddq, 2, 0x0f7a4b, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
|
|
||||||
phaddubw, 2, 0x0f7a51, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
|
|
||||||
phaddubd, 2, 0x0f7a52, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
|
|
||||||
phaddubq, 2, 0x0f7a53, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
|
|
||||||
phadduwd, 2, 0x0f7a56, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
|
|
||||||
phadduwq, 2, 0x0f7a57, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
|
|
||||||
phaddudq, 2, 0x0f7a5b, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
|
|
||||||
phsubbw, 2, 0x0f7a61, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
|
|
||||||
phsubwd, 2, 0x0f7a62, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
|
|
||||||
phsubdq, 2, 0x0f7a63, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
|
|
||||||
pcmov, 4, 0x0f2422, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex|Drexv, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM }
|
|
||||||
pperm, 4, 0x0f2423, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex|Drexv, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM }
|
|
||||||
permps, 4, 0x0f2420, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex|Drexv, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM }
|
|
||||||
permpd, 4, 0x0f2421, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex|Drexv, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM }
|
|
||||||
protb, 3, 0x0f2440, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex|Drexv, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM }
|
|
||||||
protb, 3, 0x0f7b40, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm, { Imm8, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM }
|
|
||||||
protw, 3, 0x0f2441, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex|Drexv, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM }
|
|
||||||
protw, 3, 0x0f7b41, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm, { Imm8, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM }
|
|
||||||
protd, 3, 0x0f2442, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex|Drexv, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM }
|
|
||||||
protd, 3, 0x0f7b42, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm, { Imm8, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM }
|
|
||||||
protq, 3, 0x0f2443, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex|Drexv, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM }
|
|
||||||
protq, 3, 0x0f7b43, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm, { Imm8, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM }
|
|
||||||
pshlb, 3, 0x0f2444, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex|Drexv, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM }
|
|
||||||
pshlw, 3, 0x0f2445, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex|Drexv, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM }
|
|
||||||
pshld, 3, 0x0f2446, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex|Drexv, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM }
|
|
||||||
pshlq, 3, 0x0f2447, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex|Drexv, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM }
|
|
||||||
pshab, 3, 0x0f2448, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex|Drexv, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM }
|
|
||||||
pshaw, 3, 0x0f2449, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex|Drexv, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM }
|
|
||||||
pshad, 3, 0x0f244a, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex|Drexv, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM }
|
|
||||||
pshaq, 3, 0x0f244b, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm|Drex|Drexv, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM|Disp8|Disp16|Disp32|Disp32S|BaseIndex|Xmmword|Unspecified, RegXMM }
|
|
||||||
comps, 4, 0x0f252c, 0x0, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|Drexc, { Imm8, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comeqps, 3, 0x0f252c, 0x0, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comltps, 3, 0x0f252c, 0x1, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comungeps, 3, 0x0f252c, 0x1, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comleps, 3, 0x0f252c, 0x2, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comungtps, 3, 0x0f252c, 0x2, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comunordps, 3, 0x0f252c, 0x3, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comneps, 3, 0x0f252c, 0x4, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comneqps, 3, 0x0f252c, 0x4, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comnltps, 3, 0x0f252c, 0x5, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comugeps, 3, 0x0f252c, 0x5, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comnleps, 3, 0x0f252c, 0x6, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comugtps, 3, 0x0f252c, 0x6, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comordps, 3, 0x0f252c, 0x7, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comueqps, 3, 0x0f252c, 0x8, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comultps, 3, 0x0f252c, 0x9, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comngeps, 3, 0x0f252c, 0x9, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comuleps, 3, 0x0f252c, 0xa, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comngtps, 3, 0x0f252c, 0xa, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comfalseps, 3, 0x0f252c, 0xb, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comuneps, 3, 0x0f252c, 0xc, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comuneqps, 3, 0x0f252c, 0xc, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comunltps, 3, 0x0f252c, 0xd, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comgeps, 3, 0x0f252c, 0xd, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comunleps, 3, 0x0f252c, 0xe, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comgtps, 3, 0x0f252c, 0xe, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comtrueps, 3, 0x0f252c, 0xf, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
compd, 4, 0x0f252d, 0x0, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|Drexc, { Imm8, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comeqpd, 3, 0x0f252d, 0x0, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comltpd, 3, 0x0f252d, 0x1, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comungepd, 3, 0x0f252d, 0x1, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comlepd, 3, 0x0f252d, 0x2, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comungtpd, 3, 0x0f252d, 0x2, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comunordpd, 3, 0x0f252d, 0x3, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comnepd, 3, 0x0f252d, 0x4, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comneqpd, 3, 0x0f252d, 0x4, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comnltpd, 3, 0x0f252d, 0x5, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comugepd, 3, 0x0f252d, 0x5, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comnlepd, 3, 0x0f252d, 0x6, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comugtpd, 3, 0x0f252d, 0x6, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comordpd, 3, 0x0f252d, 0x7, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comueqpd, 3, 0x0f252d, 0x8, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comultpd, 3, 0x0f252d, 0x9, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comngepd, 3, 0x0f252d, 0x9, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comulepd, 3, 0x0f252d, 0xa, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comngtpd, 3, 0x0f252d, 0xa, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comfalsepd, 3, 0x0f252d, 0xb, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comunepd, 3, 0x0f252d, 0xc, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comuneqpd, 3, 0x0f252d, 0xc, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comunltpd, 3, 0x0f252d, 0xd, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comgepd, 3, 0x0f252d, 0xd, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comunlepd, 3, 0x0f252d, 0xe, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comgtpd, 3, 0x0f252d, 0xe, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comtruepd, 3, 0x0f252d, 0xf, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comss, 4, 0x0f252e, 0x0, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|Drexc, { Imm8, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comeqss, 3, 0x0f252e, 0x0, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comltss, 3, 0x0f252e, 0x1, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comungess, 3, 0x0f252e, 0x1, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comless, 3, 0x0f252e, 0x2, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comungtss, 3, 0x0f252e, 0x2, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comunordss, 3, 0x0f252e, 0x3, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comness, 3, 0x0f252e, 0x4, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comneqss, 3, 0x0f252e, 0x4, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comnltss, 3, 0x0f252e, 0x5, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comugess, 3, 0x0f252e, 0x5, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comnless, 3, 0x0f252e, 0x6, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comugtss, 3, 0x0f252e, 0x6, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comordss, 3, 0x0f252e, 0x7, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comueqss, 3, 0x0f252e, 0x8, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comultss, 3, 0x0f252e, 0x9, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comngess, 3, 0x0f252e, 0x9, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comuless, 3, 0x0f252e, 0xa, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comngtss, 3, 0x0f252e, 0xa, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comfalsess, 3, 0x0f252e, 0xb, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comuness, 3, 0x0f252e, 0xc, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comuneqss, 3, 0x0f252e, 0xc, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comunltss, 3, 0x0f252e, 0xd, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comgess, 3, 0x0f252e, 0xd, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comunless, 3, 0x0f252e, 0xe, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comgtss, 3, 0x0f252e, 0xe, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comtruess, 3, 0x0f252e, 0xf, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comsd, 4, 0x0f252f, 0x0, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|Drexc, { Imm8, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comeqsd, 3, 0x0f252f, 0x0, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comltsd, 3, 0x0f252f, 0x1, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comungesd, 3, 0x0f252f, 0x1, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comlesd, 3, 0x0f252f, 0x2, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comungtsd, 3, 0x0f252f, 0x2, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comunordsd, 3, 0x0f252f, 0x3, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comnesd, 3, 0x0f252f, 0x4, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comneqsd, 3, 0x0f252f, 0x4, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comnltsd, 3, 0x0f252f, 0x5, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comugesd, 3, 0x0f252f, 0x5, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comnlesd, 3, 0x0f252f, 0x6, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comugtsd, 3, 0x0f252f, 0x6, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comordsd, 3, 0x0f252f, 0x7, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comueqsd, 3, 0x0f252f, 0x8, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comultsd, 3, 0x0f252f, 0x9, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comngesd, 3, 0x0f252f, 0x9, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comulesd, 3, 0x0f252f, 0xa, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comngtsd, 3, 0x0f252f, 0xa, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comfalsesd, 3, 0x0f252f, 0xb, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comunesd, 3, 0x0f252f, 0xc, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comuneqsd, 3, 0x0f252f, 0xc, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comunltsd, 3, 0x0f252f, 0xd, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comgesd, 3, 0x0f252f, 0xd, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comunlesd, 3, 0x0f252f, 0xe, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comgtsd, 3, 0x0f252f, 0xe, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
comtruesd, 3, 0x0f252f, 0xf, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomub, 4, 0x0f256c, 0x0, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|Drexc, { Imm8, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomltub, 3, 0x0f256c, 0x0, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomleub, 3, 0x0f256c, 0x1, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomgtub, 3, 0x0f256c, 0x2, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomgeub, 3, 0x0f256c, 0x3, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomequb, 3, 0x0f256c, 0x4, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomnequb, 3, 0x0f256c, 0x5, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomneub, 3, 0x0f256c, 0x5, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomfalseub, 3, 0x0f256c, 0x6, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomtrueub, 3, 0x0f256c, 0x7, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomuw, 4, 0x0f256d, 0x0, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|Drexc, { Imm8, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomltuw, 3, 0x0f256d, 0x0, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomleuw, 3, 0x0f256d, 0x1, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomgtuw, 3, 0x0f256d, 0x2, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomgeuw, 3, 0x0f256d, 0x3, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomequw, 3, 0x0f256d, 0x4, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomnequw, 3, 0x0f256d, 0x5, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomneuw, 3, 0x0f256d, 0x5, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomfalseuw, 3, 0x0f256d, 0x6, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomtrueuw, 3, 0x0f256d, 0x7, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomud, 4, 0x0f256e, 0x0, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|Drexc, { Imm8, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomltud, 3, 0x0f256e, 0x0, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomleud, 3, 0x0f256e, 0x1, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomgtud, 3, 0x0f256e, 0x2, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomgeud, 3, 0x0f256e, 0x3, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomequd, 3, 0x0f256e, 0x4, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomnequd, 3, 0x0f256e, 0x5, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomneud, 3, 0x0f256e, 0x5, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomfalseud, 3, 0x0f256e, 0x6, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomtrueud, 3, 0x0f256e, 0x7, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomuq, 4, 0x0f256f, 0x0, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|Drexc, { Imm8, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomltuq, 3, 0x0f256f, 0x0, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomleuq, 3, 0x0f256f, 0x1, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomgtuq, 3, 0x0f256f, 0x2, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomgeuq, 3, 0x0f256f, 0x3, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomequq, 3, 0x0f256f, 0x4, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomnequq, 3, 0x0f256f, 0x5, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomneuq, 3, 0x0f256f, 0x5, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomfalseuq, 3, 0x0f256f, 0x6, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomtrueuq, 3, 0x0f256f, 0x7, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomb, 4, 0x0f254c, 0x0, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|Drexc, { Imm8, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomltb, 3, 0x0f254c, 0x0, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomleb, 3, 0x0f254c, 0x1, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomgtb, 3, 0x0f254c, 0x2, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomgeb, 3, 0x0f254c, 0x3, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomeqb, 3, 0x0f254c, 0x4, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomneqb, 3, 0x0f254c, 0x5, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomneb, 3, 0x0f254c, 0x5, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomfalseb, 3, 0x0f254c, 0x6, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomtrueb, 3, 0x0f254c, 0x7, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomw, 4, 0x0f254d, 0x0, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|Drexc, { Imm8, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomltw, 3, 0x0f254d, 0x0, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomlew, 3, 0x0f254d, 0x1, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomgtw, 3, 0x0f254d, 0x2, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomgew, 3, 0x0f254d, 0x3, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomeqw, 3, 0x0f254d, 0x4, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomneqw, 3, 0x0f254d, 0x5, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomnew, 3, 0x0f254d, 0x5, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomfalsew, 3, 0x0f254d, 0x6, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomtruew, 3, 0x0f254d, 0x7, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomd, 4, 0x0f254e, 0x0, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|Drexc, { Imm8, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomltd, 3, 0x0f254e, 0x0, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomled, 3, 0x0f254e, 0x1, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomgtd, 3, 0x0f254e, 0x2, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomged, 3, 0x0f254e, 0x3, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomeqd, 3, 0x0f254e, 0x4, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomneqd, 3, 0x0f254e, 0x5, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomned, 3, 0x0f254e, 0x5, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomfalsed, 3, 0x0f254e, 0x6, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomtrued, 3, 0x0f254e, 0x7, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomq, 4, 0x0f254f, 0x0, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|Drexc, { Imm8, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomltq, 3, 0x0f254f, 0x0, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomleq, 3, 0x0f254f, 0x1, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomgtq, 3, 0x0f254f, 0x2, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomgeq, 3, 0x0f254f, 0x3, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomeqq, 3, 0x0f254f, 0x4, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomneqq, 3, 0x0f254f, 0x5, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomneq, 3, 0x0f254f, 0x5, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomfalseq, 3, 0x0f254f, 0x6, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
pcomtrueq, 3, 0x0f254f, 0x7, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm|ImmExt|Drexc, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM, RegXMM }
|
|
||||||
frczps, 2, 0x0f7a10, None, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
|
|
||||||
frczpd, 2, 0x0f7a11, None, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
|
|
||||||
frczss, 2, 0x0f7a12, None, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
|
|
||||||
frczsd, 2, 0x0f7a13, None, 3, CpuSSE5, IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|Modrm, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
|
|
||||||
cvtph2ps, 2, 0x0f7a30, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm, { Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex, RegXMM }
|
|
||||||
cvtps2ph, 2, 0x0f7a31, None, 3, CpuSSE5, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|No_qSuf|IgnoreSize|Modrm, { RegXMM, Xmmword|RegXMM|Disp8|Disp16|Disp32|Disp32S|Unspecified|BaseIndex }
|
|
||||||
|
|
||||||
// VIA PadLock extensions.
|
// VIA PadLock extensions.
|
||||||
xstore-rng, 0, 0xfa7, 0xc0, 2, CpuPadLock, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|IsString|ImmExt, { 0 }
|
xstore-rng, 0, 0xfa7, 0xc0, 2, CpuPadLock, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|IsString|ImmExt, { 0 }
|
||||||
xcrypt-ecb, 0, 0xf30fa7, 0xc8, 2, CpuPadLock, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|IsString|ImmExt, { 0 }
|
xcrypt-ecb, 0, 0xf30fa7, 0xc8, 2, CpuPadLock, No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|IsString|ImmExt, { 0 }
|
||||||
|
14838
opcodes/i386-tbl.h
14838
opcodes/i386-tbl.h
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user