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.
>>

Reply via email to