Hi Andrew,
>> >> Tested the series for aarch64-none-linux-gnu with native bootstrap and >> make check. Also tested for aarch64-none-elf with cross-compiled >> check-gcc on an ARMv8.1 emulator with +lse enabled by default. > > > Are you going to add some builtins for MIN/MAX support too? The ACLE does not specify special intrinsics for any of the atomic instructions, implementing the GCC intrinsics for atomics. The AArch64 backend is consistent with the ACLE in terms of the intrinsics that have been added into it. Having had some internal discussions on this topic - I've been made aware that there are proposals such as http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3696.htm, though not considered for C++14 might be a useful avenue to explore. It is better to add intrinsics to the general GCC language extensions that matched with this or were suitable rather than something to the AArch64 backend. We have no immediate plans of doing so - Is this something you can help with ? regards Ramana > > Thanks, > Andrew Pinski > >> >> Ok for trunk? >> Matthew >> >> 2015-09-17 Matthew Wahab <matthew.wa...@arm.com> >> >> * config/aarch64/aarch64-protos.h (aarch64_gen_atomic_ldop): >> Adjust declaration. >> * config/aarch64/aarch64.c (aarch64_emit_bic): New. >> (aarch64_gen_atomic_load_op): Adjust comment. Add parameter >> out_result. Update to support update-fetch operations. >> * config/aarch64/atomics.md (aarch64_atomic_exchange<mode>_lse): >> Adjust for change to aarch64_gen_atomic_ldop. >> (aarch64_atomic_<atomic_optab><mode>_lse): Likewise. >> (aarch64_atomic_fetch_<atomic_optab><mode>_lse): Likewise. >> (atomic_<atomic_optab>_fetch<mode>): Change to an expander. >> (aarch64_atomic_<atomic_optab>_fetch<mode>): New. >> (aarch64_atomic_<atomic_optab>_fetch<mode>_lse): New. >> >> gcc/testsuite >> 2015-09-17 Matthew Wahab <matthew.wa...@arm.com> >> >> * gcc.target/aarch64/atomic-inst-ldadd.c: Add tests for >> update-fetch operations. >> * gcc.target/aarch64/atomic-inst-ldlogic.c: Likewise. >>