On 20/12/17 14:58, Michael Weiser wrote:
Hi Kyrill,

On Wed, Dec 20, 2017 at 09:25:07AM +0000, Kyrill Tkachov wrote:

A patch to use __ARM_BIG_ENDIAN in those two spots is approved.
I'll take care of the opt_random occurrence.
Michael, would you like to respin your patch to libcpp to use
__ARM_BIG_ENDIAN?
Happy to. Created yesterday against trunk, no changes with today's trunk.
Tested successfully by applying to 7.2.0, bootstrapping on
aarch64_be-unknown-linux-gnu and compiling various OS packages with the
resulting compiler.

Thanks! I think that's the first report I've seen of an aarch64_be-unknown-linux-gnu bootstrap :)
Since Jeff approved such a change already I've applied it
for you to trunk as r255896.

I'll give it a day or two for any auto-testers to give it a
try before backporting to the GCC 7 branch.

Thanks,
Kyrill

2017-12-20  Michael Weiser  <michael.wei...@gmx.de>

        PR preprocessor/83492
        * lex.c (search_line_fast) [__ARM_NEON && __ARM_64BIT_STATE]:
        Fix selection of big-endian shift parameters by using
        __ARM_BIG_ENDIAN.

Index: libcpp/lex.c
===================================================================
--- libcpp/lex.c        (revision 255828)
+++ libcpp/lex.c        (working copy)
@@ -772,7 +772,7 @@
    const uint8x16_t repl_qm = vdupq_n_u8 ('?');
    const uint8x16_t xmask = (uint8x16_t) vdupq_n_u64 (0x8040201008040201ULL);
-#ifdef __AARCH64EB
+#ifdef __ARM_BIG_ENDIAN
    const int16x8_t shift = {8, 8, 8, 8, 0, 0, 0, 0};
  #else
    const int16x8_t shift = {0, 0, 0, 0, 8, 8, 8, 8};

Reply via email to