[PATCH, PR83492] Fix selection of aarch64 big-endian shift parameters based on __AARC...
authorMichael Weiser <michael.weiser@gmx.de>
Wed, 20 Dec 2017 15:07:01 +0000 (15:07 +0000)
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>
Wed, 20 Dec 2017 15:07:01 +0000 (15:07 +0000)
2017-12-20  Michael Weiser  <michael.weiser@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.

From-SVN: r255896

libcpp/ChangeLog
libcpp/lex.c

index 5a41cf4b5f510c2508ebb2445e4add282c5cf6a3..2224b9ea315cdc4ec8152e395cd54f74153574f3 100644 (file)
@@ -1,3 +1,10 @@
+2017-12-20  Michael Weiser  <michael.weiser@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.
+
 2017-12-14  Bernd Edlinger  <bernd.edlinger@hotmail.de>
 
        * internal.h (maybe_print_line): Change signature.
index a8dc3bae5e4e7b575462d493c9c11c58b07a58fa..6fca257710570780db810ceb56dd2e41e7048c9a 100644 (file)
@@ -772,7 +772,7 @@ search_line_fast (const uchar *s, const uchar *end ATTRIBUTE_UNUSED)
   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};