Skip to content
  1. Feb 16, 2011
  2. Feb 13, 2011
    • Chris Lattner's avatar
      Enhance ComputeMaskedBits to know that aligned frameindexes · 46c01a30
      Chris Lattner authored
      have their low bits set to zero.  This allows us to optimize
      out explicit stack alignment code like in stack-align.ll:test4 when
      it is redundant.
      
      Doing this causes the code generator to start turning FI+cst into
      FI|cst all over the place, which is general goodness (that is the
      canonical form) except that various pieces of the code generator
      don't handle OR aggressively.  Fix this by introducing a new
      SelectionDAG::isBaseWithConstantOffset predicate, and using it
      in places that are looking for ADD(X,CST).  The ARM backend in
      particular was missing a lot of addressing mode folding opportunities
      around OR.
      
      llvm-svn: 125470
      46c01a30
  3. Feb 11, 2011
    • David Greene's avatar
      · 79827a5a
      David Greene authored
      [AVX] Implement 256-bit vector lowering for SCALAR_TO_VECTOR.  This
      largely completes support for 128-bit fallback lowering for code that
      is not 256-bit ready.
      
      llvm-svn: 125315
      79827a5a
  4. Feb 10, 2011
    • David Greene's avatar
      · ce318e49
      David Greene authored
      [AVX] Implement 256-bit vector lowering for EXTRACT_VECTOR_ELT.
      
      llvm-svn: 125284
      ce318e49
  5. Feb 09, 2011
    • David Greene's avatar
      · b36195ab
      David Greene authored
      [AVX] Implement 256-bit vector lowering for INSERT_VECTOR_ELT.
      
      llvm-svn: 125187
      b36195ab
  6. Feb 08, 2011
    • David Greene's avatar
      · 10b0db1d
      David Greene authored
      [AVX] Implement BUILD_VECTOR lowering for 256-bit vectors.  For
      anything but the simplest of cases, lower a 256-bit BUILD_VECTOR by
      splitting it into 128-bit parts and recombining.
      
      llvm-svn: 125105
      10b0db1d
  7. Feb 07, 2011
    • David Greene's avatar
      · 79651c52
      David Greene authored
      [AVX] Insert/extract subvector lowering support.  This includes a
      couple of utility functions that will be used in other places for more
      AVX lowering.
      
      llvm-svn: 125029
      79651c52
  8. Feb 05, 2011
  9. Feb 04, 2011
    • David Greene's avatar
      · 653f1eed
      David Greene authored
      [AVX] Support VSINSERTF128 with more patterns and appropriate
      infrastructure.  This makes lowering 256-bit vectors to 128-bit
      vectors simple when 256-bit vector support is not available.
      
      llvm-svn: 124868
      653f1eed
  10. Feb 03, 2011
    • David Greene's avatar
      · c4da110f
      David Greene authored
      [AVX] VEXTRACTF128 support.  This commit includes patterns for
      matching EXTRACT_SUBVECTOR to VEXTRACTF128 along with support routines
      to examine and translate index values.  VINSERTF128 comes next.  With
      these two in place we can begin supporting more AVX operations as
      INSERT/EXTRACT can be used as a fallback when 256-bit support is not
      available.
      
      llvm-svn: 124797
      c4da110f
    • Rafael Espindola's avatar
      Fix PR9127 by reversing the operands even if they have more then one use. · d11311f2
      Rafael Espindola authored
      Reversing the operands allows us to fold, but doesn't force us to. Also, at
      this point the DAG is still being optimized, so the check for hasOneUse is not
      very precise.
      
      llvm-svn: 124773
      d11311f2
  11. Feb 01, 2011
  12. Jan 31, 2011
  13. Jan 27, 2011
    • David Greene's avatar
      · 34f7c0d8
      David Greene authored
      [AVX] Clean up the code to configure target lowering for AVX.  Specify
      how to lower more/new operations.  This is a prerequisite for adding
      additional AVX lowering.
      
      llvm-svn: 124447
      34f7c0d8
  14. Jan 26, 2011
    • David Greene's avatar
      · bab5e6ed
      David Greene authored
      [AVX] Add INSERT_SUBVECTOR and support it on x86.  This provides a
      default implementation for x86, going through the stack in a similr
      fashion to how the codegen implements BUILD_VECTOR.  Eventually this
      will get matched to VINSERTF128 if AVX is available.
      
      llvm-svn: 124307
      bab5e6ed
    • David Greene's avatar
      · b6f16119
      David Greene authored
      [AVX] Support EXTRACT_SUBVECTOR on x86.  This provides a default
      implementation of EXTRACT_SUBVECTOR for x86, going through the stack
      in a similr fashion to how the codegen implements BUILD_VECTOR.
      Eventually this will get matched to VEXTRACTF128 if AVX is available.
      
      llvm-svn: 124292
      b6f16119
    • NAKAMURA Takumi's avatar
      Target/X86: Tweak win64's tailcall. · 0cfdac07
      NAKAMURA Takumi authored
      llvm-svn: 124272
      0cfdac07
    • NAKAMURA Takumi's avatar
      Fix whitespace. · 9d29eff1
      NAKAMURA Takumi authored
      llvm-svn: 124270
      9d29eff1
  15. Jan 16, 2011
  16. Jan 10, 2011
  17. Jan 08, 2011
  18. Jan 07, 2011
  19. Jan 06, 2011
  20. Dec 23, 2010
    • Benjamin Kramer's avatar
      X86: Lower a select directly to a setcc_carry if possible. · 6020ed9d
      Benjamin Kramer authored
        int test(unsigned long a, unsigned long b) { return -(a < b); }
      compiles to
        _test:                              ## @test
          cmpq  %rsi, %rdi                  ## encoding: [0x48,0x39,0xf7]
          sbbl  %eax, %eax                  ## encoding: [0x19,0xc0]
          ret                               ## encoding: [0xc3]
      instead of
        _test:                              ## @test
          xorl  %ecx, %ecx                  ## encoding: [0x31,0xc9]
          cmpq  %rsi, %rdi                  ## encoding: [0x48,0x39,0xf7]
          movl  $-1, %eax                   ## encoding: [0xb8,0xff,0xff,0xff,0xff]
          cmovael %ecx, %eax                ## encoding: [0x0f,0x43,0xc1]
          ret                               ## encoding: [0xc3]
      
      llvm-svn: 122451
      6020ed9d
  21. Dec 21, 2010
  22. Dec 20, 2010
  23. Dec 19, 2010
Loading