- Jun 29, 2012
-
-
Manman Ren authored
Corrected type for index of llvm.x86.avx2.gather.d.pd.256 from 256-bit to 128-bit. Corrected types for src|dst|mask of llvm.x86.avx2.gather.q.ps.256 from 256-bit to 128-bit. Support the following intrinsics: llvm.x86.avx2.gather.d.q, llvm.x86.avx2.gather.q.q llvm.x86.avx2.gather.d.q.256, llvm.x86.avx2.gather.q.q.256 llvm.x86.avx2.gather.d.d, llvm.x86.avx2.gather.q.d llvm.x86.avx2.gather.d.d.256, llvm.x86.avx2.gather.q.d.256 llvm-svn: 159402
-
- 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
-
Craig Topper authored
Remove some duplicate instructions that exist only to given different mnemonics for the assembler. Use InstAlias instead. llvm-svn: 159184
-
- Jun 25, 2012
-
-
Craig Topper authored
Add SSE2 predicate to CVTPS2PD instructions. Doesn't matter much because there are no patterns in the instruction. llvm-svn: 159127
-
Craig Topper authored
Remove codegen only instruction in favor of one that has the same definition. Make some pattern operands more explicit about types. llvm-svn: 159126
-
- Jun 24, 2012
-
-
Craig Topper authored
llvm-svn: 159109
-
Craig Topper authored
llvm-svn: 159108
-
Craig Topper authored
llvm-svn: 159107
-
Craig Topper authored
llvm-svn: 159106
-
Craig Topper authored
llvm-svn: 159105
-
Craig Topper authored
llvm-svn: 159090
-
- Jun 23, 2012
-
-
Craig Topper authored
Make CVTDQ2PS instruction use SSE2 predicate instead of SSE1. No functional change because there are no patterns in the instructions. Also fix a typo in a comment. llvm-svn: 159087
-
Craig Topper authored
Move CVTPD2DQ to use SSE2 predicate instead of SSE3. Move DQ2PD and PD2DQ to the SSE2 section of the file. llvm-svn: 159086
-
Craig Topper authored
llvm-svn: 159075
-
Craig Topper authored
Remove intrinsic specific instructions for 128-bit (V)CVTDQ2PD. Replace with intrinsic patterns. Mem forms omitted because the load size is only 64-bits. llvm-svn: 159070
-
- Jun 20, 2012
-
-
Craig Topper authored
llvm-svn: 158797
-
Craig Topper authored
llvm-svn: 158795
-
- Jun 16, 2012
-
-
Kay Tiong Khoo authored
llvm-svn: 158603
-
- Jun 06, 2012
-
-
Craig Topper authored
llvm-svn: 158049
-
- May 31, 2012
-
-
Benjamin Kramer authored
It was renamed in gcc/gas a while ago and causes all kinds of confusion because it was named differently in llvm and clang. llvm-svn: 157745
-
Craig Topper authored
llvm-svn: 157731
-
- 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
-
- May 08, 2012
-
-
Craig Topper authored
llvm-svn: 156375
-
- May 07, 2012
-
-
Craig Topper authored
llvm-svn: 156287
-
Craig Topper authored
llvm-svn: 156281
-
- Apr 24, 2012
-
-
Nadav Rotem authored
Remove the v2f64 patterns because it does not match any vbroadcast instruction. llvm-svn: 155461
-
Nadav Rotem authored
using the pattern (vbroadcast (i32load src)). In some cases, after we generate this pattern new users are added to the load node, which prevent the selection of the blend pattern. This commit provides fallback patterns which perform in-vector broadcast (using in-vector vbroadcast in AVX2 and pshufd on AVX1). llvm-svn: 155437
-
- Apr 22, 2012
-
-
Elena Demikhovsky authored
llvm-svn: 155309
-
- Apr 16, 2012
-
-
Craig Topper authored
llvm-svn: 154801
-
Craig Topper authored
Flip the arguments when converting vpermd/vpermps intrinsics into instructions. The intrinsic has the mask as the last operand, but the instruction has it as the second. llvm-svn: 154797
-
Craig Topper authored
llvm-svn: 154782
-
Craig Topper authored
llvm-svn: 154778
-
- Apr 15, 2012
-
-
Nadav Rotem authored
Use non-vex instructions for SSE4. llvm-svn: 154770
-
Elena Demikhovsky authored
llvm-svn: 154761
-
- Apr 12, 2012
-
-
Craig Topper authored
llvm-svn: 154580
-
- Apr 11, 2012
-
-
Nadav Rotem authored
Original message: Modify the code that lowers shuffles to blends from using blendvXX to vblendXX. blendV uses a register for the selection while Vblend uses an immediate. On sandybridge they still have the same latency and execute on the same execution ports. llvm-svn: 154483
-
- Apr 10, 2012
-
-
Eric Christopher authored
llvm-svn: 154425
-
Nadav Rotem authored
blendv uses a register for the selection while vblend uses an immediate. On sandybridge they still have the same latency and execute on the same execution ports. llvm-svn: 154396
-
- Apr 08, 2012
-
-
Craig Topper authored
Turn avx2 vinserti128 intrinsic calls into INSERT_SUBVECTOR DAG nodes and remove patterns for selecting the intrinsic. Similar was already done for avx1. llvm-svn: 154272
-
- Apr 07, 2012
-
-
Craig Topper authored
Move vinsertf128 patterns near the instruction definitions. Add AddedComplexity to AVX2 vextracti128 patterns to give them priority over the integer versions of vextractf128 patterns. llvm-svn: 154268
-