Skip to content
  1. Aug 13, 2013
  2. Aug 11, 2013
  3. Aug 07, 2013
  4. Aug 05, 2013
  5. Aug 04, 2013
    • Benjamin Kramer's avatar
      X86: Turn fp selects into mask operations. · 5bc180c1
      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
      5bc180c1
  6. Jul 31, 2013
    • Elena Demikhovsky's avatar
      Added INSERT and EXTRACT intructions from AVX-512 ISA. · 67b05fc0
      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
      67b05fc0
  7. Jan 28, 2013
  8. Dec 21, 2012
  9. Dec 15, 2012
  10. Dec 05, 2012
  11. Oct 23, 2012
  12. Oct 10, 2012
    • Michael Liao's avatar
      Add support for FP_ROUND from v2f64 to v2f32 · e999b865
      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
      e999b865
  13. Sep 10, 2012
  14. Aug 29, 2012
  15. Aug 19, 2012
  16. Aug 14, 2012
    • Michael Liao's avatar
      fix PR11334 · 34107b91
      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
      34107b91
  17. Aug 06, 2012
  18. Aug 01, 2012
  19. Jul 19, 2012
  20. Jun 09, 2012
  21. Apr 22, 2012
  22. Apr 16, 2012
  23. Apr 15, 2012
  24. Apr 11, 2012
    • Nadav Rotem's avatar
      Reapply 154396 after fixing a test. · 9bc178ac
      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
      9bc178ac
  25. Apr 10, 2012
  26. Mar 09, 2012
    • Chad Rosier's avatar
      Fix a regression from r147481. · a281afc6
      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
      a281afc6
  27. Feb 19, 2012
  28. Feb 18, 2012
  29. Feb 17, 2012
  30. Feb 14, 2012
  31. Feb 13, 2012
  32. Feb 12, 2012
  33. Feb 11, 2012
  34. Feb 05, 2012
Loading