Skip to content
  1. Jun 29, 2007
  2. Jun 25, 2007
    • Dan Gohman's avatar
      Generalize MVT::ValueType and associated functions to be able to represent · a8665145
      Dan Gohman authored
      extended vector types. Remove the special SDNode opcodes used for pre-legalize
      vector operations, and the special MVT::Vector type used with them. Adjust
      lowering and legalize to work with the normal SDNode kinds instead, and to
      use the normal MVT functions to work with vector types instead of using the
      two special operands that the pre-legalize nodes held.
      
      This allows pre-legalize and post-legalize DAGs, and the code that operates
      on them, to be more consistent. Pre-legalize vector operators can be handled
      more consistently with scalar operators. And, -view-dag-combine1-dags and
      -view-legalize-dags now look prettier for vector code.
      
      llvm-svn: 37719
      a8665145
  3. Jun 22, 2007
  4. Jun 19, 2007
  5. Jun 17, 2007
    • Bill Wendling's avatar
      Revert patch. It regresses: · 094a4e81
      Bill Wendling authored
      define double @test2(i64 %A) {
         %B = bitcast i64 %A to double
         ret double %B
      }
      
      $ llvm-as < t.ll | llc -march=x86-64
      
      before:
      
               .align  4
               .globl  _test2
      _test2:
               movd %rdi, %xmm0
               ret
      
      after:
      
      _test2:
               subq $8, %rsp
               movq %rdi, (%rsp)
               movsd (%rsp), %xmm0
               addq $8, %rsp
               ret
      
      llvm-svn: 37617
      094a4e81
  6. Jun 16, 2007
  7. Jun 15, 2007
  8. Jun 09, 2007
  9. May 24, 2007
  10. May 18, 2007
  11. May 17, 2007
  12. May 15, 2007
  13. May 03, 2007
    • Chris Lattner's avatar
      Fix two classes of bugs: · 83df45a9
      Chris Lattner authored
        1. x86 backend rejected (&gv+c) for the 'i' constraint when in static mode.
        2. the matcher didn't correctly reject and accept some global addresses.
           the right predicate is GVRequiresExtraLoad, not "relomodel = pic".
      
      llvm-svn: 36670
      83df45a9
  14. May 02, 2007
  15. Apr 24, 2007
  16. Apr 23, 2007
  17. Apr 21, 2007
  18. Apr 20, 2007
  19. Apr 17, 2007
  20. Apr 16, 2007
  21. Apr 12, 2007
  22. Apr 10, 2007
  23. Apr 09, 2007
  24. Mar 31, 2007
  25. Mar 28, 2007
  26. Mar 27, 2007
  27. Mar 26, 2007
    • Bill Wendling's avatar
      Promote to v1i64 type... · 158f6092
      Bill Wendling authored
      llvm-svn: 35353
      158f6092
    • 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
  28. Mar 25, 2007
Loading