Skip to content
  1. Oct 06, 2010
  2. Sep 29, 2010
  3. Sep 22, 2010
  4. Sep 17, 2010
  5. Aug 27, 2010
  6. Aug 17, 2010
  7. Aug 12, 2010
    • Bruno Cardoso Lopes's avatar
      - Teach SSEDomainFix to switch between different levels of AVX instructions.... · 7f704b31
      Bruno Cardoso Lopes authored
      - Teach SSEDomainFix to switch between different levels of AVX instructions. Here we guess that AVX will have domain issues, so just implement them for consistency  and in the future we remove if it's unnecessary.
      - Make foldMemoryOperandImpl aware of 256-bit zero vectors folding and support the 128-bit counterparts of AVX too.
      - Make sure MOV[AU]PS instructions are only selected when SSE1 is enabled, and duplicate the patterns to match AVX.
      - Add a testcase for a simple 128-bit zero vector creation.
      
      llvm-svn: 110946
      7f704b31
    • Bruno Cardoso Lopes's avatar
      Fix comment order · 1401e040
      Bruno Cardoso Lopes authored
      llvm-svn: 110898
      1401e040
    • Jakob Stoklund Olesen's avatar
      Fix <rdar://problem/8282498> even if it doesn't reproduce on trunk. · 9c473e46
      Jakob Stoklund Olesen authored
      When a register is defined by a partial load:
      
        %reg1234:sub_32 = MOV32mr <fi#-1>; GR64:%reg1234
      
      That load cannot be folded into an instruction using the full 64-bit register.
      It would become a 64-bit load.
      
      This is related to the recent change to have isLoadFromStackSlot return false on
      a sub-register load.
      
      llvm-svn: 110874
      9c473e46
  8. Aug 06, 2010
  9. Jul 29, 2010
    • Jakob Stoklund Olesen's avatar
      Revert r109652, and remove the offending assert in loadRegFromStackSlot instead. · ba0e124a
      Jakob Stoklund Olesen authored
      We do sometimes load from a too small stack slot when dealing with x86 arguments
      (varargs and smaller-than-32-bit args). It looks like we know what we are doing
      in those cases, so I am going to remove the assert instead of artifically
      enlarging stack slot sizes.
      
      The assert in storeRegToStackSlot stays in. We don't want to write beyond the
      bounds of a stack slot.
      
      llvm-svn: 109764
      ba0e124a
  10. Jul 27, 2010
  11. Jul 22, 2010
  12. Jul 21, 2010
    • Nate Begeman's avatar
      Fix a couple issues with Win64 ABI · 784e062b
      Nate Begeman authored
      1) all registers were spilled as xmm, regardless of actual size
      2) win64 abi doesn't do the varargs-size-in-%al thing
      
      Still to look into:
      
      xmm6-15 are marked as clobbered by call instructions on win64 even though they aren't.
      
      llvm-svn: 109035
      784e062b
  13. Jul 17, 2010
  14. Jul 16, 2010
  15. Jul 12, 2010
  16. Jul 11, 2010
  17. Jul 10, 2010
    • Jakob Stoklund Olesen's avatar
      Don't emit st(0)/st(1) copies as FpMOV instructions. Use FpSET_ST? instead. · de457896
      Jakob Stoklund Olesen authored
      Based on a patch by Rafael Espíndola.
      
      Attempt to make the FpSET_ST1 hack more robust, but we are still relying on
      FpSET_ST0 preceeding it. This is only for supporting really weird x87 inline
      asm.
      
      We support:
      
        FpSET_ST0
        INLINEASM
      
        FpSET_ST0
        FpSET_ST1
        INLINEASM
      
      with and without kills on the arguments. We don't support:
      
        FpSET_ST1
        FpSET_ST0
        INLINEASM
      
      nor
      
        FpSET_ST1
        INLINEASM
      
      Just Don't Do It!
      
      llvm-svn: 108047
      de457896
    • Dan Gohman's avatar
      Reapply bottom-up fast-isel, with several fixes for x86-32: · d7b5ce33
      Dan Gohman authored
       - Check getBytesToPopOnReturn().
       - Eschew ST0 and ST1 for return values.
       - Fix the PIC base register initialization so that it doesn't ever
         fail to end up the top of the entry block.
      
      llvm-svn: 108039
      d7b5ce33
  18. Jul 09, 2010
  19. Jul 08, 2010
Loading