Skip to content
  1. Mar 31, 2007
  2. Mar 30, 2007
  3. Mar 28, 2007
  4. Mar 27, 2007
  5. 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
  6. Mar 25, 2007
  7. Mar 24, 2007
  8. Mar 23, 2007
    • Bill Wendling's avatar
      PR1260: · 871c77cd
      Bill Wendling authored
      Add final support to get the QT example to compile.
      
      llvm-svn: 35290
      871c77cd
  9. Mar 22, 2007
  10. Mar 21, 2007
  11. Mar 20, 2007
    • Evan Cheng's avatar
      Added MRegisterInfo hook to re-materialize an instruction. · 61f39d18
      Evan Cheng authored
      llvm-svn: 35205
      61f39d18
    • Chris Lattner's avatar
      Two changes: · 3e1d917e
      Chris Lattner authored
      1) codegen a shift of a register as a shift, not an LEA.
      2) teach the RA to convert a shift to an LEA instruction if it wants something
         in three-address form.
      
      This gives us asm diffs like:
      
      -       leal (,%eax,4), %eax
      +       shll $2, %eax
      
      which is faster on some processors and smaller on all of them.
      
      and, more interestingly:
      
      -       movl 24(%esi), %eax
      -       leal (,%eax,4), %edi
      +       movl 24(%esi), %edi
      +       shll $2, %edi
      
      Without #2, #1 was a significant pessimization in some cases.
      
      This implements CodeGen/X86/shift-codegen.ll
      
      llvm-svn: 35204
      3e1d917e
  12. Mar 19, 2007
  13. Mar 17, 2007
  14. Mar 16, 2007
  15. Mar 15, 2007
  16. Mar 14, 2007
Loading