Subject: dev/ic/am7990.c
To: None <gwr@mc.com>
From: Ignatios Souvatzis <ignatios@cs.uni-bonn.de>
List: tech-net
Date: 05/11/1996 14:16:12
From: "Gordon W. Ross" <gwr@mc.com>
Date: Fri, 10 May 96 13:17:20 EDT
In the file dev/ic/am7990.c your comment asks:
/* XXX what do we do about this?! --thorpej */
I'm pretty sure the following code will work on any machine
(even the sparc) because the memory addresses passed to this
are always aligned to at least a 2-byte boundary. Therefore,
we could just enable it for all machines. Alternatively, we
could make this a real MD function like oc_cksum() and such,
but I think using an inline like this will be faster.
Note that the avoidance of branches in this implementation is
largely responsible for reducing the generated code. My hope
was also to avoid pipelines stalls where that is an issue.
Hm... I'll check the generated m68k code for superscalarity on the
m68060. :-)
Does anyone see problems with enabling the code section below?
If you were really paranoid you would replace the last pair of *a++ ==
*b++ by *a == *b.
I've met compilers that dumb.
Regards,
Ignatios