[comp.arch] communication between fixed and float units

jbs@WATSON.IBM.COM (05/17/91)

         Herman Rubin says (in connection with the Risc System 6000):
As for (2), it would reduce the cost of the hybrid operations down to
1/3 their present cost at least, and in some cases more.  For unsigned
integer to floating conversion, at present this takes an integer store,
a floating load, and a floating add, assuming that the preparations have
been made.  Other situations are even worse.

         Things are not this simple.  The 3 instructions can be over-
lapped with instructions of the opposite type (it turns out a float-
ing load is of integer type).  A proposed integer->float instruction
would presumedly be of both types.  This would make the ratio 3:2.
         Herman Rubin also says (in connection with potential gains
from easier communication between the fixed and float units):
I believe that the current elementary function library for the RS/6000
does quite a bit of this, and this might give an indication.

         I agree that easier communication between the units would help
in computing elementary functions.  However the gains would not be
spectacular (I guess 10% or so) and elementary functions themselves don't
seem all that important (anybody have numbers on this?).  There are also
other perhaps easier ways of achieving comparable gains.  For example:
         1.)  Add an instruction which gives the integer part of a
floating number as a floating number.
         2.)  Drop the requirement that the functions work for all round-
ing modes.
         3.)  Write functions which compute more than 1 value at a time.
                           James B. Shearer