Ian H. Merritt (csustan!csun!psivax!nrcvax!ihm@LLL-WINKEN.ARPA)
8 Oct 87 16:05:47 GMT
>There is a fourth way that we (Symbolics) have done which you did not
>(a) Pick a compile-time unrolling factor, usually a power of 2, say 16 = 2^4.
>(b) Divide the data length by the unrolling factor, obtaining a quotient
> and remainder. When the unrolling factor is a power of two, the
> quotient is a shift and the remainder is a logical AND.
>(c) Write a unrolled loop whose length is the unrolling factor. Execute
> this loop <quotient> times.
>(d) Write an un-unrolled loop (whose length is therefore 1). Execute
> this loop <remainder> times.
Or if you have memory to burn (which is fast becoming a common
condition), just unroll the loop for the maximum condition and branch
into it at the appropriate point to process the length of the actual
This archive was generated by hypermail 2.0b3 on Thu Mar 09 2000 - 14:39:35 GMT