diff options
author | ktkachov <ktkachov@138bc75d-0d04-0410-961f-82ee72b054a4> | 2017-12-20 15:07:01 +0000 |
---|---|---|
committer | ktkachov <ktkachov@138bc75d-0d04-0410-961f-82ee72b054a4> | 2017-12-20 15:07:01 +0000 |
commit | e5c3036ac093aec7b4fc275ca6a60213f43bf997 (patch) | |
tree | d8b4c68fd5e8aaaf9358ffc8a0ec0c64eb80f0ea /libcpp | |
parent | d71c73164c3cc73c51c118aa7d552243c19a33c4 (diff) |
[PATCH, PR83492] Fix selection of aarch64 big-endian shift parameters based on __AARCH64EB__
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@255896 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libcpp')
-rw-r--r-- | libcpp/ChangeLog | 7 | ||||
-rw-r--r-- | libcpp/lex.c | 2 |
2 files changed, 8 insertions, 1 deletions
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index 5a41cf4b5f5..2224b9ea315 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -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. diff --git a/libcpp/lex.c b/libcpp/lex.c index a8dc3bae5e4..6fca2577105 100644 --- a/libcpp/lex.c +++ b/libcpp/lex.c @@ -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}; |