When AtomicOrdering is release or stronger, use
amswap_db.[w/d] $zero, $a1, $a0
instead of
dbar 0
st.[w/d] $a0, $a1, 0
Thanks to @xry111 for the suggestion: https://reviews.llvm.org/D128901#3626635
Differential Revision: https://reviews.llvm.org/D129838