correctly decode PINSRQ instruction
This commit is contained in:
parent
69b29c3e15
commit
f362f34ed6
@ -937,7 +937,7 @@ static BxOpcodeDecodeDescriptor64 decode64_descriptor[] =
|
||||
/* 0F 3A 1F */ { &decoder_ud64, NULL },
|
||||
/* 0F 3A 20 */ { &decoder64_sse, BxOpcodeGroupSSE_0F3A20 },
|
||||
/* 0F 3A 21 */ { &decoder64_sse, BxOpcodeGroupSSE_0F3A21 },
|
||||
/* 0F 3A 22 */ { &decoder64_sse, BxOpcodeGroupSSE_0F3A22 },
|
||||
/* 0F 3A 22 */ { &decoder64_sseq, BxOpcodeGroupSSE_0F3A22 },
|
||||
/* 0F 3A 23 */ { &decoder_ud64, NULL },
|
||||
/* 0F 3A 24 */ { &decoder_ud64, NULL },
|
||||
/* 0F 3A 25 */ { &decoder_ud64, NULL },
|
||||
|
@ -148,11 +148,17 @@ static const BxOpcodeInfo_t BxOpcodeGroupSSE_0F3A21[4] = {
|
||||
};
|
||||
|
||||
// opcode 0F 3A 22
|
||||
static const BxOpcodeInfo_t BxOpcodeGroupSSE_0F3A22[4] = {
|
||||
static const BxOpcodeInfo_t BxOpcodeGroupSSE_0F3A22[] = {
|
||||
/* -- */ { 0, BX_IA_ERROR },
|
||||
/* 66 */ { BxImmediate_Ib, BX_IA_PINSRD_VdqEdIb },
|
||||
/* F3 */ { 0, BX_IA_ERROR },
|
||||
/* F2 */ { 0, BX_IA_ERROR },
|
||||
#if BX_SUPPORT_X86_64
|
||||
/* -- */ { 0, BX_IA_ERROR },
|
||||
/* 66 */ { BxImmediate_Ib, BX_IA_PINSRQ_VdqEqIb },
|
||||
/* F3 */ { 0, BX_IA_ERROR },
|
||||
/* F2 */ { 0, BX_IA_ERROR },
|
||||
#endif
|
||||
};
|
||||
|
||||
// opcode 0F 3A 40
|
||||
|
@ -2092,7 +2092,7 @@ bx_define_opcode(BX_IA_V128_VPEXTRW_EwdVdqIb, &BX_CPU_C::PEXTRW_EwdVdqIbM, &BX_C
|
||||
|
||||
// VexW64 aliased
|
||||
bx_define_opcode(BX_IA_V128_VPINSRD_VdqEdIb, &BX_CPU_C::PINSRD_VdqHdqEdIbM, &BX_CPU_C::PINSRD_VdqHdqEdIbR, BX_ISA_AVX, OP_Vdq, OP_Hdq, OP_Ed, OP_Ib, BX_PREPARE_AVX)
|
||||
bx_define_opcode(BX_IA_V128_VPINSRQ_VdqEqIb, &BX_CPU_C::PINSRD_VdqHdqEdIbM, &BX_CPU_C::PINSRD_VdqHdqEdIbR, BX_ISA_AVX, OP_Vdq, OP_Hdq, OP_Eq, OP_Ib, BX_PREPARE_AVX)
|
||||
bx_define_opcode(BX_IA_V128_VPINSRQ_VdqEqIb, &BX_CPU_C::PINSRQ_VdqHdqEdIbM, &BX_CPU_C::PINSRQ_VdqHdqEdIbR, BX_ISA_AVX, OP_Vdq, OP_Hdq, OP_Eq, OP_Ib, BX_PREPARE_AVX)
|
||||
bx_define_opcode(BX_IA_V128_VPEXTRD_EdVdqIb, &BX_CPU_C::PEXTRD_EdVdqIbM, &BX_CPU_C::PEXTRD_EdVdqIbR, BX_ISA_AVX, OP_Ed, OP_Vdq, OP_Ib, OP_NONE, BX_PREPARE_AVX)
|
||||
bx_define_opcode(BX_IA_V128_VPEXTRQ_EqVdqIb, &BX_CPU_C::PEXTRQ_EqVdqIbM, &BX_CPU_C::PEXTRQ_EqVdqIbR, BX_ISA_AVX, OP_Eq, OP_Vdq, OP_Ib, OP_NONE, BX_PREPARE_AVX)
|
||||
// VexW64 aliased
|
||||
@ -3699,7 +3699,7 @@ bx_define_opcode(BX_IA_V512_VPEXTRW_EwdVdqIb, &BX_CPU_C::PEXTRW_EwdVdqIbM, &BX_C
|
||||
|
||||
// VexW64 aliased
|
||||
bx_define_opcode(BX_IA_V512_VPINSRD_VdqEdIb, &BX_CPU_C::PINSRD_VdqHdqEdIbM, &BX_CPU_C::PINSRD_VdqHdqEdIbR, BX_ISA_AVX512_DQ, OP_Vdq, OP_Hdq, OP_Ed, OP_Ib, BX_PREPARE_EVEX_NO_SAE | BX_PREPARE_EVEX_NO_BROADCAST)
|
||||
bx_define_opcode(BX_IA_V512_VPINSRQ_VdqEqIb, &BX_CPU_C::PINSRD_VdqHdqEdIbM, &BX_CPU_C::PINSRD_VdqHdqEdIbR, BX_ISA_AVX512_DQ, OP_Vdq, OP_Hdq, OP_Eq, OP_Ib, BX_PREPARE_EVEX_NO_SAE | BX_PREPARE_EVEX_NO_BROADCAST)
|
||||
bx_define_opcode(BX_IA_V512_VPINSRQ_VdqEqIb, &BX_CPU_C::PINSRQ_VdqHdqEdIbM, &BX_CPU_C::PINSRQ_VdqHdqEdIbR, BX_ISA_AVX512_DQ, OP_Vdq, OP_Hdq, OP_Eq, OP_Ib, BX_PREPARE_EVEX_NO_SAE | BX_PREPARE_EVEX_NO_BROADCAST)
|
||||
bx_define_opcode(BX_IA_V512_VPEXTRD_EdVdqIb, &BX_CPU_C::PEXTRD_EdVdqIbM, &BX_CPU_C::PEXTRD_EdVdqIbR, BX_ISA_AVX512_DQ, OP_Ed, OP_Vdq, OP_Ib, OP_NONE, BX_PREPARE_EVEX_NO_SAE | BX_PREPARE_EVEX_NO_BROADCAST)
|
||||
bx_define_opcode(BX_IA_V512_VPEXTRQ_EqVdqIb, &BX_CPU_C::PEXTRQ_EqVdqIbM, &BX_CPU_C::PEXTRQ_EqVdqIbR, BX_ISA_AVX512_DQ, OP_Eq, OP_Vdq, OP_Ib, OP_NONE, BX_PREPARE_EVEX_NO_SAE | BX_PREPARE_EVEX_NO_BROADCAST)
|
||||
// VexW64 aliased
|
||||
|
Loading…
Reference in New Issue
Block a user