Xref: utzoo comp.lang.c++:2169 comp.lang.c:14460 comp.lang.forth:706 comp.lang.fortran:1573 comp.lang.misc:2255 comp.arch:7412
Path: utzoo!attcan!uunet!seismo!sundc!pitstop!sun!chiba!khb
From: khb%chiba@Sun.COM (Keith Bierman - Sun Tactical Engineering)
Newsgroups: comp.lang.c++,comp.lang.c,comp.lang.forth,comp.lang.fortran,comp.lang.misc,comp.arch
Subject: Re: Assembly or ....
Message-ID: <79744@sun.uucp>
Date: 1 Dec 88 22:37:43 GMT
References: <1388@aucs.UUCP| <729@convex.UUCP> <1961@crete.cs.glasgow.ac.uk> <7740@boring.cwi.nl> <1039@l.cc.purdue.edu>
Sender: news@sun.uucp
Reply-To: khb@sun.UUCP (Keith Bierman - Sun Tactical Engineering)
Organization: Sun Microsystems, Mountain View
Lines: 29

In article <1039@l.cc.purdue.edu> cik@l.cc.purdue.edu (Herman Rubin) writes:
>
>Can division be pipelined?  In scalar mode on the CYBER 205, division is not
>subject for pipelining.  I believe that this is the case because too much of
>the dividend must be retained throughout.

The cydra 5 had it pipelined, but the pipe was interlocked during
operation. This was said to be due to a lack of real estate (viz could
have been fully pipelined if (a) not for gradual underflow (the cydra
5 was a fully ieee compliant machine), (b) there was more space it
could have been done anyway.

>
>Even if CORDIC is not used, returning the sine and cosine would be faster in
>software than two function calls.  The corresponding function is in some of
>the libraries I know, but I have not seen any other implementation than the
>two calls.

DEC's famous math$sincos does this. SunFORTRAN takes two calls (in the
user code) and turns them into one call to the sun sincos routine.
Unless I am mistaken this is a very old and well known optimization
(which is typically invisible to the user).

On many machines the cost of both is only a couple of % more than the
cost of one.


Keith H. Bierman
It's Not My Fault ---- I Voted for Bill & Opus