- Sep 10, 2012
-
-
Michael Liao authored
- Fix an remaining issue of PR11674 as well llvm-svn: 163528
-
- Aug 29, 2012
-
-
Craig Topper authored
llvm-svn: 162829
-
- Aug 19, 2012
-
-
Nadav Rotem authored
this allows for better code generation. Added a new DAGCombine transformation to convert FMAX and FMIN to FMANC and FMINC, which are commutative. For example: movaps %xmm0, %xmm1 movsd LC(%rip), %xmm0 minsd %xmm1, %xmm0 becomes: minsd LC(%rip), %xmm0 llvm-svn: 162187
-
- Aug 14, 2012
-
-
Michael Liao authored
- FP_EXTEND only support extending from vectors with matching elements. This results in the scalarization of extending to v2f64 from v2f32, which will be legalized to v4f32 not matching with v2f64. - add X86-specific VFPEXT supproting extending from v4f32 to v2f64. - add BUILD_VECTOR lowering helper to recover back the original extending from v4f32 to v2f64. - test case is enhanced to include different vector width. llvm-svn: 161894
-
- Aug 06, 2012
-
-
Craig Topper authored
Implement proper handling for pcmpistri/pcmpestri intrinsics. Requires custom handling in DAGISelToDAG due to limitations in TableGen's implicit def handling. Fixes PR11305. llvm-svn: 161318
-
- Aug 01, 2012
-
-
Elena Demikhovsky authored
llvm-svn: 161110
-
- Jul 19, 2012
-
-
Bill Wendling authored
llvm-svn: 160477
-
- Jun 09, 2012
-
-
Craig Topper authored
Use XOP vpcom intrinsics in patterns instead of a target specific SDNode type. Remove the custom lowering code that selected the SDNode type. llvm-svn: 158279
-
- Apr 22, 2012
-
-
Elena Demikhovsky authored
llvm-svn: 155309
-
- Apr 16, 2012
-
-
Craig Topper authored
Change type profile for vpermv back to using operand type for the mask argument to match intrinsic behavior. Add a bitcast to the lowering code to convert mask from v8i32 to v8f32 for vpermps. llvm-svn: 154798
-
Craig Topper authored
llvm-svn: 154782
-
Craig Topper authored
llvm-svn: 154781
-
- Apr 15, 2012
-
-
Elena Demikhovsky authored
llvm-svn: 154761
-
- 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
-
- Mar 09, 2012
-
-
Chad Rosier authored
Original commit message from r147481: DAGCombine for transforming 128->256 casts into a vmovaps, rather then a vxorps + vinsertf128 pair if the original vector came from a load. Fix: Unaligned loads need to generate a vmovups. rdar://10974078 llvm-svn: 152366
-
- Feb 19, 2012
-
-
Jia Liu authored
llvm-svn: 150902
-
- Feb 18, 2012
-
-
Jia Liu authored
Emacs-tag and some comment fix for all ARM, CellSPU, Hexagon, MBlaze, MSP430, PPC, PTX, Sparc, X86, XCore. llvm-svn: 150878
-
- Feb 17, 2012
-
-
Craig Topper authored
llvm-svn: 150795
-
- Feb 14, 2012
-
-
Craig Topper authored
Move old movl vector_shuffle patterns. Not needed anymore since vector_shuffles shouldn't reach isel. llvm-svn: 150462
-
- Feb 13, 2012
-
-
Craig Topper authored
llvm-svn: 150365
-
Craig Topper authored
llvm-svn: 150362
-
NAKAMURA Takumi authored
It caused 3 failures on pre-penryn and non-x86(generic) hosts. llvm-svn: 150357
-
- Feb 12, 2012
-
-
Craig Topper authored
llvm-svn: 150328
-
Craig Topper authored
llvm-svn: 150321
-
- Feb 11, 2012
-
-
Craig Topper authored
Remove some patterns for matching vector_shuffle instructions since vector_shuffles should be custom lowered before isel. llvm-svn: 150299
-
- Feb 05, 2012
-
-
Craig Topper authored
Add target specific node for PMULUDQ. Change patterns to use it and custom lower intrinsics to it. Use it instead of intrinsic to handle 64-bit vector multiplies. llvm-svn: 149807
-
- Feb 02, 2012
-
-
Elena Demikhovsky authored
Special handling was added for v4i32 -> v4i64 and v8i16 -> v8i32 extensions. llvm-svn: 149600
-
- Jan 30, 2012
-
-
Craig Topper authored
Move some XOP patterns into instruction definition. Replae VPCMOV intrinsic patterns with custom lowering to a target specific nodes. llvm-svn: 149216
-
- Jan 25, 2012
-
-
Craig Topper authored
Custom lower PSIGN and PSHUFB intrinsics to their corresponding target specific nodes so we can remove the isel patterns. llvm-svn: 148933
-
- Jan 24, 2012
-
-
Craig Topper authored
Add comments near load pattern fragments indicating that all integer vector loads are promoted to v2i64 or v4i64 so that no one tries to reintroduce pattern fragments for other types. llvm-svn: 148771
-
- Jan 23, 2012
-
-
Craig Topper authored
Remove pattern fragments for v32i8, v16i16, v8i32, v16i8, v8i16, and v4i32 loads. All integer vector loads are promoted to v2i64 or v4i64 so these pattern fragments can never match. Fix or remove patterns that used these fragments. llvm-svn: 148672
-
Craig Topper authored
llvm-svn: 148670
-
- Jan 22, 2012
-
-
Craig Topper authored
Merge PCMPEQB/PCMPEQW/PCMPEQD/PCMPEQQ and PCMPGTB/PCMPGTW/PCMPGTD/PCMPGTQ X86 ISD node types into only two node types. Simplifying opcode selection and pattern matching. llvm-svn: 148667
-
Craig Topper authored
Add target specific ISD node types for SSE/AVX vector shuffle instructions and change all the code that used to create intrinsic nodes to create the new nodes instead. llvm-svn: 148664
-
- Jan 19, 2012
-
-
Craig Topper authored
llvm-svn: 148466
-
- Jan 01, 2012
-
-
Craig Topper authored
llvm-svn: 147394
-
- Dec 17, 2011
-
-
Craig Topper authored
llvm-svn: 146833
-
- Dec 11, 2011
-
-
Craig Topper authored
Remove some remants of the old palign pattern fragment that were still hanging around. Also remove a cast from inside getShuffleVPERM2X128Immediate and getShuffleVPERMILPImmediate since the only caller already had done the cast. llvm-svn: 146344
-