diff options
author | Chris Metcalf <cmetcalf@mellanox.com> | 2017-12-05 10:24:56 -0500 |
---|---|---|
committer | Chris Metcalf <cmetcalf@mellanox.com> | 2017-12-05 10:24:56 -0500 |
commit | f18b8dc7d7ef3f01804e241d40f92faf480264c0 (patch) | |
tree | afdff9b17e2e45a11f18d5ea87a22c6705949d73 /ChangeLog | |
parent | 446d22e91d3113be57a4b0d1151cf337458c3bec (diff) | |
download | glibc-f18b8dc7d7ef3f01804e241d40f92faf480264c0.zip glibc-f18b8dc7d7ef3f01804e241d40f92faf480264c0.tar.gz glibc-f18b8dc7d7ef3f01804e241d40f92faf480264c0.tar.bz2 |
tilegx: work around vector insn bug in gcc
Avoid an issue in gcc where some of the vector (aka SIMD) ops will
sometimes end up getting wrongly optimized out. We use these
instructions in many of the string implementations. If/when we
have an upstreamed fix for this problem in gcc we can conditionalize
the use of the extended assembly workaround in glibc.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -1,3 +1,17 @@ +2017-12-05 Chris Metcalf <cmetcalf@mellanox.com> + + * sysdeps/tile/tilegx/string-endian.h (VECOP): Provide working + replacements for __insn_xxx builtins for v1cmpeq, v1cmpltu, + v1cmpne, v1add, v1shru, v1shl (register and immediate versions). + * sysdeps/tile/tilegx/memchr.c (__memchr): Use VECOP function + instead of __insn__xxx. + * sysdeps/tile/tilegx/rawmemchr.c (__rawmemchr): Likewise. + * sysdeps/tile/tilegx/strstr.c (strcasechr): Likewise. + * sysdeps/tile/tilegx/strrchr.c (strrchr): Likewise. + * sysdeps/tile/tilegx/strlen.c (strlen): Likewise. + * sysdeps/tile/tilegx/strchrnul.c (__strchrnul): Likewise. + * sysdeps/tile/tilegx/strchr.c (strchr): Likewise. + 2017-12-05 Florian Weimer <fweimer@redhat.com> Linux: Implement interfaces for memory protection keys |