Skip to content
  1. May 06, 2008
  2. Apr 24, 2008
  3. Apr 23, 2008
  4. Apr 14, 2008
  5. Apr 08, 2008
  6. Mar 25, 2008
  7. Dec 29, 2007
  8. Oct 11, 2007
  9. Sep 29, 2007
  10. Sep 25, 2007
  11. May 03, 2007
  12. Apr 19, 2007
  13. Jan 29, 2007
  14. Jan 17, 2007
  15. Dec 09, 2006
  16. Sep 08, 2006
  17. Sep 04, 2006
  18. Sep 03, 2006
  19. Aug 29, 2006
  20. Jul 26, 2006
  21. Jul 06, 2006
  22. May 24, 2006
  23. May 23, 2006
  24. May 03, 2006
  25. Mar 23, 2006
  26. Feb 22, 2006
  27. Aug 19, 2005
  28. 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
  29. May 13, 2005
  30. Apr 30, 2005
  31. Apr 22, 2005
Loading