this
will improve performance even on targets which don't have an optimized strlen. It is about twice
as
fast as the original strncat in bench-strncat.
+2014-10-24 Wilco Dijkstra <wdijkstr@arm.com>
+
+ * string/strncat.c (strncat): Improve performance by using strlen.
+
2014-10-24 Wilco Dijkstra <wdijkstr@arm.com>
* string/strcat.c (strcat): Improve performance by using strlen/strcpy.
char *s = s1;
/* Find the end of S1. */
- do
- c = *s1++;
- while (c != '\0');
+ s1 += strlen (s1);
/* Make S1 point before next character, so we can increment
it while memory is read (wins on pipelined cpus). */
- s1 -= 2;
+ s1 -= 1;
if (n >= 4)
{