Right shift vs. divide

Frank Adams franka at mmintl.UUCP
Fri Dec 27 15:50:26 AEST 1985


In article <974 at brl-tgr.ARPA> Schauble at mit-multics.arpa (Paul Schauble) writes:
>This optimization only works
>if the numbers are known to be non-negative. A Pascal compiler may make
>this optimization, becausethe programmer may specify the range for
>variables, but not C.

And you were doing so well up to this point! :-)  Of course a C compiler
can make this optimization, because the variables may be declared unsigned.

By the way, the FORTRAN compiler for the DEC-10 would process an integer
divide by two by checking the sign, incrementing if negative, and then
doing a right shift.  Since the divide took special setup (the single vs
double length operands problem), this didn't necessarily even take more
space than a divide instruction.

Frank Adams                           ihpn4!philabs!pwa-b!mmintl!franka
Multimate International    52 Oakland Ave North    E. Hartford, CT 06108



More information about the Comp.lang.c mailing list