- Sep 19, 2012
-
-
Craig Topper authored
Remove code for setting the VEX L-bit as a function of operand size from the code emitters and the disassembler table builder. Fix a couple instructions that were still missing VEX_L. llvm-svn: 164204
-
- Aug 31, 2012
-
-
Craig Topper authored
llvm-svn: 162999
-
- Jul 30, 2012
-
-
Craig Topper authored
Mark MOVZX32_NOREX as isCodeGenOnly and neverHasSideEffects. The isCodeGenOnly change allows special detection of _NOREX instructions to be removed from tablegen disassembler code. llvm-svn: 160951
-
Craig Topper authored
llvm-svn: 160950
-
Craig Topper authored
Remove check for sub class of X86Inst from filter function since caller guaranteed it. Replace another sub class check with ShouldBeEmitted flag since it was factored in there already. llvm-svn: 160949
-
Craig Topper authored
llvm-svn: 160948
-
Craig Topper authored
Remove check for f256mem from has256BitOperands as nothing depended on it and it isn't the only 256-bit memory type anyway. llvm-svn: 160946
-
Craig Topper authored
llvm-svn: 160945
-
- Jul 26, 2012
-
-
Craig Topper authored
llvm-svn: 160775
-
- Jul 19, 2012
-
-
Richard Trieu authored
is one more that MRM_DF which is 55. Previously, it held value 45, the same as MRM_D0. llvm-svn: 160465
-
- Jul 18, 2012
-
-
Craig Topper authored
Make x86 asm parser to check for xmm vs ymm for index register in gather instructions. Also fix Intel syntax for gather instructions to use 'DWORD PTR' or 'QWORD PTR' to match gas. llvm-svn: 160420
-
- Jul 12, 2012
-
-
Craig Topper authored
llvm-svn: 160110
-
- Jun 26, 2012
-
-
Manman Ren authored
Support the following intrinsics: llvm.x86.avx2.gather.d.pd, llvm.x86.avx2.gather.q.pd llvm.x86.avx2.gather.d.pd.256, llvm.x86.avx2.gather.q.pd.256 llvm.x86.avx2.gather.d.ps, llvm.x86.avx2.gather.q.ps llvm.x86.avx2.gather.d.ps.256, llvm.x86.avx2.gather.q.ps.256 Modified Disassembler to handle VSIB addressing mode. llvm-svn: 159221
-
- May 29, 2012
-
-
Benjamin Kramer authored
Add intrinsics, code gen, assembler and disassembler support for the SSE4a extrq and insertq instructions. This required light surgery on the assembler and disassembler because the instructions use an uncommon encoding. They are the only two instructions in x86 that use register operands and two immediates. llvm-svn: 157634
-
- Apr 03, 2012
-
-
Craig Topper authored
llvm-svn: 153935
-
- Mar 09, 2012
-
-
Kevin Enderby authored
prefix. Added a FIXME to remind us this still does not work when it is not the first prefix. llvm-svn: 152414
-
- Feb 27, 2012
-
-
Craig Topper authored
llvm-svn: 151510
-
- Feb 19, 2012
-
-
Craig Topper authored
llvm-svn: 150899
-
- Feb 18, 2012
-
-
Craig Topper authored
Add X86 assembler and disassembler support for AMD SVM instructions. Original patch by Kay Tiong Khoo. Few tweaks by me for code density and to reduce replication. llvm-svn: 150873
-
- Dec 30, 2011
-
-
Craig Topper authored
llvm-svn: 147368
-
Craig Topper authored
llvm-svn: 147367
-
- Nov 19, 2011
-
-
Craig Topper authored
llvm-svn: 144986
-
- Nov 07, 2011
-
-
Craig Topper authored
llvm-svn: 143895
-
- Oct 23, 2011
-
-
Craig Topper authored
llvm-svn: 142741
-
- Oct 16, 2011
-
-
Craig Topper authored
llvm-svn: 142141
-
Craig Topper authored
llvm-svn: 142122
-
Craig Topper authored
Add X86 INVPCID instruction. Add 32/64-bit predicates to INVEPT, INVVPID, VMREAD, and VMWRITE to remove hack from X86RecognizableInstr. llvm-svn: 142117
-
Craig Topper authored
Add X86 BEXTR instruction. This instruction uses VEX.vvvv to encode Operand 3 instead of Operand 2 so needs special casing in the disassembler and code emitter. Ultimately, should pass this information from tablegen llvm-svn: 142105
-
- Oct 15, 2011
-
-
Craig Topper authored
Add support for X86 blsr, blsmsk, and blsi instructions. Required extra work because these are the first VEX encoded instructions to use the reg field as an opcode extension. llvm-svn: 142082
-
- Oct 14, 2011
-
-
Craig Topper authored
llvm-svn: 141947
-
- Oct 11, 2011
-
-
Craig Topper authored
Fix disassembling of popcntw. Also remove some code that says it accounts for 64BIT_REXW_XD not existing, but it does exist. llvm-svn: 141642
-
- Oct 06, 2011
-
-
Craig Topper authored
Fix assembling of xchg %eax, %eax to not use the NOP encoding of 0x90. This was done by creating a new register group that excludes AX registers. Fixes PR10345. Also added aliases for flipping the order of the operands of xchg <reg>, %eax. llvm-svn: 141274
-
- Oct 04, 2011
-
-
Craig Topper authored
Add support in the disassembler for ignoring the L-bit on certain VEX instructions. Mark instructions that have this behavior. Fixes PR10676. llvm-svn: 141065
-
- Oct 01, 2011
-
-
Craig Topper authored
llvm-svn: 140955
-
Craig Topper authored
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. llvm-svn: 140954
-
- Sep 23, 2011
-
-
Craig Topper authored
llvm-svn: 140370
-
- Sep 14, 2011
-
-
Craig Topper authored
Fix mem type for VEX.128 form of VROUNDP*. Remove filter preventing VROUND from being recognized by disassembler. llvm-svn: 139691
-
- Sep 13, 2011
-
-
Craig Topper authored
Remove filter that was preventing MOVDQU/MOVDQA and their VEX forms from being disassembled. Also added encodings for the other register/register form of these instructions. Fixes PR10848. llvm-svn: 139588
-
- Sep 11, 2011
-
-
Craig Topper authored
llvm-svn: 139485
-
Craig Topper authored
Fix disassembling of PAUSE instruction. Fixes PR10900. Also fixed NOP disassembling to ignore OpSize and REX.W. llvm-svn: 139484
-