aboutsummaryrefslogtreecommitdiff
path: root/opcodes/i386-gen.c
diff options
context:
space:
mode:
authorSebastian Pop <sebastian.pop@amd.com>2010-02-11 05:06:14 +0000
committerSebastian Pop <sebastian.pop@amd.com>2010-02-11 05:06:14 +0000
commita683cc34e4d115f13d4ef510f2f1f59d7e3947e4 (patch)
tree5902dd6675e665c5c6bd1440dd96ceb6977344f1 /opcodes/i386-gen.c
parente543c8cb7042c243c76636ef07d2f0b0ffd03733 (diff)
downloadgdb-a683cc34e4d115f13d4ef510f2f1f59d7e3947e4.zip
gdb-a683cc34e4d115f13d4ef510f2f1f59d7e3947e4.tar.gz
gdb-a683cc34e4d115f13d4ef510f2f1f59d7e3947e4.tar.bz2
2010-02-10 Quentin Neill <quentin.neill@amd.com>
Sebastian Pop <sebastian.pop@amd.com> gas: * config/tc-i386.c (vec_imm4) New operand type. (fits_in_imm4): New. (VEX_check_operands): New. (check_reverse): Call VEX_check_operands. (build_modrm_byte): Reintroduce code for 5 operand insns. Fix whitespace. gas/testsuite: * gas/i386/x86-64-xop.d: Add vpermil2p[sd] tests. * gas/i386/x86-64-xop.s: Likewise. * gas/i386/xop.d: Likewise. * gas/i386/xop.s: Likewise. opcodes: * i386-dis.c (OP_EX_VexImmW): Reintroduced function to handle 5th imm8 operand. (PREFIX_VEX_3A48): Added. (PREFIX_VEX_3A49): Added. (VEX_W_3A48_P_2): Added. (VEX_W_3A49_P_2): Added. (prefix table): Added entries for PREFIX_VEX_3A48 and PREFIX_VEX_3A49. (vex table): Added entries for VEX_W_3A48_P_2 and and VEX_W_3A49_P_2. * i386-gen.c (operand_type_init): Added OPERAND_TYPE_VEC_IMM4 for Vec_Imm4 operands. * i386-opc.h (enum): Added Vec_Imm4. (i386_operand_type): Added vec_imm4. * i386-opc.tbl: Add entries for vpermilp[ds]. * i386-init.h: Regenerated. * i386-tbl.h: Regenerated.
Diffstat (limited to 'opcodes/i386-gen.c')
-rw-r--r--opcodes/i386-gen.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/opcodes/i386-gen.c b/opcodes/i386-gen.c
index 08ade93..9e8a541 100644
--- a/opcodes/i386-gen.c
+++ b/opcodes/i386-gen.c
@@ -254,6 +254,8 @@ static initializer operand_type_init[] =
"Imm32|Imm32S|Imm64|Disp32" },
{ "OPERAND_TYPE_IMM32_32S_64_DISP32_64",
"Imm32|Imm32S|Imm64|Disp32|Disp64" },
+ { "OPERAND_TYPE_VEC_IMM4",
+ "Vec_Imm4" },
};
typedef struct bitfield
@@ -414,6 +416,7 @@ static bitfield operand_types[] =
BITFIELD (Ymmword),
BITFIELD (Unspecified),
BITFIELD (Anysize),
+ BITFIELD (Vec_Imm4),
#ifdef OTUnused
BITFIELD (OTUnused),
#endif