Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/sys/lib/libsa



On Sat, Dec 02, 2006 at 12:38:22AM +0000, Tom Spindler wrote:
> 
> Log Message:
> make bootxx_msdos fit in 8k again; thanks, __internal_memset_, for spilling
> registers all over the place.

I've found out which change make the code bloat...
http://cvsweb.netbsd.org/bsdweb.cgi/src/sys/fs/msdosfs/bpb.h.diff?r1=1.4&r2=1.5&f=h

It seems gcc generates better code for:
        a[0] + (a[1] << 8) + (a[2] << 16) + (a[3] << 24)
than for:
        a[0] | (a[1] << 8) | (a[2] << 16) | (a[3] << 24)

However the code really needs:
        #if (BYTE_ORDER == LITTLE_ENDIAN) && defined(UNALIGNED_ACCESS)
to be true...

        David

-- 
David Laight: david%l8s.co.uk@localhost



Home | Main Index | Thread Index | Old Index