From b8322856efa5b9f2c040b5dde46168fd55f7d15b Mon Sep 17 00:00:00 2001 From: spop Date: Thu, 11 Feb 2010 05:06:11 +0000 Subject: 2010-02-10 Quentin Neill Sebastian Pop 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. --- opcodes/i386-opc.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'opcodes/i386-opc.h') diff --git a/opcodes/i386-opc.h b/opcodes/i386-opc.h index b6777dda4c..f5f4628274 100644 --- a/opcodes/i386-opc.h +++ b/opcodes/i386-opc.h @@ -500,6 +500,9 @@ enum /* Any memory size. */ Anysize, + /* Vector 4 bit immediate. */ + Vec_Imm4, + /* The last bitfield in i386_operand_type. */ OTMax }; @@ -561,6 +564,7 @@ typedef union i386_operand_type unsigned int ymmword:1; unsigned int unspecified:1; unsigned int anysize:1; + unsigned int vec_imm4:1; #ifdef OTUnused unsigned int unused:(OTNumOfBits - OTUnused); #endif -- cgit v1.2.1