Skip to content
  1. Jul 07, 2005
  2. 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
  3. Jul 05, 2005
    • Chris Lattner's avatar
      Make several cleanups to Andrews varargs change: · a7220851
      Chris Lattner authored
      1. Pass Value*'s into lowering methods so that the proper pointers can be
         added to load/stores from the valist
      2. Intrinsics that return void should only return a token chain, not a token
         chain/retval pair.
      3. Rename LowerVAArgNext -> LowerVAArg, because VANext is long gone.
      4. Now that we have Value*'s available in the lowering methods, pass them
         into any load/stores from the valist that are emitted
      
      llvm-svn: 22339
      a7220851
    • Chris Lattner's avatar
      Make several cleanups to Andrews varargs change: · f5473e44
      Chris Lattner authored
      1. Pass Value*'s into lowering methods so that the proper pointers can be
         added to load/stores from the valist
      2. Intrinsics that return void should only return a token chain, not a token
         chain/retval pair.
      3. Rename LowerVAArgNext -> LowerVAArg, because VANext is long gone.
      
      llvm-svn: 22338
      f5473e44
    • Andrew Lenharth's avatar
      2 fixes: · 80fe4116
      Andrew Lenharth authored
      1: Legalize operand in UINT_TO_FP expanision
      
      2: SRA x, const i8 was not promoting the constant to shift amount type.
      llvm-svn: 22337
      80fe4116
    • Chris Lattner's avatar
      Fit to 80 columns · 91ae129b
      Chris Lattner authored
      llvm-svn: 22336
      91ae129b
    • Chris Lattner's avatar
      Fix PowerPC varargs · 1239d2d7
      Chris Lattner authored
      llvm-svn: 22335
      1239d2d7
    • Andrew Lenharth's avatar
      oops · 8c220def
      Andrew Lenharth authored
      llvm-svn: 22334
      8c220def
    • Andrew Lenharth's avatar
      updates · a1f37d61
      Andrew Lenharth authored
      llvm-svn: 22333
      a1f37d61
  4. Jul 04, 2005
  5. Jul 03, 2005
  6. Jul 02, 2005
  7. Jul 01, 2005
  8. Jun 30, 2005
  9. Jun 29, 2005
  10. Jun 28, 2005
Loading