| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
build bots.
llvm-svn: 191880
|
| |
|
|
| |
llvm-svn: 191874
|
| |
|
|
| |
llvm-svn: 191732
|
| |
|
|
| |
llvm-svn: 191731
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 191649
|
| |
|
|
| |
llvm-svn: 189699
|
| |
|
|
|
|
| |
LLVM to identify a 1-byte instruction, but then upon querying it for that 1-byte instruction would cause an undefined opcode.
llvm-svn: 189698
|
| |
|
|
|
|
|
| |
Added 512-bit operands printing.
Added instruction formats for KNL instructions.
llvm-svn: 187324
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a bit tricky as the xacquire and xrelease hints use the same bytes,
0xf2 and 0xf3, as the repne and rep prefixes.
Fortunately llvm has different llvm MCInst Opcode enums for rep/xrelease
and repne/xacquire. So to make this work a boolean was added the
InternalInstruction struct as part of the Prefix state which is set with the
added logic in readPrefixes() when decoding an instruction to determine
if these prefix bytes are to be disassembled as xacquire or xrelease. Then
we let the matcher pick the normal prefix instructionID and we change the
Opcode after that when it is set into the MCInst being created.
rdar://11019859
llvm-svn: 184490
|
| |
|
|
| |
llvm-svn: 177910
|
| |
|
|
| |
llvm-svn: 177909
|
| |
|
|
|
|
| |
This fixes Apple bug: 13493622
llvm-svn: 177887
|
| |
|
|
| |
llvm-svn: 166945
|
| |
|
|
|
|
| |
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.
llvm-svn: 163774
|
| |
|
|
|
|
| |
by casting. Found with gcc48.
llvm-svn: 163247
|
| |
|
|
|
|
| |
Reviewed offline by chandlerc.
llvm-svn: 162623
|
| |
|
|
|
|
| |
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.
llvm-svn: 161101
|
| |
|
|
| |
llvm-svn: 153935
|
| |
|
|
| |
llvm-svn: 152495
|
| |
|
|
|
|
|
| |
prefix. Added a FIXME to remind us this still does not work when it is not the
first prefix.
llvm-svn: 152414
|
| |
|
|
|
|
| |
Kay Tiong Khoo.
llvm-svn: 151510
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
rdar://10873652
As part of this I updated the llvm-mc disassembler C API to always call the
SymbolLookUp call back even if there is no getOpInfo call back. If there is a
getOpInfo call back that is tried first and then if that gets no information
then the SymbolLookUp is called. I also made the code more robust by
memset(3)'ing to zero the LLVMOpInfo1 struct before then setting
SymbolicOp.Value before for the call to getOpInfo. And also don't use any
values from the LLVMOpInfo1 struct if getOpInfo returns 0. And also don't
use any of the ReferenceType or ReferenceName values from SymbolLookUp if it
returns NULL. rdar://10873563 and rdar://10873683
For the X86 target also fixed bugs so the annotations get printed.
Also fixed a few places in the ARM target that was not producing symbolic
operands for some instructions. rdar://10878166
llvm-svn: 151267
|
| |
|
|
| |
llvm-svn: 150918
|
| |
|
|
|
|
| |
MSP430, PPC, PTX, Sparc, X86, XCore.
llvm-svn: 150878
|
| |
|
|
| |
llvm-svn: 150305
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 150167
|
| |
|
|
|
|
| |
needed to store pointers on 64-bit hosts and reduce relocations needed at startup. Part of PR11953.
llvm-svn: 150161
|
| |
|
|
| |
llvm-svn: 149834
|
| |
|
|
| |
llvm-svn: 147855
|
| |
|
|
| |
llvm-svn: 147553
|
| |
|
|
| |
llvm-svn: 147404
|
| |
|
|
| |
llvm-svn: 147368
|
| |
|
|
| |
llvm-svn: 143895
|
| |
|
|
|
|
| |
for 64BIT_REXW_XD not existing, but it does exist.
llvm-svn: 141642
|
| |
|
|
|
|
| |
from Joe Abbey.
llvm-svn: 141162
|
| |
|
|
|
|
| |
instructions. Mark instructions that have this behavior. Fixes PR10676.
llvm-svn: 141065
|
| |
|
|
|
|
| |
registers xmm8-xmm15 outside 64-bit mode.
llvm-svn: 140997
|
| |
|
|
| |
llvm-svn: 140993
|
| |
|
|
|
|
| |
decode as XCHG R8D, EAX instead. Fixes PR10344.
llvm-svn: 140971
|
| |
|
|
| |
llvm-svn: 140515
|
| |
|
|
|
|
| |
uses the vvvv field to encode an operand. Fixes PR10851.
llvm-svn: 139591
|
| |
|
|
| |
llvm-svn: 128826
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 126578
|
| |
|
|
|
|
|
|
| |
prefix would be misinterpreted in some cases on 32-bit
x86 platforms. Thanks to Olivier Meurant for identifying
the bug.
llvm-svn: 124709
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
Patch by Richard Simth.
llvm-svn: 122962
|
| |
|
|
| |
llvm-svn: 117206
|
| |
|
|
| |
llvm-svn: 117202
|