Ping?

Michael Hudson-Doyle <michael.hud...@linaro.org> writes:

> Marcus Shawcroft <marcus.shawcr...@gmail.com> writes:
>
>> On 3 October 2013 23:43, Michael Hudson-Doyle <michael.hud...@linaro.org> 
>> wrote:
>>> Hi,
>>>
>>> As libatomic builds for and the tests pass on AArch64 (built on x86_64
>>> but tested on a foundation model, logs and summary:
>>>
>>>     http://people.linaro.org/~mwhudson/libatomic.sum.txt
>>>     http://people.linaro.org/~mwhudson/runtest-log-v-2.txt
>>>
>>> ) this patch enables the build.
>>>
>>> Cheers,
>>> mwh
>>> (first time posting to this list, let me know if I'm doing it wrong)
>>>
>>> 2013-10-04  Michael Hudson-Doyle  <michael.hud...@linaro.org>
>>>
>>>           * configure.tgt: Add AArch64 support.
>>>
>>
>> Hi,
>> The patch looks fine to me.
>
> Thanks for looking!
>
>> The ChangeLog entry should reflect the code that was removed rather
>> than the functionality added.  Perhaps:
>>
>>           * configure.tgt (aarch64*): Remove.
>
> There are few too many negatives going on to make a pithy explanation
> easy...
>
>> Did you investigate whether or not the 10 UNSUPPORTED results in the
>> testsuite are sane?
>
> I did not, but have now.
>
>> I think that 5 look legitimate since they require 128 bit sync ops.
>> The other 5 look superficially like they should be supported on
>> aarch64.  We may just be missing aarch64 target supports wiring in
>> check_effective_target_sync_long_long_runtime?
>
> Yes, that was it, with appropriate changes the -4 tests all pass.
>
> However, just out of a sense of curiosity, I added wiring to claim
> aarch64* supports 128 bit sync ops and all the -5 tests pass too.  Is
> that just luck or because the reservation granule on the foundation
> model is big enough or something else?
>
> In any case, I'll attach a patch that just claims support for long long
> sync ops for now...
>
> Cheers,
> mwh
>
>> /Marcus
>
> 2013-10-04  Michael Hudson-Doyle  <michael.hud...@linaro.org>
>
>           * libatomic/configure.tgt (aarch64*): Remove code preventing
>             build.
>
>           * gcc/testsuite/lib/target-supports.exp
>             (check_effective_target_sync_long_long): AArch64 supports
>             atomic operations on "long long".
>             (check_effective_target_sync_long_long_runtime): AArch64 can
>             execute atomic operations on "long long".
>
> diff --git a/gcc/testsuite/lib/target-supports.exp 
> b/gcc/testsuite/lib/target-supports.exp
> index 7eb4dfe..5557c06 100644
> --- a/gcc/testsuite/lib/target-supports.exp
> +++ b/gcc/testsuite/lib/target-supports.exp
> @@ -4508,6 +4508,7 @@ proc check_effective_target_sync_int_128_runtime { } {
>  proc check_effective_target_sync_long_long { } {
>      if { [istarget x86_64-*-*]
>        || [istarget i?86-*-*])
> +      || [istarget aarch64*-*-*]
>        || [istarget arm*-*-*]
>        || [istarget alpha*-*-*]
>        || ([istarget sparc*-*-*] && [check_effective_target_lp64]) } {
> @@ -4537,6 +4538,8 @@ proc check_effective_target_sync_long_long_runtime { } {
>               }
>           } ""
>       }]
> +    } elseif { [istarget aarch64*-*-*] } {
> +     return 1
>      } elseif { [istarget arm*-*-linux-*] } {
>       return [check_runtime sync_longlong_runtime {
>           #include <stdlib.h>
> diff --git a/libatomic/configure.tgt b/libatomic/configure.tgt
> index b9e5d6c..7eaab38 100644
> --- a/libatomic/configure.tgt
> +++ b/libatomic/configure.tgt
> @@ -95,11 +95,6 @@ fi
>  
>  # Other system configury
>  case "${target}" in
> -  aarch64*)
> -     # This is currently not supported in AArch64.
> -     UNSUPPORTED=1
> -     ;;
> -
>    arm*-*-linux*)
>       # OS support for atomic primitives.
>       config_path="${config_path} linux/arm posix"

Reply via email to