History log of /external/llvm/utils/TableGen/X86DisassemblerTables.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
de2d8694e25a814696358e95141f4b1aa4d8847e 20-Sep-2016 Pirama Arumuga Nainar <pirama@google.com> Update aosp/master LLVM for rebase to r275480

Bug: http://b/31320715

This merges commit 7dcf7f03e005379ef2f06db96aa93f06186b66d5 from
aosp/dev.

Test: Build AOSP and run RenderScript tests (host tests for slang and
libbcc, RsTest, CTS)

Change-Id: Iaf3738f74312d875e69f61d604ac058f381a2a1a
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
f3ef5332fa3f4d5ec72c178a2b19dac363a19383 04-Mar-2016 Pirama Arumuga Nainar <pirama@google.com> Update aosp/master LLVM for rebase to r256229

http://b/26987366

Change-Id: I1f29c4676a8abe633ab5707dded58d846c973d50
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
6948897e478cbd66626159776a8017b3c18579b9 01-Jul-2015 Pirama Arumuga Nainar <pirama@google.com> Update aosp/master LLVM for rebase to r239765

Bug: 20140355: This rebase pulls the upstream fix for the spurious
warnings mentioned in the bug.

Change-Id: I7fd24253c50f4d48d900875dcf43ce3f1721a3da
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
0c7f116bb6950ef819323d855415b2f2b0aad987 06-May-2015 Pirama Arumuga Nainar <pirama@google.com> Update aosp/master LLVM for rebase to r235153

Change-Id: I9bf53792f9fc30570e81a8d80d296c681d005ea7
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
4c5e43da7792f75567b693105cc53e3f1992ad98 08-Apr-2015 Pirama Arumuga Nainar <pirama@google.com> Update aosp/master llvm for rebase to r233350

Change-Id: I07d935f8793ee8ec6b7da003f6483046594bca49
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
ebe69fe11e48d322045d5949c83283927a0d790b 23-Mar-2015 Stephen Hines <srhines@google.com> Update aosp/master LLVM for rebase to r230699.

Change-Id: I2b5be30509658cb8266be782de0ab24f9099f9b9
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
37ed9c199ca639565f6ce88105f9e39e898d82d0 01-Dec-2014 Stephen Hines <srhines@google.com> Update aosp/master LLVM for rebase to r222494.

Change-Id: Ic787f5e0124df789bd26f3f24680f45e678eef2d
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
633f98bdfa266871dcd17ab27af1594c6cc31d9e 03-Nov-2013 Elena Demikhovsky <elena.demikhovsky@intel.com> AVX-512: added VPCONFLICT instruction and intrinsics,
added EVEX_KZ to tablegen


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193959 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
279d28265dccc2a7c56f9ea04917c87dc50c1578 03-Oct-2013 Craig Topper <craig.topper@gmail.com> Add XOP disassembler support. Fixes PR13933.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191874 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
39004b537beb1acc26675c8943c2cce4ca8a0499 30-Sep-2013 Craig Topper <craig.topper@gmail.com> Filter out repeated sections from the X86 disassembler modRMTable. Saves about ~43K from a released build. Unfortunately the disassembler tables are still upwards of 800K.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191652 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
92b45819531966f2d1365ab3564342a561f3b949 30-Sep-2013 Craig Topper <craig.topper@gmail.com> Various x86 disassembler fixes.

Add VEX_LIG to scalar FMA4 instructions.
Use VEX_LIG in some of the inheriting checks in disassembler table generator.
Make use of VEX_L_W, VEX_L_W_XS, VEX_L_W_XD contexts.
Don't let VEX_L_W, VEX_L_W_XS, VEX_L_W_XD, VEX_L_W_OPSIZE inherit from their non-L forms unless VEX_LIG is set.
Let VEX_L_W, VEX_L_W_XS, VEX_L_W_XD, VEX_L_W_OPSIZE inherit from all of their non-L or non-W cases.
Increase ranking on VEX_L_W, VEX_L_W_XS, VEX_L_W_XD, VEX_L_W_OPSIZE so they get chosen over non-L/non-W forms.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191649 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
c18f4efc5dd24adcc653806455fc7ae8508e9c66 28-Jul-2013 Elena Demikhovsky <elena.demikhovsky@intel.com> Added encoding prefixes for KNL instructions (EVEX).
Added 512-bit operands printing.
Added instruction formats for KNL instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187324 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
4ffd89fa4d2788611187d1a534d2ed46adf1702c 04-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Sort the #include lines for utils/...

