Skip to content
  1. Apr 01, 2007
  2. Mar 31, 2007
  3. Mar 30, 2007
  4. Mar 29, 2007
  5. Mar 28, 2007
  6. Mar 27, 2007
  7. Mar 26, 2007
    • Bill Wendling's avatar
      Promote to v1i64 type... · 158f6092
      Bill Wendling authored
      llvm-svn: 35353
      158f6092
    • Bill Wendling's avatar
      Updated. · 48a24419
      Bill Wendling authored
      llvm-svn: 35352
      48a24419
    • Bill Wendling's avatar
      Add support for the v1i64 type. This makes better code for this: · 98d2104c
      Bill Wendling authored
      #include <mmintrin.h>
      
      extern __m64 C;
      
      void baz(__v2si *A, __v2si *B)
      {
        *A = C;
        _mm_empty();
      }
      
      We get this:
      
      _baz:
              call "L1$pb"
      "L1$pb":
              popl %eax
              movl L_C$non_lazy_ptr-"L1$pb"(%eax), %eax
              movq (%eax), %mm0
              movl 4(%esp), %eax
              movq %mm0, (%eax)
              emms
              ret
      
      GCC gives us this:
      
      _baz:
              pushl   %ebx
              call    L3
      "L00000000001$pb":
      L3:
              popl    %ebx
              subl    $8, %esp
              movl    L_C$non_lazy_ptr-"L00000000001$pb"(%ebx), %eax
              movl    (%eax), %edx
              movl    4(%eax), %ecx
              movl    16(%esp), %eax
              movl    %edx, (%eax)
              movl    %ecx, 4(%eax)
              emms
              addl    $8, %esp
              popl    %ebx
              ret
      
      llvm-svn: 35351
      98d2104c
  8. Mar 25, 2007
Loading