RISC Machine Data Structure Word Alignment Problems?
Herman Rubin
cik at l.cc.purdue.edu
Tue Jan 23 22:43:53 AEST 1990
In article <LJ81OX3ggpc2 at ficc.uu.net>, peter at ficc.uu.net (Peter da Silva) writes:
> > I guess all the world's not a Vax any more, now it's a 68020.
>
> Worse, since non-word-aligned values do cost extra cycles to access, any
> 68020 C compiler that didn't pad that structure is broken. Some "features"
> of CISC processors are just too expensive to use.
Having seen the statement about penalties for unaligned, I tried the following
code (hand coded in assembler to eliminate unnecessary overhead):
.....
while(k < end)*k++ = *i++ ^ *j++;
and the j pointer was deliberately unaligned. Now this was on a VAX, and it is
possible that other machines may give different results, but the time penalty,
while there, was not excessive.
--
Herman Rubin, Dept. of Statistics, Purdue Univ., West Lafayette IN47907
Phone: (317)494-6054
hrubin at l.cc.purdue.edu (Internet, bitnet, UUCP)
More information about the Comp.lang.c
mailing list