From ce8798a65c604baae4f7602a9bee403de3941f28 Mon Sep 17 00:00:00 2001 From: ktkachov Date: Wed, 20 Dec 2017 10:28:13 +0000 Subject: [PATCH] [aarch64][libstdc++] Use __ARM_BIG_ENDIAN instead of __AARCH64EB__ in opt_random.h As has been spotted at https://gcc.gnu.org/ml/gcc-patches/2017-12/msg01289.html we check the __AARCH64EB__ macro for aarch64 big-endian detection in config/cpu/aarch64/opt/ext/opt_random.h. That works just fine with GCC but the standardised ACLE[1] macro for that purpose is __ARM_BIG_ENDIAN so there is a possibility that non-GCC compilers that include this header are not aware of this predefine. So this patch changes the use of __AARCH64EB__ to the more portable __ARM_BIG_ENDIAN. Tested on aarch64-none-elf and aarch64_be-none-elf. Preapproved by Jeff at https://gcc.gnu.org/ml/gcc-patches/2017-12/msg01326.html * config/cpu/aarch64/opt/ext/opt_random.h (__VEXT): Check __ARM_BIG_ENDIAN instead of __AARCH64EB__. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@255857 138bc75d-0d04-0410-961f-82ee72b054a4 --- libstdc++-v3/ChangeLog | 5 +++++ libstdc++-v3/config/cpu/aarch64/opt/ext/opt_random.h | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 84119ccf1d1..abfd05671d6 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,8 @@ +2017-12-20 Kyrylo Tkachov + + * config/cpu/aarch64/opt/ext/opt_random.h (__VEXT): Check + __ARM_BIG_ENDIAN instead of __AARCH64EB__. + 2017-12-18 François Dumont PR libstdc++/80761 diff --git a/libstdc++-v3/config/cpu/aarch64/opt/ext/opt_random.h b/libstdc++-v3/config/cpu/aarch64/opt/ext/opt_random.h index 330050fc7f7..7c824809b78 100644 --- a/libstdc++-v3/config/cpu/aarch64/opt/ext/opt_random.h +++ b/libstdc++-v3/config/cpu/aarch64/opt/ext/opt_random.h @@ -34,7 +34,7 @@ #ifdef __ARM_NEON -#ifdef __AARCH64EB__ +#ifdef __ARM_BIG_ENDIAN # define __VEXT(_A,_B,_C) __builtin_shuffle (_A, _B, (__Uint8x16_t) \ {16-_C, 17-_C, 18-_C, 19-_C, 20-_C, 21-_C, 22-_C, 23-_C, \ 24-_C, 25-_C, 26-_C, 27-_C, 28-_C, 29-_C, 30-_C, 31-_C}) -- 2.11.4.GIT