I've tried to find main moudle headers where possible, but the TableGen
stuff may warrant someone else looking at it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169251 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
76b29b518dad5e719077a1066e242fa91f777a7c 13-Sep-2012 Craig Topper <craig.topper@gmail.com> Add a new compression type to ModRM table that detects when the memory modRM byte represent 8 instructions and the reg modRM byte represents up to 64 instructions. Reduces modRM table from 43k entreis to 25k entries. Based on a patch from Manman Ren.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163774 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
9e6dc8b9e70c98fc269303a5a94f0476942fb35a 11-Sep-2012 Craig Topper <craig.topper@gmail.com> Change unsigned to a uint16_t in static disassembler tables to reduce the table size.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@163594 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
5a2c607153993fb7f7e04f9482520b64dffe5757 01-Aug-2012 Craig Topper <craig.topper@gmail.com> Add more indirection to the disassembler tables to reduce amount of space used to store the operand types and encodings. Store only the unique combinations in a separate table and store indices in the instruction table. Saves about 32K of static data.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161101 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
19dbe2f5f0db6b236e76550912eff9cc2a77bca8 31-Jul-2012 Craig Topper <craig.topper@gmail.com> Use uint8_t to store the InstructionContext table. Saves 768 bytes of static data.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161034 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
de9e333e18bbae2a29043deeb8e522cc0fa09036 31-Jul-2012 Craig Topper <craig.topper@gmail.com> Tidy up. Move for loop index declarations into for statements. Use unsigned instead of uint16_t for loop indices. Use unsigned instead of uint32_t for arguments to raw_ostream.indent.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161033 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
e08789f5e21c575a3c8d9ee8fa8f3f30479ae326 31-Jul-2012 Craig Topper <craig.topper@gmail.com> Tidy up function argument formatting.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161032 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
9840009ff8a696ea4edeb4d9b015f2ce18242855 31-Jul-2012 Craig Topper <craig.topper@gmail.com> Remove trailing whitespace

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@161030 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
991271d9c454c9d599b63e4ebdd27b546e1782a1 04-Mar-2012 Craig Topper <craig.topper@gmail.com> Use uint8_t instead of enums to store values in X86 disassembler table. Shaves 150k off the size of X86DisassemblerDecoder.o

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151995 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
930a1ebd929aa0ab4c2610e7f7a721c18dcfe052 27-Feb-2012 Craig Topper <craig.topper@gmail.com> X86 disassembler support for jcxz, jecxz, and jrcxz. Fixes PR11643. Patch by Kay Tiong Khoo.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151510 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
b0934ab7d811e23bf530371976b8b35f3242169c 19-Feb-2012 Ahmed Charles <ace2001ac@gmail.com> Remove dead code. Improve llvm_unreachable text. Simplify some control flow.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150918 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
953362cdfbf1088153f65376c86d22ee0176bcdf 11-Feb-2012 Benjamin Kramer <benny.kra@googlemail.com> Reuse the enum names from X86Desc in the X86Disassembler.

This requires some gymnastics to make it available for C code. Remove the names
from the disassembler tables, making them relocation free.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150303 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
f41ab77847251f1ca88142b4e9cba597f9c094a8 09-Feb-2012 Craig Topper <craig.topper@gmail.com> More tweaks to get the size of the X86 disassembler tables down.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150167 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
ce8f4c58d8804ee2cfda7751cdc6520bc5f43dd7 09-Feb-2012 Craig Topper <craig.topper@gmail.com> Flatten some of the arrays in the X86 disassembler tables to reduce space needed to store pointers on 64-bit hosts and reduce relocations needed at startup. Part of PR11953.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@150161 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
fdebc38523b397743973ff6a2d2e93b112dd96e5 17-Jan-2012 David Blaikie <dblaikie@gmail.com> Remove unreachable code. (replace with llvm_unreachable to help GCC where necessary)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@148284 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
c8eb880a7fb0958a3a048a82c8558beec11f1209 07-Nov-2011 Craig Topper <craig.topper@gmail.com> More AVX2 instructions and their intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143895 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/utils/TableGen/X86DisassemblerTables.cpp
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