busybox/include
Denys Vlasenko c305c81c94 libbb: introduce and use block-XOR functions
On x86_64, they can be done in 16-byte blocks

64-bit:
function                                             old     new   delta
xorbuf_3                                               -      84     +84
xorbuf64_3_aligned64                                   -      58     +58
smix1                                                687     712     +25
xwrite_encrypted                                     520     534     +14
xorbuf16_aligned_long                                  -      13     +13
tls_xread_record                                     733     742      +9
xorbuf                                                21      13      -8
xorbuf_aligned_AES_BLOCK_SIZE                         15       -     -15
blockmix                                             814     762     -52
blockmix_salsa8                                      317     198    -119
blockmix_xor_save                                   1620    1499    -121
blockmix_xor                                        1543    1322    -221
------------------------------------------------------------------------------
(add/remove: 4/1 grow/shrink: 3/5 up/down: 203/-536)         Total: -333 bytes

32-bit:
function                                             old     new   delta
xorbuf_3                                               -      76     +76
xorbuf64_3_aligned64                                   -      36     +36
xorbuf16_aligned_long                                  -      23     +23
xwrite_encrypted                                     499     507      +8
tls_xread_record                                     646     650      +4
xorbuf                                                22      11     -11
xorbuf_aligned_AES_BLOCK_SIZE                         23       -     -23
blockmix                                            1083     938    -145
blockmix_salsa8                                      415     210    -205
blockmix_salsa8_xor                                  601     163    -438
blockmix_xor                                        2103    1533    -570
blockmix_xor_save                                   2614    1859    -755
------------------------------------------------------------------------------
(add/remove: 4/1 grow/shrink: 2/6 up/down: 147/-2147)       Total: -2000 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2025-07-09 07:00:59 +02:00
..
.gitignore ash: allow shell scripts to be embedded in the binary 2018-11-01 10:15:13 +01:00
applet_metadata.h applet_tables: do not include libbb.h, that header ir for target builds 2011-03-28 01:23:38 +02:00
applets.h.sh modprobe-small: make applets individually selectable 2016-12-23 15:13:16 +01:00
applets.src.h Tweaks to build process for embedded scripts 2018-11-27 10:38:10 +01:00
ar_.h archival: avoid std namespace for local includes 2020-11-16 13:24:24 +01:00
bb_archive.h libarchive: remove duplicate forward declaration 2021-11-28 10:53:22 +01:00
bb_e2fs_defs.h lsattr: support more ext2 flags 2021-06-20 12:34:05 +02:00
busybox.h config: disentangle PREFER_APPLETS from SH_STANDALONE and SH_NOFORK 2016-07-22 18:48:38 +02:00
dump.h libbb/dump: make xxd_displayoff member conditional on xxd 2023-05-27 14:52:17 +02:00
fix_u32.h *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00
grp_.h libpwdgrp: use FAST_FUNC to make "matching ABI" optimization more likely to succeed 2015-01-02 22:31:07 +01:00
inet_common.h more thorough fix for systems with strange socklen_t 2010-02-02 12:45:38 +01:00
libbb.h libbb: introduce and use block-XOR functions 2025-07-09 07:00:59 +02:00
liblzo_interface.h lzop: code shrink 2018-02-01 01:41:31 +01:00
platform.h *: slap on a few ALIGN* where appropriate 2022-02-06 19:53:10 +01:00
pwd_.h libpwdgrp: use getpwent() instead of getpwent_r() 2015-02-07 21:21:02 +01:00
rtc_.h hwclock: add get/set parameters option 2023-07-12 16:27:49 +02:00
shadow_.h libpwdgrp: use FAST_FUNC to make "matching ABI" optimization more likely to succeed 2015-01-02 22:31:07 +01:00
unicode.h ash,hush: recheck LANG before every line input 2011-03-23 17:59:27 +01:00
usage.src.h httpd,telnetd: make default port configurable 2021-09-09 21:42:48 +02:00
volume_id.h blkid: if parameters are given, do not scan /dev 2012-03-03 15:09:07 +01:00
xatonum.h udhcp: finish support of classless static routes 2011-12-16 17:05:52 +01:00
xregex.h *: make GNU licensing statement forms more regular 2010-08-16 20:14:46 +02:00