Skip to content
  1. Jan 17, 2009
    • Bill Wendling's avatar
      Implement a special algorithm for converting uint_to_fp for i32 values on · 4d527590
      Bill Wendling authored
      X86. This code:
      
      void f() {
        uint32_t x;
        float y = (float)x;
      }
      
      used to be:
      
           movl     %eax, -8(%ebp)
           movl     [2^52 double], -4(%ebp)
           movsd    -8(%ebp), %xmm0
           subsd    [2^52 double], %xmm0
           cvtsd2ss %xmm0, %xmm0
      
      Is now:
      
         movsd        [2^52 double], %xmm0
         movsd        %xmm0, %xmm1
         movd         %ecx, %xmm2
         orps         %xmm2, %xmm1
         subsd        %xmm0, %xmm1
         cvtsd2ss     %xmm1, %xmm0
      
      This is faster on X86. Note that there's an extra load of %xmm0 into %xmm1. That
      will be fixed in a later coalescer fix.
      
      llvm-svn: 62404
      4d527590
  2. Jan 16, 2009
  3. Jan 15, 2009
  4. Jan 14, 2009
  5. Jan 13, 2009
  6. Jan 12, 2009
  7. Jan 10, 2009
  8. Jan 09, 2009
  9. Jan 07, 2009
  10. Jan 05, 2009
  11. Jan 03, 2009
  12. Jan 02, 2009
  13. Jan 01, 2009
    • Duncan Sands's avatar
      Fix PR3274: when promoting the condition of a BRCOND node, · 8feb694e
      Duncan Sands authored
      promote from i1 all the way up to the canonical SetCC type.
      In order to discover an appropriate type to use, pass
      MVT::Other to getSetCCResultType.  In order to be able to
      do this, change getSetCCResultType to take a type as an
      argument, not a value (this is also more logical).
      
      llvm-svn: 61542
      8feb694e
  14. Dec 29, 2008
  15. Dec 25, 2008
  16. Dec 24, 2008
Loading