- Dec 30, 2011
-
-
Craig Topper authored
Separate the concept of having memory access in operand 4 from the concept of having the W bit set for XOP instructons. Removes ORing W-bits in the encoder and will similarly simplify the disassembler implementation. llvm-svn: 147366
-
- Dec 29, 2011
-
-
Craig Topper authored
llvm-svn: 147353
-
Craig Topper authored
Mark non-VEX forms of PCLMUL instructions as requiring SSE2 to be enabled along with CLMUL. That's required for the XMM registers to be valid for integer data. Doesn't change any behavior since the CLMUL instructions don't have patterns yet. llvm-svn: 147345
-
Craig Topper authored
Mark non-VEX forms of AES instructions as requiring SSE2 to be enabled along with AES. Since that's required for the XMM registers to be valid for integer data. Doesn't change any behavior though since you can't use an intrinsic with an illegal type anyway. Just makes it consistent with the VEX forms. llvm-svn: 147344
-
- Dec 16, 2011
-
-
Eli Friedman authored
Make sure we correctly note the existence of an i8 immediate for vblendvps and friends, so we compute fixups correctly. PR11586. llvm-svn: 146709
-
- Dec 12, 2011
-
-
Jan Sjödin authored
llvm-svn: 146407
-
Jan Sjödin authored
llvm-svn: 146397
-
- Dec 09, 2011
-
-
Evan Cheng authored
llvm-svn: 146246
-
- Dec 08, 2011
-
-
Evan Cheng authored
Many of the SSE patterns should not be selected when AVX is available. This led to the following code in X86Subtarget.cpp if (HasAVX) X86SSELevel = NoMMXSSE; This is so patterns that are predicated on hasSSE3, etc. would not be selected when avx is available. Instead, the AVX variant is selected. However, this breaks instructions which do not have AVX variants. The right way to fix this is for the SSE but not-AVX patterns to predicate on something like hasSSE3() && !hasAVX(). Then we can take out the hack in X86Subtarget.cpp. Patterns which do not have AVX variants do not need to change. However, we need to audit all the patterns before we make the change. This patch is workaround that fixes one specific case, the prefetch instructions. rdar://10538297 llvm-svn: 146163
-
- Nov 25, 2011
-
-
Bruno Cardoso Lopes authored
tablegen patterns for scalar FMA4 operations and intrinsic. Also add tests for vfmaddsd. Patch by Jan Sjodin llvm-svn: 145133
-
- Nov 07, 2011
-
-
Craig Topper authored
llvm-svn: 143895
-
- Nov 06, 2011
-
-
Craig Topper authored
llvm-svn: 143861
-
- Oct 23, 2011
-
-
Craig Topper authored
llvm-svn: 142741
-
- Oct 16, 2011
-
-
Craig Topper authored
llvm-svn: 142141
-
Craig Topper authored
llvm-svn: 142122
-
- 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
-
- Jul 26, 2011
-
-
Bruno Cardoso Lopes authored
shuffle before inserting on a 256-bit vector. - Add AVX versions of movd/movq instructions - Introduce a few COPY patterns to match insert_subvector instructions. This turns a trivial insert_subvector instruction into a register copy, coalescing the xmm into a ymm and avoid emiting on more instruction. llvm-svn: 136002
-
- Jul 05, 2011
-
-
Eli Friedman authored
Add assembler/disassembler support for non-AVX pclmulqdq. While I'm here, use proper aliases for the pclmullqlqdq and friends. PR10269. llvm-svn: 134424
-
- Apr 04, 2011
-
-
Joerg Sonnenberger authored
llvm-svn: 128826
-
Joerg Sonnenberger authored
Define most shift masks incrementally to reduce the redundant hard-coding. Introduce new shift for the VEX flags to replace the magic constant 32 in various places. llvm-svn: 128822
-
- Mar 15, 2011
-
-
Sean Callanan authored
in the instruction tables and fixed a few bugs that were causing decode conflicts. Rudimentary tests are coming up in the next patch. llvm-svn: 127646
-
- Feb 22, 2011
-
-
Rafael Espindola authored
Patch by Jai Menon. llvm-svn: 126165
-
- Nov 30, 2010
-
-
Eric Christopher authored
llvm-svn: 120416
-
Eric Christopher authored
llvm-svn: 120415
-
Eric Christopher authored
it. llvm-svn: 120412
-
- Oct 31, 2010
-
-
Chris Lattner authored
Use this to make the X86 and ARM targets set isCodeGenOnly=1 automatically for their instructions that have Format=Pseudo, resolving a hack in tblgen. llvm-svn: 117862
-
- Oct 03, 2010
-
-
Chris Lattner authored
else in X86), and add support for pavgusb. This is apparently the only instruction (other than movsx) that is preventing ffmpeg from building with clang. If someone else is interested in banging out the rest of the 3DNow! instructions, it should be quite easy now. llvm-svn: 115466
-
- Sep 17, 2010
-
-
- Aug 26, 2010
-
-
Bob Wilson authored
llvm-svn: 112202
-
- Aug 19, 2010
-
-
Chris Lattner authored
call and jumps. llvm-svn: 111496
-
Chris Lattner authored
llvm-svn: 111494
-
- Jul 23, 2010
-
-
Bruno Cardoso Lopes authored
llvm-svn: 109248
-
Bruno Cardoso Lopes authored
Add complete assembler support for FMA3 instructions, with descriptions and encodings taken from the AVX manual llvm-svn: 109204
-
- Jul 20, 2010
-
-
Bruno Cardoso Lopes authored
llvm-svn: 108892
-
Bruno Cardoso Lopes authored
llvm-svn: 108788
-
- Jul 13, 2010
-
-
Bruno Cardoso Lopes authored
Add the x86 VEX_L form to handle special cases where VEX_L must be set. llvm-svn: 108274
-
Bruno Cardoso Lopes authored
llvm-svn: 108222
-
- Jul 08, 2010
-
-
Chris Lattner authored
in the integrated assembler. Still some discussion to be done. llvm-svn: 107825
-
- Jul 07, 2010
-
-
Bruno Cardoso Lopes authored
Update VEX encoding to support those new instructions llvm-svn: 107715
-
- Jul 01, 2010
-
-
Bruno Cardoso Lopes authored
- Add AVX SSE2 Move doubleword and quadword instructions. - Add encode bits for VEX_W - All 128-bit SSE 1 & SSE2 instructions that are described in the .td file now have a AVX encoded form already working. llvm-svn: 107365
-