Adhemerval Zanella
30c1dfde31
string: Improve generic stpcpy
...
It follows the strategy:
- Align the destination on word boundary using byte operations.
- If source is also word aligned, read a word per time, check for
null (using has_zero from string-fzb.h), and write the remaining
bytes.
- If source is not word aligned, loop by aligning the source, and
merging the result of two reads. Similar to aligned case,
check for null with has_zero, and write the remaining bytes if
null is found.
Checked on x86_64-linux-gnu, i686-linux-gnu, powerpc64-linux-gnu,
and powerpc-linux-gnu by removing the arch-specific assembly
implementation and disabling multi-arch (it covers both LE and BE
for 64 and 32 bits).
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Noah Goldstein <goldstein.w.n@gmail.com>
2023-02-06 16:19:35 -03:00
..
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2017-03-23 11:32:29 -03:00
2023-01-06 21:14:39 +00:00
2021-09-03 22:06:44 +05:30
2021-09-03 22:06:44 +05:30
2021-09-03 22:06:44 +05:30
2017-03-23 11:32:29 -03:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-02-06 16:19:35 -03:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-02-06 16:16:19 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-02-06 16:19:35 -03:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-02-06 16:19:35 -03:00
2023-02-06 16:19:35 -03:00
2023-02-06 16:19:35 -03:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-02-06 16:19:35 -03:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-02-06 16:19:35 -03:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-31 19:13:46 -06:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2017-03-23 11:32:29 -03:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2017-03-23 11:32:29 -03:00
2022-09-22 08:48:04 -03:00
2023-01-06 21:14:39 +00:00
2023-01-06 21:14:39 +00:00
2017-03-23 11:32:29 -03:00
2017-03-23 11:32:29 -03:00
2017-03-23 11:32:29 -03:00
2017-03-23 11:32:29 -03:00
2017-03-23 11:32:29 -03:00
2023-01-06 21:14:39 +00:00
2021-10-26 16:51:29 -05:00
2023-01-12 09:06:00 -03:00
2023-01-06 21:14:39 +00:00