[AArch64] Emit tighter strong atomic compare-exchange loop when comparing against zero
* config/aarch64/aarch64.c (aarch64_split_compare_and_swap):
Emit CBNZ inside loop when doing a strong exchange and comparing
against zero. Generate the CC flags after the loop.
* gcc.target/aarch64/atomic_cmp_exchange_zero_strong_1.c: New test.
(backported
c5dcf8e544c5e98f1160ec390111b28d11d73b68)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248832
138bc75d-0d04-0410-961f-
82ee72b054a4
Change-Id: I5204c56a8d3c11b0fde6697007d601cbafdb3ccf