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 *)&eth_addr + 2));
+		uint32_t t;
+		move_from_unaligned32(t, ((char *)&eth_addr + 2));
 		srand(t);
 	}
 	if (ip.s_addr == 0)