diff options
author | Sebastian Pop <sebastian.pop@amd.com> | 2009-11-18 04:04:17 +0000 |
---|---|---|
committer | Sebastian Pop <sebastian.pop@amd.com> | 2009-11-18 04:04:17 +0000 |
commit | 5dd85c99706566de293156c56d8c72b2c69e9cdb (patch) | |
tree | 3bd9b37ad52be36845d7fa5fd9bdeb20e4a45d6b /opcodes/i386-gen.c | |
parent | bef57ef2c61d96430c3478ac1849cbfc264bff36 (diff) | |
download | gdb-5dd85c99706566de293156c56d8c72b2c69e9cdb.zip gdb-5dd85c99706566de293156c56d8c72b2c69e9cdb.tar.gz gdb-5dd85c99706566de293156c56d8c72b2c69e9cdb.tar.bz2 |
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 and cvt16 in 32-bit mode.
Run x86-64-xop and x86-64-cvt16 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.
* gas/i386/cvt16.d: New.
* gas/i386/cvt16.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.
* i386-init.h: Regenerated.
* i386-tbl.h: Regenerated.
Diffstat (limited to 'opcodes/i386-gen.c')
-rw-r--r-- | opcodes/i386-gen.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/opcodes/i386-gen.c b/opcodes/i386-gen.c index 3ddd4b6..0e0eb8e 100644 --- a/opcodes/i386-gen.c +++ b/opcodes/i386-gen.c @@ -128,6 +128,10 @@ static initializer cpu_flag_init[] = "CpuMMX|CpuSSE|CpuSSE2|CpuSSE3|CpuSSSE3|CpuSSE4_1|CpuSSE4_2|CpuAVX|CpuFMA" }, { "CPU_FMA4_FLAGS", "CpuMMX|CpuSSE|CpuSSE2|CpuSSE3|CpuSSSE3|CpuSSE4_1|CpuSSE4_2|CpuAVX|CpuFMA4" }, + { "CPU_XOP_FLAGS", + "CpuMMX|CpuSSE|CpuSSE2|CpuSSE3|CpuSSSE3|CpuSSE4_1|CpuSSE4_2|CpuSSE4a|CpuABM|CpuAVX|CpuFMA4|CpuXOP|CpuCVT16" }, + { "CPU_CVT16_FLAGS", + "CpuMMX|CpuSSE|CpuSSE2|CpuSSE3|CpuSSSE3|CpuSSE4_1|CpuSSE4_2|CpuSSE4a|CpuABM|CpuAVX|CpuFMA4|CpuXOP|CpuCVT16" }, { "CPU_LWP_FLAGS", "CpuLWP" }, { "CPU_MOVBE_FLAGS", @@ -298,6 +302,8 @@ static bitfield cpu_flags[] = BITFIELD (CpuPCLMUL), BITFIELD (CpuFMA), BITFIELD (CpuFMA4), + BITFIELD (CpuXOP), + BITFIELD (CpuCVT16), BITFIELD (CpuLWP), BITFIELD (CpuLM), BITFIELD (CpuMovbe), @@ -359,9 +365,11 @@ static bitfield opcode_modifiers[] = BITFIELD (Vex0F), BITFIELD (Vex0F38), BITFIELD (Vex0F3A), + BITFIELD (XOP08), BITFIELD (XOP09), BITFIELD (XOP0A), BITFIELD (Vex3Sources), + BITFIELD (Vex2Sources), BITFIELD (VexImmExt), BITFIELD (SSE2AVX), BITFIELD (NoAVX), |