[PATCH] D141187: [SystemZ] Set setMaxAtomicSizeInBitsSupported

Ulrich Weigand via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 9 05:20:52 PST 2023


uweigand added a comment.

I don't think this is quite correct, as we do support 128-bit atomics on properly aligned addresses.  In any case, the back-end implements atomic load, store, and cmpxchg for i128.   We do not currently implement atomicrmw, but that could be handled in terms of cmpxchg of course.   For non-aligned addresses, we do need to fall back to the library routine, however.

Interestingly enough, the SystemZ back-end does not even use the AtomicExpandPass at all at the moment, so the `setMaxAtomicSizeInBitsSupported` change probably doesn't even have any effect?  Everything still seems to work, however ...

@jonpa we don't seem to have test cases for i128 atomicrmw at the moment - could you have a loop at what happens here, and if there's maybe something we need to change?  Thanks!


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D141187/new/

https://reviews.llvm.org/D141187



More information about the llvm-commits mailing list