Skip to content
  1. Jun 03, 2012
  2. Jun 01, 2012
    • Hans Wennborg's avatar
      Implement the local-dynamic TLS model for x86 (PR3985) · 789acfb6
      Hans Wennborg authored
      This implements codegen support for accesses to thread-local variables
      using the local-dynamic model, and adds a clean-up pass so that the base
      address for the TLS block can be re-used between local-dynamic access on
      an execution path.
      
      llvm-svn: 157818
      789acfb6
  3. May 31, 2012
  4. May 10, 2012
  5. May 09, 2012
  6. Apr 27, 2012
    • Benjamin Kramer's avatar
      X86: Don't emit conditional floating point moves on when targeting pre-pentiumpro architectures. · 913da4b2
      Benjamin Kramer authored
      * Model FPSW (the FPU status word) as a register.
      * Add ISel patterns for the FUCOM*, FNSTSW and SAHF instructions.
      * During Legalize/Lowering, build a node sequence to transfer the comparison
      result from FPSW into EFLAGS. If you're wondering about the right-shift: That's
      an implicit sub-register extraction (%ax -> %ah) which is handled later on by
      the instruction selector.
      
      Fixes PR6679. Patch by Christoph Erhardt!
      
      llvm-svn: 155704
      913da4b2
  7. Apr 03, 2012
  8. Mar 06, 2012
  9. Mar 05, 2012
  10. Feb 27, 2012
  11. Feb 24, 2012
  12. Feb 18, 2012
  13. Feb 16, 2012
  14. Jan 17, 2012
  15. Jan 16, 2012
  16. Jan 12, 2012
  17. Jan 10, 2012
  18. Jan 09, 2012
  19. Jan 01, 2012
  20. Dec 12, 2011
  21. Dec 09, 2011
  22. Dec 08, 2011
    • Evan Cheng's avatar
      Many of the SSE patterns should not be selected when AVX is available. This... · 4d1a2d44
      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
      4d1a2d44
  23. Nov 29, 2011
  24. Nov 24, 2011
  25. Oct 30, 2011
  26. Oct 27, 2011
  27. Oct 21, 2011
  28. Oct 19, 2011
  29. Oct 18, 2011
  30. Oct 16, 2011
  31. Oct 15, 2011
  32. Oct 14, 2011
  33. Oct 13, 2011
Loading