Skip to content
  1. Sep 19, 2007
  2. Sep 18, 2007
  3. Sep 17, 2007
  4. Sep 15, 2007
  5. Sep 11, 2007
  6. Sep 10, 2007
  7. Sep 07, 2007
  8. Sep 06, 2007
  9. Sep 05, 2007
  10. Aug 26, 2007
  11. Aug 25, 2007
  12. Aug 20, 2007
  13. Aug 18, 2007
  14. Aug 15, 2007
  15. Aug 12, 2007
  16. Aug 11, 2007
    • Chris Lattner's avatar
      Transform a load from an undef/zero global into an undef/global even if we · 99c8ee29
      Chris Lattner authored
      have complex pointer manipulation going on.  This allows us to compile
      stuff like this:
      
      __m128i foo(__m128i x){
                      static const unsigned int c_0[4] = { 0, 0, 0, 0 };
                      __m128i v_Zero = _mm_loadu_si128((__m128i*)c_0);
                      x  = _mm_unpacklo_epi8(x,  v_Zero);
                      return x;
      }
      
      into:
      
      _foo:
              xorps   %xmm1, %xmm1
              punpcklbw       %xmm1, %xmm0
              ret
      
      llvm-svn: 41022
      99c8ee29
  17. Aug 09, 2007
    • Chris Lattner's avatar
      when we see a unaligned load from an insufficiently aligned global or · a8e4b4bc
      Chris Lattner authored
      alloca, increase the alignment of the load, turning it into an aligned load.
      
      This allows us to compile:
      
      #include <xmmintrin.h>
      __m128i foo(__m128i x){
       static const unsigned int c_0[4] = { 0, 0, 0, 0 };
      	  __m128i v_Zero = _mm_loadu_si128((__m128i*)c_0);
        x  = _mm_unpacklo_epi8(x,  v_Zero);
        return x;
      }
      
      into:
      
      _foo:
      	punpcklbw	_c_0.5944, %xmm0
      	ret
      	.data
      	.lcomm	_c_0.5944,16,4		# c_0.5944
      
      instead of:
      
      _foo:
      	movdqu	_c_0.5944, %xmm1
      	punpcklbw	%xmm1, %xmm0
      	ret
      	.data
      	.lcomm	_c_0.5944,16,2		# c_0.5944
      
      llvm-svn: 40971
      a8e4b4bc
  18. Aug 06, 2007
  19. Aug 04, 2007
    • Chandler Carruth's avatar
      This is the patch to provide clean intrinsic function overloading support in... · 7132e00d
      Chandler Carruth authored
      This is the patch to provide clean intrinsic function overloading support in LLVM. It cleans up the intrinsic definitions and generally smooths the process for more complicated intrinsic writing. It will be used by the upcoming atomic intrinsics as well as vector and float intrinsics in the future.
      
      This also changes the syntax for llvm.bswap, llvm.part.set, llvm.part.select, and llvm.ct* intrinsics. They are automatically upgraded by both the LLVM ASM reader and the bitcode reader. The test cases have been updated, with special tests added to ensure the automatic upgrading is supported.
      
      llvm-svn: 40807
      7132e00d
  20. Aug 02, 2007
  21. Aug 01, 2007
  22. Jul 31, 2007
  23. Jul 30, 2007
Loading