]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Partial backport r256656
authorMartin Liska <mliska@suse.cz>
Fri, 15 Jun 2018 08:51:28 +0000 (10:51 +0200)
committerMartin Liska <marxin@gcc.gnu.org>
Fri, 15 Jun 2018 08:51:28 +0000 (08:51 +0000)
2018-06-15  Martin Liska  <mliska@suse.cz>

Backport from mainline
2018-01-10  Kelvin Nilsen  <kelvin@gcc.gnu.org>

* lex.c (search_line_fast): Remove illegal coercion of an
unaligned pointer value to vector pointer type and replace with
use of __builtin_vec_vsx_ld () built-in function, which operates
on unaligned pointer values.

From-SVN: r261621

libcpp/ChangeLog
libcpp/lex.c

index c920a05d438433e0d8a59ddf7b90ea389a62f667..a63abb04f5e47c3b747e1d942c032e28a55a72ab 100644 (file)
@@ -1,3 +1,15 @@
+2018-06-15  Martin Liska  <mliska@suse.cz>
+
+       PR bootstrap/86162
+
+       Backport from mainline
+       2018-01-10  Kelvin Nilsen  <kelvin@gcc.gnu.org>
+
+       * lex.c (search_line_fast): Remove illegal coercion of an
+       unaligned pointer value to vector pointer type and replace with
+       use of __builtin_vec_vsx_ld () built-in function, which operates
+       on unaligned pointer values.
+
 2017-07-04  Release Manager
 
        * GCC 6.4.0 released.
index e5a0397f309995760429601fa204b6039dbe9c33..b789686f1c499bfd6fe98861232346cc8562f919 100644 (file)
@@ -568,7 +568,7 @@ search_line_fast (const uchar *s, const uchar *end ATTRIBUTE_UNUSED)
     {
       vc m_nl, m_cr, m_bs, m_qm;
 
-      data = *((const vc *)s);
+      data = __builtin_vec_vsx_ld (0, s);
       s += 16;
 
       m_nl = (vc) __builtin_vec_cmpeq(data, repl_nl);