Skip to content
  1. Apr 07, 2006
  2. Apr 05, 2006
  3. Apr 04, 2006
  4. Apr 03, 2006
  5. Apr 02, 2006
  6. Apr 01, 2006
  7. Mar 31, 2006
  8. Mar 29, 2006
  9. Mar 28, 2006
    • Chris Lattner's avatar
      Turn a series of extract_element's feeding a build_vector into a · c9992548
      Chris Lattner authored
      vector_shuffle node.  For this:
      
      void test(__m128 *res, __m128 *A, __m128 *B) {
        *res = _mm_unpacklo_ps(*A, *B);
      }
      
      we now produce this code:
      
      _test:
              movl 8(%esp), %eax
              movaps (%eax), %xmm0
              movl 12(%esp), %eax
              unpcklps (%eax), %xmm0
              movl 4(%esp), %eax
              movaps %xmm0, (%eax)
              ret
      
      instead of this:
      
      _test:
              subl $76, %esp
              movl 88(%esp), %eax
              movaps (%eax), %xmm0
              movaps %xmm0, (%esp)
              movaps %xmm0, 32(%esp)
              movss 4(%esp), %xmm0
              movss 32(%esp), %xmm1
              unpcklps %xmm0, %xmm1
              movl 84(%esp), %eax
              movaps (%eax), %xmm0
              movaps %xmm0, 16(%esp)
              movaps %xmm0, 48(%esp)
              movss 20(%esp), %xmm0
              movss 48(%esp), %xmm2
              unpcklps %xmm0, %xmm2
              unpcklps %xmm1, %xmm2
              movl 80(%esp), %eax
              movaps %xmm2, (%eax)
              addl $76, %esp
              ret
      
      GCC produces this (with -fomit-frame-pointer):
      
      _test:
              subl    $12, %esp
              movl    20(%esp), %eax
              movaps  (%eax), %xmm0
              movl    24(%esp), %eax
              unpcklps        (%eax), %xmm0
              movl    16(%esp), %eax
              movaps  %xmm0, (%eax)
              addl    $12, %esp
              ret
      
      llvm-svn: 27233
      c9992548
    • Chris Lattner's avatar
      f6f94d3b
    • Chris Lattner's avatar
      new node · 8d57da2f
      Chris Lattner authored
      llvm-svn: 27231
      8d57da2f
    • Chris Lattner's avatar
      b7163598
Loading