- Aug 13, 2013
-
-
Elena Demikhovsky authored
Lowering for SETCC. llvm-svn: 188265
-
- Aug 11, 2013
-
-
Elena Demikhovsky authored
Added a test for shuffles using VPERM. llvm-svn: 188147
-
- Aug 07, 2013
-
-
Elena Demikhovsky authored
with lowering logic and a test. llvm-svn: 187884
-
- Aug 05, 2013
-
-
Elena Demikhovsky authored
Added intrinsics and tests. llvm-svn: 187717
-
- Aug 04, 2013
-
-
Benjamin Kramer authored
double test(double a, double b, double c, double d) { return a<b ? c : d; } before: _test: ucomisd %xmm0, %xmm1 ja LBB0_2 movaps %xmm3, %xmm2 LBB0_2: movaps %xmm2, %xmm0 after: _test: cmpltsd %xmm1, %xmm0 andpd %xmm0, %xmm2 andnpd %xmm3, %xmm0 orpd %xmm2, %xmm0 Small speedup on Benchmarks/SmallPT llvm-svn: 187706
-
- Jul 31, 2013
-
-
Elena Demikhovsky authored
All insertf*/extractf* functions replaced with insert/extract since we have insertf and inserti forms. Added lowering for INSERT_VECTOR_ELT / EXTRACT_VECTOR_ELT for 512-bit vectors. Added lowering for EXTRACT/INSERT subvector for 512-bit vectors. Added a test. llvm-svn: 187491
-
- Jan 28, 2013
-
-
Craig Topper authored
llvm-svn: 173667
-
- Dec 21, 2012
-
-
Benjamin Kramer authored
This is very mechanical, no functionality change. Preparation for PR14667. llvm-svn: 170898
-
- Dec 15, 2012
-
-
Benjamin Kramer authored
We match the pattern "x >= y ? x-y : 0" into "subus x, y" and two special cases if y is a constant. DAGCombiner canonicalizes those so we first have to undo the canonicalization for those cases. The pattern occurs in gzip when the loop vectorizer is enabled. Part of PR14613. llvm-svn: 170273
-
- Dec 05, 2012
-
-
Elena Demikhovsky authored
Generate VPBLENDD for AVX2 and VPBLENDW for v16i16 type on AVX2. llvm-svn: 169366
-
- Oct 23, 2012
-
-
Michael Liao authored
llvm-svn: 166486
-
- Oct 10, 2012
-
-
Michael Liao authored
- Due to the current matching vector elements constraints in ISD::FP_ROUND, rounding from v2f64 to v4f32 (after legalization from v2f32) is scalarized. Add a customized v2f32 widening to convert it into a target-specific X86ISD::VFPROUND to work around this constraints. llvm-svn: 165631
-
- 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
-