Skip to content
  1. Mar 13, 2010
    • Bob Wilson's avatar
      Change ARM ld/st multiple instructions to have variant instructions for · 947f04ba
      Bob Wilson authored
      writebacks to the address register.  This gets rid of the hack that the
      first register on the list was the magic writeback register operand.  There
      was an implicit constraint that if that operand was not reg0 it had to match
      the base register operand.  The post-RA scheduler's antidependency breaker
      did not understand that constraint and sometimes changed one without the
      other.  This also fixes Radar 7495976 and should help the verifier work
      better for ARM code.
      
      There are now new ld/st instructions explicit writeback operands and explicit
      constraints that tie those registers together.
      
      llvm-svn: 98409
      947f04ba
  2. Mar 11, 2010
  3. Mar 10, 2010
  4. Mar 09, 2010
  5. Mar 08, 2010
  6. Mar 05, 2010
  7. Mar 04, 2010
  8. Mar 03, 2010
  9. Mar 02, 2010
  10. Feb 28, 2010
  11. Feb 26, 2010
    • Johnny Chen's avatar
      Added the follwoing 32-bit Thumb instructions for disassembly only: · 38e7bb6f
      Johnny Chen authored
      o Parallel addition and subtraction, signed/unsigned
      o Miscellaneous operations: QADD, QDADD, QSUB, QDSUB
      o Unsigned sum of absolute differences [and accumulate]: USAD8, USADA8
      o Signed/Unsigned saturate: SSAT, SSAT16, USAT, USAT16
      o Signed multiply accumulate long (halfwords): SMLAL<x><y>
      o Signed multiply accumulate/subtract [long] (dual): SMLAD[x], SMLALD[X], SMLSD[X], SMLSLD[X]
      o Signed dual multiply add/subtract [long]: SMUAD[X], SMUSD[X]
      
      llvm-svn: 97276
      38e7bb6f
  12. Feb 25, 2010
  13. Feb 16, 2010
  14. Feb 09, 2010
  15. Feb 02, 2010
  16. Jan 22, 2010
  17. Jan 19, 2010
  18. Jan 18, 2010
    • Jim Grosbach's avatar
      Patch by David Conrad: · 8546ec9c
      Jim Grosbach authored
      "On ARMv6T2 this turns cttz into rbit, clz instead of the 4 instruction
       sequence it is now."
      
      llvm-svn: 93758
      8546ec9c
  19. Jan 08, 2010
  20. Jan 05, 2010
  21. Dec 16, 2009
  22. Dec 15, 2009
  23. Dec 14, 2009
  24. Nov 24, 2009
    • Anton Korobeynikov's avatar
      Materialize global addresses via movt/movw pair, this is always better · 25229086
      Anton Korobeynikov authored
      than doing the same via constpool:
      1. Load from constpool costs 3 cycles on A9, movt/movw pair - just 2.
      2. Load from constpool might stall up to 300 cycles due to cache miss.
      3. Movt/movw does not use load/store unit.
      4. Less constpool entries => better compiler performance.
      
      This is only enabled on ELF systems, since darwin does not have needed
      relocations (yet).
      
      llvm-svn: 89720
      25229086
Loading