- 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
-
- Sep 02, 2011
-
-
Kevin Enderby authored
llvm-svn: 139014
-
- Aug 30, 2011
-
-
Craig Topper authored
Add vvvv support to disassembling of instructions with MRMDestMem and MRMDestReg form. Needed to support mem dest form of vmaskmovps/d. Fixes PR10807. llvm-svn: 138795
-
-
- Jul 30, 2011
-
-
David Greene authored
Remove const qualifiers from Init references, per Chris' request. llvm-svn: 136531
-
- Jul 29, 2011
-
-
David Greene authored
Make references to Inits const everywhere. This is the final step before making them unique. llvm-svn: 136485
-
- Jul 28, 2011
-
-
Kevin Enderby authored
llvm-mc gives an "invalid operand" error for instructions that take an unsigned immediate which have the high bit set such as: pblendw $0xc5, %xmm2, %xmm1 llvm-mc treats all x86 immediates as signed values and range checks them. A small number of x86 instructions use the imm8 field as a set of bits. This change only changes those instructions and where the high bit is not ignored. The others remain unchanged. llvm-svn: 136287
-
- Jul 16, 2011
-
-
Eli Friedman authored
Make the disassembler able to disassemble a bunch of instructions with names in the TableGen files containing "64" on x86-32. This includes a bunch of x87 instructions, like fld, and a bunch of SSSE3 instructions on MMX registers like pshufb. Part of PR8873. llvm-svn: 135337
-
- Jul 12, 2011
-
-
Eric Christopher authored
in multiple buildbots. llvm-svn: 134936
-
- Jul 11, 2011
-
-
David Greene authored
Manage Inits in a FoldingSet. This provides several benefits: - Memory for Inits is properly managed - Duplicate Inits are folded into Flyweights, saving memory - It enforces const-correctness, protecting against certain classes of bugs The above benefits allow Inits to be used in more contexts, which in turn provides more dynamism to TableGen. This enhanced capability will be used by the AVX code generator to a fold common patterns together. llvm-svn: 134907
-
- Apr 04, 2011
-
-
Joerg Sonnenberger authored
llvm-svn: 128826
-
- Mar 15, 2011
-
-
Sean Callanan authored
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
-
- Feb 22, 2011
-
-
Rafael Espindola authored
Patch by Jai Menon. llvm-svn: 126165
-
- Dec 13, 2010
-
-
Owen Anderson authored
In Thumb2, direct branches can be encoded as either a "short" conditional branch with a null predicate, or as a "long" direct branch. While the mnemonics are the same, they encode the branch offset differently, and the Darwin assembler appears to prefer the "long" form for direct branches. Thus, in the name of bitwise equivalence, provide encoding and fixup support for it. llvm-svn: 121710
-
- Nov 01, 2010
-
-
Chris Lattner authored
CodeGenInstruction into its own helper class. No functionality change. llvm-svn: 117893
-
- Oct 27, 2010
-
-
Kevin Enderby authored
llvm-svn: 117485
-
- Oct 05, 2010
-
-
Sean Callanan authored
instruction forms. Now the ENTER instruction disassembles correctly. llvm-svn: 115573
-
- Oct 01, 2010
-
-
Dale Johannesen authored
The x86_mmx type is used for MMX intrinsics, parameters and return values where these use MMX registers, and is also supported in load, store, and bitcast. Only the above operations generate MMX instructions, and optimizations do not operate on or produce MMX intrinsics. MMX-sized vectors <2 x i32> etc. are lowered to XMM or split into smaller pieces. Optimizations may occur on these forms and the result casted back to x86_mmx, provided the result feeds into a previous existing x86_mmx operation. The point of all this is prevent optimizations from introducing MMX operations, which is unsafe due to the EMMS problem. llvm-svn: 115243
-
- Sep 29, 2010
-
-
Chris Lattner authored
operands. With this done, we can remove the _Int suffixes from the round instructions without the disassembler blowing up. This allows the assembler to support them, implementing rdar://8456376 - llvm-mc rejects 'roundss' llvm-svn: 115019
-
- Sep 07, 2010
-
-
Dale Johannesen authored
Enable palignr intrinsic. These may need adjustment for a new VT in due course. llvm-svn: 113233
-
- Jul 12, 2010
-
-
Duncan Sands authored
llvm-svn: 108130
-
- Jul 08, 2010
-
-
Chris Lattner authored
in the integrated assembler. Still some discussion to be done. llvm-svn: 107825
-
- Jun 12, 2010
-
-
Bruno Cardoso Lopes authored
Introduce the VEX_X field llvm-svn: 105859
-
- Jun 09, 2010
-
-
Bruno Cardoso Lopes authored
immediates to avoid breaking the build. llvm-svn: 105652
-
- Jun 05, 2010
-
-
Chris Lattner authored
In file included from X86InstrInfo.cpp:16: X86GenInstrInfo.inc:2789: error: integer constant is too large for 'long' type X86GenInstrInfo.inc:2790: error: integer constant is too large for 'long' type X86GenInstrInfo.inc:2792: error: integer constant is too large for 'long' type X86GenInstrInfo.inc:2793: error: integer constant is too large for 'long' type X86GenInstrInfo.inc:2808: error: integer constant is too large for 'long' type X86GenInstrInfo.inc:2809: error: integer constant is too large for 'long' type X86GenInstrInfo.inc:2816: error: integer constant is too large for 'long' type X86GenInstrInfo.inc:2817: error: integer constant is too large for 'long' type llvm-svn: 105524
-
Bruno Cardoso Lopes authored
yet, only assembly encoding support. llvm-svn: 105521
-
- May 20, 2010
-
-
Daniel Dunbar authored
it. llvm-svn: 104270
-
- May 06, 2010
-
-
Sean Callanan authored
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
-
- Apr 07, 2010
-
-
Sean Callanan authored
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
-
- Mar 14, 2010
-
-
Evan Cheng authored
llvm-svn: 98468
-
- Feb 24, 2010
-
-
Sean Callanan authored
disassembler never recognizes InitReg instructions. llvm-svn: 97017
-
- Feb 13, 2010
-
-
Sean Callanan authored
tables. llvm-svn: 96073
-
Sean Callanan authored
llvm-svn: 96065
-
Chris Lattner authored
fix swapgs to be spelled right. llvm-svn: 96058
-
Chris Lattner authored
encoder and decoder by using new MRM_ forms. llvm-svn: 96048
-
Sean Callanan authored
whose opcodes extend into the ModR/M field using the Form field of the instruction rather than by special casing each instruction. Commented out the special casing of VMCALL, which is the first instruction to use this special form. While I was in the neighborhood, added a few comments for people modifying the Intel disassembler. llvm-svn: 96043
-