Date: Mon, 20 Aug 2012 13:20:29 -0600 From: Warner Losh <imp@bsdimp.com> To: Wojciech Puchar <wojtek@wojtek.tensor.gdynia.pl> Cc: freebsd-hackers@freebsd.org, Mitya <mitya@cabletv.dp.ua>, freebsd-net@freebsd.org Subject: Re: Replace bcopy() to update ether_addr Message-ID: <5452BF37-3658-4C1F-B965-CE3EA28B6EA5@bsdimp.com> In-Reply-To: <alpine.BSF.2.00.1208202117230.19372@wojtek.tensor.gdynia.pl> References: <50324DB4.6080905@cabletv.dp.ua> <alpine.BSF.2.00.1208201844220.35173@wojtek.tensor.gdynia.pl> <B2BB7724-57A9-40C9-AE9F-FFEC83D9DE9A@bsdimp.com> <alpine.BSF.2.00.1208202117230.19372@wojtek.tensor.gdynia.pl>
next in thread | previous in thread | raw e-mail | index | archive | help
On Aug 20, 2012, at 1:17 PM, Wojciech Puchar wrote: >>> or use ++. >>>=20 >>> i think it is always aligned to 2 bytes and this should produce = usable code on any CPU? should be 6 instructions on MIPS and PPC IMHO. >>=20 >> We should tag it as __aligned(2) then, no? If so, then the compiler = should generate the code you posted. > should is the most important word in Your post. what it actually do - = i don't know. If we are requiring this to be __aligned(2), we should tag it as such to = enforce this. Even without this tagging, the code to do a structure level copy of 6 = bytes is going to be tiny... Warner
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5452BF37-3658-4C1F-B965-CE3EA28B6EA5>