Skip to content
  1. Mar 28, 2007
  2. Mar 27, 2007
  3. 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
  4. Mar 25, 2007
  5. Mar 24, 2007
  6. 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
  7. Mar 22, 2007
  8. Mar 21, 2007
  9. 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
  10. Mar 19, 2007
  11. Mar 17, 2007
  12. Mar 16, 2007
  13. Mar 15, 2007
  14. Mar 14, 2007
  15. Mar 13, 2007
  16. Mar 12, 2007
  17. Mar 10, 2007
  18. Mar 08, 2007
  19. Mar 07, 2007
Loading