1. 10 May, 2012 1 commit
  2. 09 May, 2012 8 commits
  3. 08 May, 2012 2 commits
  4. 07 May, 2012 2 commits
  5. 03 May, 2012 1 commit
  6. 02 May, 2012 2 commits
    • Mans Rullgard's avatar
      arm: intreadwrite: disable inline asm for gcc 4.7 and later · ababec7b
      Mans Rullgard authored
      Starting with version 4.7, gcc properly supports unaligned
      memory accesses on ARM.  Not using the inline asm with these
      compilers results in better code.
      Signed-off-by: 's avatarMans Rullgard <mans@mansr.com>
      ababec7b
    • Mans Rullgard's avatar
      arm: intreadwrite: fix inline asm constraints for gcc 4.6 and later · adebad07
      Mans Rullgard authored
      With a dereferenced type-cast pointer as memory operand, gcc 4.6
      and later will sometimes copy the data to a temporary location,
      the address of which is used as the operand value, if it thinks
      the target address might be misaligned.  Using a pointer to a
      packed struct type instead does the right thing.
      
      The 16-bit case is special since the ldrh instruction addressing
      modes are limited compared to ldr.  The "Uq" constraint produces a
      memory reference suitable for an ldrsb instruction, which supports
      the same addressing modes as ldrh.  However, the restrictions appear
      to apply only when the operand addresses a single byte.  The memory
      reference must thus be split into two operands each targeting one
      byte.  Finally, the "Uq" constraint is only available in ARM mode.
      The Thumb-2 ldrh instruction supports most addressing modes so the
      normal "m" constraint can be used there.
      Signed-off-by: 's avatarMans Rullgard <mans@mansr.com>
      adebad07
  7. 30 Apr, 2012 3 commits
  8. 27 Apr, 2012 1 commit
  9. 25 Apr, 2012 3 commits
  10. 24 Apr, 2012 1 commit
  11. 23 Apr, 2012 4 commits
  12. 22 Apr, 2012 1 commit
  13. 20 Apr, 2012 2 commits
  14. 19 Apr, 2012 2 commits
  15. 18 Apr, 2012 1 commit
  16. 17 Apr, 2012 1 commit
  17. 16 Apr, 2012 2 commits
  18. 15 Apr, 2012 1 commit
  19. 13 Apr, 2012 1 commit
  20. 12 Apr, 2012 1 commit