On Mon, Jul 03, 2023 at 03:20:31PM -0400, Olivier Dion wrote: [...] > NOTE: On x86-64, we found at least one corner case [7] with Clang where > a RELEASE exchange is optimized to a RELEASE store, when the returned > value of the exchange is unused, breaking the above expectations. > Although this type of optimization respect the standard "as-if" > statement, we question its pertinence since a user should simply do a > RELEASE store instead of an exchange in that case. With the > introduction of these new primitives, these type of optimizations should > be revisited. > FWIW, this is actually a LLVM bug: https://github.com/llvm/llvm-project/issues/60418 Regards, Boqun