optimize 16- and 32-bit moves
function old new delta
udhcpd_main 1239 1257 +18
udhcp_add_simple_option 93 92 -1
buffer_read_le_u32 19 18 -1
unpack_gz_stream_with_info 526 520 -6
dnsd_main 1470 1463 -7
udhcp_run_script 1208 1186 -22
send_ACK 255 229 -26
arping_main 1661 1623 -38
send_offer 470 428 -42
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/8 up/down: 18/-143) Total: -125 bytes
diff --git a/networking/zcip.c b/networking/zcip.c
index 3a349a5..df4c0ec 100644
--- a/networking/zcip.c
+++ b/networking/zcip.c
@@ -279,7 +279,8 @@
// NOTE: the sequence of addresses we try changes only
// depending on when we detect conflicts.
{
- uint32_t t = get_unaligned_u32p((uint32_t *) ((char *)ð_addr + 2));
+ uint32_t t;
+ move_from_unaligned32(t, ((char *)ð_addr + 2));
srand(t);
}
if (ip.s_addr == 0)