This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r248832 - in /trunk/gcc: ChangeLog config/aarch...
- From: ktkachov at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Fri, 02 Jun 2017 14:41:53 -0000
- Subject: r248832 - in /trunk/gcc: ChangeLog config/aarch...
Author: ktkachov
Date: Fri Jun 2 14:41:52 2017
New Revision: 248832
URL: https://gcc.gnu.org/viewcvs?rev=248832&root=gcc&view=rev
Log:
[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.
Added:
trunk/gcc/testsuite/gcc.target/aarch64/atomic_cmp_exchange_zero_strong_1.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/aarch64/aarch64.c
trunk/gcc/testsuite/ChangeLog