Hi Richard,

On 26/09/18 06:03, rth7...@gmail.com wrote:
From: Richard Henderson <richard.hender...@linaro.org>

This pattern will only be used with the __sync functions, because
we do not yet have a bare TImode atomic load.

Does this mean that the libatomic `defined(atomic_compare_exchange_n)` checks would return false for 16 bytes sizes?
(the acinclude.m4 file checks for __atomic_compare_exchange_n)

You would know better than I, but if that's the case it seems that the atomic_{load,store}_16 implementations in libatomic would still use the locking ABI, and e.g. atomic_load_16 could be interrupted by using the CASP instruction to produce an incorrect value.

Reply via email to