home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.arch
- Path: sparky!uunet!munnari.oz.au!cs.mu.OZ.AU!munta.cs.mu.OZ.AU!fjh
- From: fjh@munta.cs.mu.OZ.AU (Fergus James HENDERSON)
- Subject: Re: how to advocate new software/hardware features (Re: Hardware Support for Numeric Algorithms)
- Message-ID: <9232615.9614@mulga.cs.mu.OZ.AU>
- Sender: news@cs.mu.OZ.AU
- Organization: Computer Science, University of Melbourne, Australia
- References: <TMB.92Nov13144057@arolla.idiap.ch> <1992Nov13.155126.3660@linus.mitre.org> <TMB.92Nov14145619@pollux.idiap.ch> <7899@charon.cwi.nl>
- Date: Sat, 21 Nov 1992 04:07:32 GMT
- Lines: 24
-
- dik@cwi.nl (Dik T. Winter) writes:
-
- >But wait. SPARC version 7 does not have an integer multiply instruction,
- >it uses multiply step. When you code the multiply in assembly you will
- >find that you get a 64 bit result, but in C it is not possible to
- >retrieve that result. Doing it with inline assembly is not what you
- >want in general (>32 instructions inline assembly), so you do it
- >out-of-line. Hence it is not sufficient to have good inliners, on
- >some platforms you need out of line assembly routines to do what you
- >want, and no, the compilers do not help. (The same holds for HP-PA 1,
- >IBM PC-RT, AMD 29k and a few more.) So the operation is available but
- >you do not get it.
- >
- >So let's see. You promote the GCC interface with asm. How do you
- >code the 32x32->64 multiply on the SPARC in GCC?
-
- Just put the asm code in a (non-inline) function, instead of in a macro or
- inline function.
-
- --
- Fergus Henderson fjh@munta.cs.mu.OZ.AU
- This .signature virus is a self-referential statement that is true - but
- you will only be able to consistently believe it if you copy it to your own
- .signature file!
-