| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Don't mix declarations and code. | Benjamin Kramer | 2012-02-11 | 1 | -7/+5 |
| | | | | | llvm-svn: 150305 | ||||
| * | Reuse the enum names from X86Desc in the X86Disassembler. | Benjamin Kramer | 2012-02-11 | 1 | -4/+9 |
| | | | | | | | | This requires some gymnastics to make it available for C code. Remove the names from the disassembler tables, making them relocation free. llvm-svn: 150303 | ||||
| * | More tweaks to get the size of the X86 disassembler tables down. | Craig Topper | 2012-02-09 | 1 | -0/+4 |
| | | | | | llvm-svn: 150167 | ||||
| * | Flatten some of the arrays in the X86 disassembler tables to reduce space ↵ | Craig Topper | 2012-02-09 | 1 | -5/+4 |
| | | | | | | | needed to store pointers on 64-bit hosts and reduce relocations needed at startup. Part of PR11953. llvm-svn: 150161 | ||||
| * | Persuade GCC that there is nothing worth warning about here (there isn't). | Duncan Sands | 2012-02-05 | 1 | -1/+1 |
| | | | | | llvm-svn: 149834 | ||||
| * | Remove unnecessary default cases in switches that cover all enum values. | David Blaikie | 2012-01-10 | 1 | -3/+0 |
| | | | | | llvm-svn: 147855 | ||||
| * | Silence warnings of a mysterious compiler that still defaults to C89. | Benjamin Kramer | 2012-01-04 | 1 | -2/+2 |
| | | | | | llvm-svn: 147553 | ||||
| * | X86Disassembler: Fix undefined behavior found by GCC 4.6 | Benjamin Kramer | 2012-01-01 | 1 | -3/+5 |
| | | | | | llvm-svn: 147404 | ||||
| * | Add disassembler support for VPERMIL2PD and VPERMIL2PS. | Craig Topper | 2011-12-30 | 1 | -0/+10 |
| | | | | | llvm-svn: 147368 | ||||
| * | More AVX2 instructions and their intrinsics. | Craig Topper | 2011-11-06 | 1 | -4/+7 |
| | | | | | llvm-svn: 143895 | ||||
| * | Fix disassembling of popcntw. Also remove some code that says it accounts ↵ | Craig Topper | 2011-10-11 | 1 | -68/+0 |
| | | | | | | | for 64BIT_REXW_XD not existing, but it does exist. llvm-svn: 141642 | ||||
| * | Change C++ style comments to C style comments in X86 disassembler. Patch ↵ | Craig Topper | 2011-10-05 | 1 | -2/+2 |
| | | | | | | | from Joe Abbey. llvm-svn: 141162 | ||||
| * | Add support in the disassembler for ignoring the L-bit on certain VEX ↵ | Craig Topper | 2011-10-04 | 1 | -6/+36 |
| | | | | | | | instructions. Mark instructions that have this behavior. Fixes PR10676. llvm-svn: 141065 | ||||
| * | Treat VEX.vvvv as a 3-bit field outside of 64-bit mode. Prevents access to ↵ | Craig Topper | 2011-10-03 | 1 | -0/+3 |
| | | | | | | | registers xmm8-xmm15 outside 64-bit mode. llvm-svn: 140997 | ||||
| * | Fix VEX disassembling to ignore REX.RXBW bits in 32-bit mode. | Craig Topper | 2011-10-03 | 1 | -9/+13 |
| | | | | | llvm-svn: 140993 | ||||
| * | Special case disassembler handling of REX.B prefix on NOP instruction to ↵ | Craig Topper | 2011-10-02 | 1 | -2/+39 |
| | | | | | | | decode as XCHG R8D, EAX instead. Fixes PR10344. llvm-svn: 140971 | ||||
| * | Fix VEX decoding in i386 mode. Fixes PR11008. | Craig Topper | 2011-09-26 | 1 | -2/+2 |
| | | | | | llvm-svn: 140515 | ||||
| * | Only disassembler instructions with vvvv != 1111 if the instruction actually ↵ | Craig Topper | 2011-09-13 | 1 | -4/+13 |
| | | | | | | | uses the vvvv field to encode an operand. Fixes PR10851. llvm-svn: 139591 | ||||
| * | Add support for the VIA PadLock instructions. | Joerg Sonnenberger | 2011-04-04 | 1 | -0/+30 |
| | | | | | llvm-svn: 128826 | ||||
| * | X86 table-generator and disassembler support for the AVX | Sean Callanan | 2011-03-15 | 1 | -27/+222 |
| | | | | | | | | | | 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. llvm-svn: 127644 | ||||
| * | Silence enum conversion warnings. | Benjamin Kramer | 2011-02-27 | 1 | -2/+2 |
| | | | | | llvm-svn: 126578 | ||||
| * | Fixed a bug in the disassembler where the mandatory 0x66 | Sean Callanan | 2011-02-02 | 1 | -0/+1 |
| | | | | | | | | | prefix would be misinterpreted in some cases on 32-bit x86 platforms. Thanks to Olivier Meurant for identifying the bug. llvm-svn: 124709 | ||||
| * | Null initialize a few variables flagged by | Ted Kremenek | 2011-01-23 | 1 | -1/+1 |
| | | | | | | | | | | | clang's -Wuninitialized-experimental warning. While these don't look like real bugs, clang's -Wuninitialized-experimental analysis is stricter than GCC's, and these fixes have the benefit of being general nice cleanups. llvm-svn: 124073 | ||||
| * | Correctly disassemble truncated asm. | Rafael Espindola | 2011-01-06 | 1 | -2/+4 |
| | | | | | | | Patch by Richard Simth. llvm-svn: 122962 | ||||
| * | Make the disassembler tables const so they end up in read-only memory. | Benjamin Kramer | 2010-10-23 | 1 | -7/+7 |
| | | | | | llvm-svn: 117206 | ||||
| * | Remove a define which is never referenced. | Chandler Carruth | 2010-10-23 | 1 | -6/+0 |
| | | | | | llvm-svn: 117202 | ||||
| * | Fixed handling of immediate operand sizes, which | Sean Callanan | 2010-10-22 | 1 | -1/+1 |
| | | | | | | | | | | weren't properly reflecting the OperandSize attribute of the instruction leading to improper decoding of certain instructions with the 66H prefix. Also added a test case for this. llvm-svn: 117084 | ||||
| * | Eliminated the classification of control registers into %ecr_ | Sean Callanan | 2010-05-06 | 1 | -6/+2 |
| | | | | | | | | | | and %rcr_, leaving just %cr_ which is what people expect. Updated the disassembler to support this unified register set. Added a testcase to verify that the registers continue to be decoded correctly. llvm-svn: 103196 | ||||
| * | add a missing break back, patch by Nico Schmidt! | Chris Lattner | 2010-04-16 | 1 | -0/+1 |
| | | | | | llvm-svn: 101538 | ||||
| * | Fixed a bug where the disassembler would allow an immediate | Sean Callanan | 2010-04-07 | 1 | -0/+3 |
| | | | | | | | | | | argument that had to be between 0 and 7 to have any value, firing an assert later in the AsmPrinter. Now, the disassembler rejects instructions with out-of-range values for that immediate. llvm-svn: 100694 | ||||
| * | Fixes to the X86 disassembler. The disassembler will now | Sean Callanan | 2010-04-02 | 1 | -73/+96 |
| | | | | | | | | return an error status in all failure cases, printing messages to debugs() only when debugging is enabled. llvm-svn: 100229 | ||||
| * | Try to fix a valgrind error on 32 bit platforms: use %zu instead of %llu to ↵ | Benjamin Kramer | 2010-03-18 | 1 | -2/+2 |
| | | | | | | | format a size_t. llvm-svn: 98819 | ||||
| * | Removed the "inline" keyword from the disassembler decoder, | Sean Callanan | 2009-12-22 | 1 | -30/+30 |
| | | | | | | | because the Visual C++ build does not build .c files as C99 llvm-svn: 91935 | ||||
| * | Changed REG_* to MODRM_REG_* to avoid conflicts | Sean Callanan | 2009-12-22 | 1 | -15/+19 |
| | | | | | | | with symbols in AuroraUX's global namespace. llvm-svn: 91879 | ||||
| * | Fix some may-be-uninitialized var warnings. | Daniel Dunbar | 2009-12-22 | 1 | -3/+3 |
| | | | | | llvm-svn: 91878 | ||||
| * | Fixed library dependencies between the X86 disassembler and | Sean Callanan | 2009-12-22 | 1 | -6/+0 |
| | | | | | | | X86 codegen that were causing circular symbol dependencies. llvm-svn: 91871 | ||||
| * | #if 0 out X86 disassembler for now, it is breaking the build in multiple places. | Daniel Dunbar | 2009-12-19 | 1 | -0/+6 |
| | | | | | llvm-svn: 91778 | ||||
| * | rename dprintf to dbgpritnf, in order to fix build with glibc (which already ↵ | Nuno Lopes | 2009-12-19 | 1 | -29/+29 |
| | | | | | | | defines dprintf in stdio.h llvm-svn: 91775 | ||||
| * | Use memset instead of bzero, its more portable. | Daniel Dunbar | 2009-12-19 | 1 | -2/+2 |
| | | | | | llvm-svn: 91754 | ||||
| * | Table-driven disassembler for the X86 architecture (16-, 32-, and 64-bit | Sean Callanan | 2009-12-19 | 1 | -0/+1361 |
| 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. llvm-svn: 91749 | |||||

