diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2009-02-04 16:03:31 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2009-02-04 16:03:31 +0000 |
commit | ce2f5b3ce728a9fc501e6c3dd597bdc6bd612b6e (patch) | |
tree | 5e35f447bc3dc9130474c7dd1ee7c18cb6e17277 /opcodes/i386-dis.c | |
parent | 33d502b41a50762007426862d854f6903c789221 (diff) | |
download | gdb-ce2f5b3ce728a9fc501e6c3dd597bdc6bd612b6e.zip gdb-ce2f5b3ce728a9fc501e6c3dd597bdc6bd612b6e.tar.gz gdb-ce2f5b3ce728a9fc501e6c3dd597bdc6bd612b6e.tar.bz2 |
gas/
2009-02-04 H.J. Lu <hongjiu.lu@intel.com>
AVX Programming Reference (January, 2009)
* config/tc-i386.c (CPU_FLAGS_PCLMUL_MATCH): New.
(CPU_FLAGS_AVX_MATCH): Updated.
(CPU_FLAGS_32BIT_MATCH): Likewise.
(cpu_flags_match): Likewise.
gas/testsuite/
2009-02-04 H.J. Lu <hongjiu.lu@intel.com>
AVX Programming Reference (January, 2009)
* gas/i386/arch-avx-1-3.l: New.
* gas/i386/arch-avx-1-3.s: Likewise.
* gas/i386/arch-avx-1-4.l: Likewise.
* gas/i386/arch-avx-1-4.s: Likewise.
* gas/i386/arch-avx-1-5.l: Likewise.
* gas/i386/arch-avx-1-5.s: Likewise.
* gas/i386/arch-avx-1-6.l: Likewise.
* gas/i386/arch-avx-1-6.s: Likewise.
* gas/i386/arch-10.s: Add vpclmul instructions.
* gas/i386/arch-avx-1.s: Likewise.
* gas/i386/avx.s: Likewise.
* gas/i386/x86-64-arch-2.s: Likewise.
* gas/i386/x86-64-avx.s: Likewise.
* gas/i386/sse2avx.s: Add pclmul instructions.
* gas/i386/x86-64-sse2avx.s: Likewise.
* gas/i386/arch-10.d: Updated.
* gas/i386/arch-10-1.l: Likewise.
* gas/i386/arch-10-2.l: Likewise.
* gas/i386/arch-10-3.l: Likewise.
* gas/i386/arch-10-4.l: Likewise.
* gas/i386/arch-avx-1.d: Likewise.
* gas/i386/arch-avx-1-1.l: Likewise.
* gas/i386/arch-avx-1-2.l: Likewise.
* gas/i386/avx.d: Likewise.
* gas/i386/avx-intel.d: Likewise.
* gas/i386/sse2avx.d: Likewise.
* gas/i386/x86-64-arch-2.d: Likewise.
* gas/i386/x86-64-avx.d: Likewise.
* gas/i386/x86-64-avx-intel.d: Likewise.
* gas/i386/x86-64-sse2avx.d: Likewise.
* gas/i386/i386.exp: Run arch-avx-1-3, arch-avx-1-4,
arch-avx-1-5 and arch-avx-1-6.
opcodes/
2009-02-04 H.J. Lu <hongjiu.lu@intel.com>
AVX Programming Reference (January, 2009)
* i386-dis.c (PREFIX_VEX_3A44): New.
(VEX_LEN_3A44_P_2): Likewise.
(PREFIX_VEX_3A48): Updated.
(VEX_LEN_3A4C_P_2): Likewise.
(prefix_table): Add PREFIX_VEX_3A44.
(vex_table): Likewise.
(vex_len_table): Add VEX_LEN_3A44_P_2.
* i386-opc.tbl: Add PCLMUL + AVX instructions.
* i386-tbl.h: Regenerated.
Diffstat (limited to 'opcodes/i386-dis.c')
-rw-r--r-- | opcodes/i386-dis.c | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index 434ecfc..83de1f7 100644 --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -1003,7 +1003,8 @@ fetch_data (struct disassemble_info *info, bfd_byte *addr) #define PREFIX_VEX_3A40 (PREFIX_VEX_3A22 + 1) #define PREFIX_VEX_3A41 (PREFIX_VEX_3A40 + 1) #define PREFIX_VEX_3A42 (PREFIX_VEX_3A41 + 1) -#define PREFIX_VEX_3A4A (PREFIX_VEX_3A42 + 1) +#define PREFIX_VEX_3A44 (PREFIX_VEX_3A42 + 1) +#define PREFIX_VEX_3A4A (PREFIX_VEX_3A44 + 1) #define PREFIX_VEX_3A4B (PREFIX_VEX_3A4A + 1) #define PREFIX_VEX_3A4C (PREFIX_VEX_3A4B + 1) #define PREFIX_VEX_3A60 (PREFIX_VEX_3A4C + 1) @@ -1239,7 +1240,8 @@ fetch_data (struct disassemble_info *info, bfd_byte *addr) #define VEX_LEN_3A22_P_2 (VEX_LEN_3A21_P_2 + 1) #define VEX_LEN_3A41_P_2 (VEX_LEN_3A22_P_2 + 1) #define VEX_LEN_3A42_P_2 (VEX_LEN_3A41_P_2 + 1) -#define VEX_LEN_3A4C_P_2 (VEX_LEN_3A42_P_2 + 1) +#define VEX_LEN_3A44_P_2 (VEX_LEN_3A42_P_2 + 1) +#define VEX_LEN_3A4C_P_2 (VEX_LEN_3A44_P_2 + 1) #define VEX_LEN_3A60_P_2 (VEX_LEN_3A4C_P_2 + 1) #define VEX_LEN_3A61_P_2 (VEX_LEN_3A60_P_2 + 1) #define VEX_LEN_3A62_P_2 (VEX_LEN_3A61_P_2 + 1) @@ -5024,6 +5026,14 @@ static const struct dis386 prefix_table[][4] = { { "(bad)", { XX } }, }, + /* PREFIX_VEX_3A44 */ + { + { "(bad)", { XX } }, + { "(bad)", { XX } }, + { VEX_LEN_TABLE (VEX_LEN_3A44_P_2) }, + { "(bad)", { XX } }, + }, + /* PREFIX_VEX_3A4A */ { { "(bad)", { XX } }, @@ -7670,7 +7680,7 @@ static const struct dis386 vex_table[][256] = { { PREFIX_TABLE (PREFIX_VEX_3A41) }, { PREFIX_TABLE (PREFIX_VEX_3A42) }, { "(bad)", { XX } }, - { "(bad)", { XX } }, + { PREFIX_TABLE (PREFIX_VEX_3A44) }, { "(bad)", { XX } }, { "(bad)", { XX } }, { "(bad)", { XX } }, @@ -9007,6 +9017,12 @@ static const struct dis386 vex_len_table[][2] = { { "(bad)", { XX } }, }, + /* VEX_LEN_3A44_P_2 */ + { + { "vpclmulqdq", { XM, Vex128, EXx, PCLMUL } }, + { "(bad)", { XX } }, + }, + /* VEX_LEN_3A4C_P_2 */ { { "vpblendvb", { XM, Vex128, EXx, XMVexI4 } }, |