This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On Tue, Nov 17, 2009 at 16:53, H.J. Lu <hjl.tools@gmail.com> wrote: > - Â/* Handle conversion of 'int $3' --> special int3 insn. Â*/ > - Âif (i.tm.base_opcode == INT_OPCODE && i.op[0].imms->X_add_number == 3) > + Â/* Handle conversion of 'int $3' --> special int3 insn. ÂXOP or FMA4 > + Â Â instructions may define INT_OPCODE as well, so avoid this corner > + Â Â case for those instructions that use MODRM. Â*/ > + Âif (i.tm.base_opcode == INT_OPCODE && i.op[0].imms->X_add_number == 3 > + Â Â Â&& !i.tm.opcode_modifier.modrm) > Â Â { > > Please put each condition on a separate line. > > @@ -102,6 +102,8 @@ enum > Â CpuFMA, > Â /* FMA4 support required */ > Â CpuFMA4, > + Â/* XOP support required */ > + ÂCpuXOP, > Â /* LWP support required */ > Â CpuLWP, > Â /* MOVBE Instuction support required */ > > There are more than one CPUID feature bit. Please create > one CpuXXX field for each new CPUID feature bit and enable > those instructions with that CpuXXX. > Fixed like this: 2009-11-17 Sebastian Pop <sebastian.pop@amd.com> Quentin Neill <quentin.neill@amd.com> gas/ * config/tc-i386.c (cpu_arch): Added .xop and .cvt16. (build_vex_prefix): Handle xop08. (md_assemble): Don't special case the constant 3 for insns using MODRM. (build_modrm_byte): Handle vex2sources. (md_show_usage): Add xop and cvt16. * doc/c-i386.texi: Document fma4, xop, and cvt16. gas/testsuite/ * gas/i386/i386.exp: Run xop in 32-bit mode. Run x86-64-xop in 64-bit mode. * gas/i386/lwp.d: Update name of the testcase. * gas/i386/x86-64-xop.d: New. * gas/i386/x86-64-xop.s: New. * gas/i386/xop.d: New. * gas/i386/xop.s: New. opcodes/ * i386-dis.c (OP_Vex_2src_1): New. (OP_Vex_2src_2): New. (Vex_2src_1): New. (Vex_2src_2): New. (XOP_08): Added. (VEX_LEN_XOP_08_A0): Added. (VEX_LEN_XOP_08_A1): Added. (VEX_LEN_XOP_09_80): Added. (VEX_LEN_XOP_09_81): Added. (xop_table): Added an entry for XOP_08. Handle xop instructions. (vex_len_table): Added entries for VEX_LEN_XOP_08_A0, VEX_LEN_XOP_08_A1, VEX_LEN_XOP_09_80, VEX_LEN_XOP_09_81. (get_valid_dis386): Handle XOP_08. (OP_Vex_2src): New. * i386-gen.c (cpu_flag_init): Add CPU_XOP_FLAGS and CPU_CVT16_FLAGS. (cpu_flags): Add CpuXOP and CpuCVT16. (opcode_modifiers): Add XOP08, Vex2Sources. * i386-opc.h (CpuXOP): Added. (CpuCVT16): Added. (i386_cpu_flags): Add cpuxop and cpucvt16. (XOP08): Added. (Vex2Sources): Added. (i386_opcode_modifier): Add xop08, vex2sources. * i386-opc.tbl: Add entries for XOP and CVT16 instructions. Tested on x86-64-linux with make -k check and on simnow. Ok to commit? Thanks, Sebastian Pop -- AMD / Open Source Compiler Engineering / GNU Tools
Attachment:
1735_xop.diff.bz2
Description: BZip2 compressed data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |