Skip to content
  1. May 31, 2008
  2. May 13, 2008
  3. May 06, 2008
  4. Apr 24, 2008
  5. Apr 23, 2008
  6. Apr 14, 2008
  7. Apr 08, 2008
  8. Mar 25, 2008
  9. Dec 29, 2007
  10. Oct 11, 2007
  11. Sep 29, 2007
  12. Sep 25, 2007
  13. May 03, 2007
  14. Apr 19, 2007
  15. Jan 29, 2007
  16. Jan 17, 2007
  17. Dec 09, 2006
  18. Sep 08, 2006
  19. Sep 04, 2006
  20. Sep 03, 2006
  21. Aug 29, 2006
  22. Jul 26, 2006
  23. Jul 06, 2006
  24. May 24, 2006
  25. May 23, 2006
  26. May 03, 2006
  27. Mar 23, 2006
  28. Feb 22, 2006
  29. Aug 19, 2005
  30. Jul 06, 2005
    • Nate Begeman's avatar
      First round of support for doing scalar FP using the SSE2 ISA extension and · 8a093360
      Nate Begeman authored
      XMM registers.  There are many known deficiencies and fixmes, which will be
      addressed ASAP.  The major benefit of this work is that it will allow the
      LLVM register allocator to allocate FP registers across basic blocks.
      
      The x86 backend will still default to x87 style FP.  To enable this work,
      you must pass -enable-sse-scalar-fp and either -sse2 or -sse3 to llc.
      
      An example before and after would be for:
      double foo(double *P) { double Sum = 0; int i; for (i = 0; i < 1000; ++i)
                              Sum += P[i]; return Sum; }
      
      The inner loop looks like the following:
      x87:
      .LBB_foo_1:     # no_exit
              fldl (%esp)
              faddl (%eax,%ecx,8)
              fstpl (%esp)
              incl %ecx
              cmpl $1000, %ecx
              #FP_REG_KILL
              jne .LBB_foo_1  # no_exit
      
      SSE2:
              addsd (%eax,%ecx,8), %xmm0
              incl %ecx
              cmpl $1000, %ecx
              #FP_REG_KILL
              jne .LBB_foo_1  # no_exit
      
      llvm-svn: 22340
      8a093360
  31. May 13, 2005
Loading