[PATCH 0/8] R600/Evergreen: Implement missing local atomic ops

Aaron Watry awatry at gmail.com
Tue Sep 9 15:06:27 PDT 2014


This series is intended to bring evergreen mostly up to par with SI.

The series adds the LDS ops for the return/noreturn variants of:
atomicrmw [max|and|or|xor|min|xchg]

Then it adds EG to the tested architecture list for local-atomics.ll

Finally, the cmpxchg instruction is added for evergreen.

All of these instructions also have piglit CL tests which will be sent to that
list in a separate mailing.

Aaron Watry (8):
  R600: Add LDS_MAX_[U]INT[_RET] instructions for Evergreen
  R600: Add LDS_AND[_RET] instructions for Evergreen
  R600: Add LDS_OR[_RET] instructions for Evergreen
  R600: Add LDS_XOR[_RET] instructions for Evergreen
  R600: Add LDS_MIN_[U]INT[_RET] instructions for Evergreen
  R600: Add LDS_WRXCHG[_RET] instructions for Evergreen
  R600: Test local atomics for evergreen
  R600: Add cmpxchg instruction for evergreen

 lib/Target/R600/EvergreenInstructions.td | 61 +++++++++++++++++++++++++++++---
 lib/Target/R600/R600ISelLowering.cpp     |  2 +-
 test/CodeGen/R600/local-atomics.ll       | 27 ++++++++++++++
 3 files changed, 85 insertions(+), 5 deletions(-)




More information about the llvm-commits mailing list