Skip to content
  1. Dec 11, 2006
    • Chris Lattner's avatar
      fix typo · 8410beb1
      Chris Lattner authored
      llvm-svn: 32428
      8410beb1
    • Chris Lattner's avatar
      Update note, with the SROA change, we now produce: · a11aa92e
      Chris Lattner authored
      _pairtest:
              movl 8(%esp), %eax
              movl 4(%esp), %ecx
              movd %eax, %xmm0
              movd %ecx, %xmm1
              addss %xmm0, %xmm1
              movl 12(%esp), %eax
              movss %xmm1, (%eax)
              ret
      
      instead of:
      
      _pairtest:
              subl $12, %esp
              movl 20(%esp), %eax
              movl %eax, 4(%esp)
              movl 16(%esp), %eax
              movl %eax, (%esp)
              movss (%esp), %xmm0
              addss 4(%esp), %xmm0
              movl 24(%esp), %eax
              movss %xmm0, (%eax)
              addl $12, %esp
              ret
      
      llvm-svn: 32427
      a11aa92e
    • Chris Lattner's avatar
      trunc to integer, not to FP. · e810140c
      Chris Lattner authored
      llvm-svn: 32426
      e810140c
    • Chris Lattner's avatar
      this is done · 6727f2a5
      Chris Lattner authored
      llvm-svn: 32424
      6727f2a5
    • Chris Lattner's avatar
      Evan implemented the machineinstr improvements. · feeb9c7b
      Chris Lattner authored
      The rot example works if the type is cast to ubyte.
      
      Move sroa examples together and upgrade them to HEAD syntax.
      
      llvm-svn: 32423
      feeb9c7b
    • Chris Lattner's avatar
      implement promotion of unions containing two packed types of the same width. · 23f4b68f
      Chris Lattner authored
      This implements Transforms/ScalarRepl/union-packed.ll
      
      llvm-svn: 32422
      23f4b68f
    • Chris Lattner's avatar
      clarify some comments, simplify some checks, fix: · b2f59738
      Chris Lattner authored
      Regression/Transforms/IndVarsSimplify/2006-12-10-BitCast.ll
      
      llvm-svn: 32420
      b2f59738
    • Chris Lattner's avatar
      * Eliminate calls to CastInst::createInferredCast. · 216c3028
      Chris Lattner authored
       * Add support for promoting unions with fp values in them.  This produces
         our new int<->fp bitcast instructions, implementing
         Transforms/ScalarRepl/union-fp-int.ll
      
      As an example, this allows us to compile this:
      
      union intfloat { int i; float f; };
      float invsqrt(const float arg_x) {
          union intfloat x = { .f = arg_x };
          const float xhalf = arg_x * 0.5f;
          x.i = 0x5f3759df - (x.i >> 1);
          return x.f * (1.5f - xhalf * x.f * x.f);
      }
      
      into:
      
      _invsqrt:
              movss 4(%esp), %xmm0
              movd %xmm0, %eax
              sarl %eax
              movl $1597463007, %ecx
              subl %eax, %ecx
              movd %ecx, %xmm1
              mulss LCPI1_0, %xmm0
              mulss %xmm1, %xmm0
              movss LCPI1_1, %xmm2
              mulss %xmm1, %xmm0
              subss %xmm0, %xmm2
              movl 8(%esp), %eax
              mulss %xmm2, %xmm1
              movss %xmm1, (%eax)
              ret
      
      instead of:
      
      _invsqrt:
              subl $4, %esp
              movss 8(%esp), %xmm0
              movss %xmm0, (%esp)
              movl (%esp), %eax
              movl $1597463007, %ecx
              sarl %eax
              subl %eax, %ecx
              movl %ecx, (%esp)
              mulss LCPI1_0, %xmm0
              movss (%esp), %xmm1
              mulss %xmm1, %xmm0
              mulss %xmm1, %xmm0
              movss LCPI1_1, %xmm2
              subss %xmm0, %xmm2
              mulss %xmm2, %xmm1
              movl 12(%esp), %eax
              movss %xmm1, (%eax)
              addl $4, %esp
              ret
      
      llvm-svn: 32418
      216c3028
    • Anton Korobeynikov's avatar
      Cleaned setjmp/longjmp lowering interfaces. Now we're producing right · 3b7c257c
      Anton Korobeynikov authored
      code (both asm & cbe) for Mingw32 target.
      Removed autoconf checks for underscored versions of setjmp/longjmp.
      
      llvm-svn: 32415
      3b7c257c
  2. Dec 10, 2006
  3. Dec 09, 2006
  4. Dec 08, 2006
Loading