29480fd798dc6452948f63825ff41c66f09c2493 |
|
11-Oct-2011 |
Craig Topper <craig.topper@gmail.com> |
Fix disassembling of popcntw. Also remove some code that says it accounts for 64BIT_REXW_XD not existing, but it does exist. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141642 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
|
25f6dfd108801d1dc5877c420ef0dd47131aeda7 |
|
07-Oct-2011 |
Craig Topper <craig.topper@gmail.com> |
Revert part of r141274. Only need to change encoding for xchg %eax, %eax in 64-bit mode. This is because in 64-bit mode xchg %eax, %eax implies zeroing the upper 32-bits of RAX which makes it not a NOP. In 32-bit mode using NOP encoding is fine. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141353 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
|
6744a17dcfb941d9fdd869b9f06e20660e18ff88 |
|
04-Oct-2011 |
Craig Topper <craig.topper@gmail.com> |
Add support in the disassembler for ignoring the L-bit on certain VEX instructions. Mark instructions that have this behavior. Fixes PR10676. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141065 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
|
42fbe9aa06d8a06db353479edb18ff3d4543147c |
|
02-Oct-2011 |
Craig Topper <craig.topper@gmail.com> |
Fix typo in r140954. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140962 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
|
e1b4a1a07ec79440536e4535721f15de3893cd13 |
|
01-Oct-2011 |
Craig Topper <craig.topper@gmail.com> |
Fix disassembler handling of CRC32 which is an odd instruction that uses 0xf2 as an opcode extension and allows the opsize prefix. This necessitated adding IC_XD_OPSIZE and IC_64BIT_XD_OPSIZE contexts. Unfortunately, this increases the size of the disassembler tables. Fixes PR10702. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140954 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
|
7c788888872233748da10a8177a9a1eb176c1bc8 |
|
01-Oct-2011 |
Peter Collingbourne <peter@pcc.me.uk> |
Move TableGen's parser and entry point into a library This is the first step towards splitting LLVM and Clang's tblgen executables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140951 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
|
4da632e6e09b96db4b3f9202cde4e6ca732001c1 |
|
23-Sep-2011 |
Craig Topper <craig.topper@gmail.com> |
Don't allow 32-bit only instructions to be disassembled in 64-bit mode. Fixes part of PR10700. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140370 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
|
842f58f9be82e1a0d2751e7982ef3641829acf87 |
|
11-Sep-2011 |
Craig Topper <craig.topper@gmail.com> |
Fix disassembling of PAUSE instruction. Fixes PR10900. Also fixed NOP disassembling to ignore OpSize and REX.W. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139484 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
|
5ffedb9352ad24f50fa647153dcf04af4e84dbb1 |
|
02-Sep-2011 |
Craig Topper <craig.topper@gmail.com> |
Make IC_VEX* not inherit from IC_*. Prevents instructions with no VEX form from disassembling to their non-VEX form. Also prevents weak filter collisons that were keeping valid VEX instructions from decoding properly. Make VEX_L* not inherit from VEX_* because the VEX.L bit always important. This stops packed int VEX encodings from being disassembled when specified with VEX.L=1. Fixes PR10831 and PR10806. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138997 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
|
113061d39b32ac2652d237abff7ee5a2a45d45c9 |
|
25-Aug-2011 |
Craig Topper <craig.topper@gmail.com> |
Give ATTR_VEX higher priority when generating the disassembler context table. Fixes disassembling of VEX instructions with 'pp'=00. Fixes subset of PR10678. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@138552 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
|
4a8ac8de1ddfeaadb9ff13ce361bfc6435f18028 |
|
04-Apr-2011 |
Joerg Sonnenberger <joerg@bec.de> |
Add support for the VIA PadLock instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128826 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
|
39d7caea6938536e5528a76b28461000765a7556 |
|
04-Apr-2011 |
Joerg Sonnenberger <joerg@bec.de> |
Use array_lengthof git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128823 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
|
db37e4072361bc44f2c0661cb1add90e74012b13 |
|
04-Apr-2011 |
Joerg Sonnenberger <joerg@bec.de> |
Change loops to derive the number of tables automatically git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128818 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
|
a21e2eae3def2fe39caed861dcb73c76c715569b |
|
15-Mar-2011 |
Sean Callanan <scallanan@apple.com> |
X86 table-generator and disassembler support for the AVX instruction set. This code adds support for the VEX prefix and for the YMM registers accessible on AVX-enabled architectures. Instruction table support that enables AVX instructions for the disassembler is in an upcoming patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127644 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
|
86c69c570cb03ebdad3e847945a8619347b52d24 |
|
23-Oct-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Constify another 2 disassembler tables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117208 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
|
4d1dca92bd6d4aad7121e28c7ffc93c0a6a187d7 |
|
23-Oct-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Make the disassembler tables const so they end up in read-only memory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117206 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
|
a3ac427507e078e683d059820496c3dc52e8cac8 |
|
22-Oct-2010 |
Benjamin Kramer <benny.kra@googlemail.com> |
Make some symbols static, move classes into anonymous namespaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117111 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
|
b35798347ea87b8b6d36155b211016a7769f01ab |
|
15-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Fix a bunch of namespace polution. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101376 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
|
e5976b8c5c86730a074c34a8928720a3f6104f7e |
|
23-Dec-2009 |
Daniel Dunbar <daniel@zuster.org> |
Suppress compiler warning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91959 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
|
014dc709070a59290ae50ba7453fb4bbfc257906 |
|
19-Dec-2009 |
Nuno Lopes <nunoplopes@sapo.pt> |
fix build and while at it remove a redudant include git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91774 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
|
8783087f69989b2350c158890b26952977d8e437 |
|
19-Dec-2009 |
Daniel Dunbar <daniel@zuster.org> |
More bzero -> memset that I missed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91757 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
|
8ed9f51663bc5533f36ca62e5668ae08e9a1313f |
|
19-Dec-2009 |
Sean Callanan <scallanan@apple.com> |
Table-driven disassembler for the X86 architecture (16-, 32-, and 64-bit incarnations), integrated into the MC framework. The disassembler is table-driven, using a custom TableGen backend to generate hierarchical tables optimized for fast decode. The disassembler consumes MemoryObjects and produces arrays of MCInsts, adhering to the abstract base class MCDisassembler (llvm/MC/MCDisassembler.h). The disassembler is documented in detail in - lib/Target/X86/Disassembler/X86Disassembler.cpp (disassembler runtime) - utils/TableGen/DisassemblerEmitter.cpp (table emitter) You can test the disassembler by running llvm-mc -disassemble for i386 or x86_64 targets. Please let me know if you encounter any problems with it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91749 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
|