Xref: utzoo comp.lang.c++:2209 comp.lang.c:14578 comp.lang.misc:2308
Path: utzoo!utgpu!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!unmvax!pprg.unm.edu!hc!lll-winken!arisia!quintus!ok
From: ok@quintus.uucp (Richard A. O'Keefe)
Newsgroups: comp.lang.c++,comp.lang.c,comp.lang.misc
Subject: Re: Assembly or ....
Message-ID: <818@quintus.UUCP>
Date: 6 Dec 88 08:29:45 GMT
References: <1388@aucs.UUCP> <707@ethz.UUCP>
Sender: news@quintus.UUCP
Reply-To: ok@quintus.UUCP (Richard A. O'Keefe)
Organization: Quintus Computer Systems, Inc.
Lines: 20

In article <707@ethz.UUCP> pasche@bernina.UUCP (Stephan Paschedag) writes:
>In article <1388@aucs.UUCP> 861087p@aucs.UUCP (A N D R E A S) writes:
>>I've been told also that there are some low-level operations
>>that you just can't do in C or any other high level language.
>for example : I don't know a high-level language where you have control of
>	      the CPU status flags. These can be very useful for some 
(a) BLISS, PL/360, most such MOHLLs.
(b) C with "asm" or "inline" can be made to generate any instruction.
(c) A high-level language which is not tied to a specific machine can't
    provide a way of getting at the condition codes/carry/overflow flag
    for the simple reason that there are machines (MIPS, MC88000) which
    haven't got any.

>	      applications. One example is an operation you need for a
>	      fft program.

Bit reversal for an FFT program is best done with a table lookup.
On most machines the floating-point operations will swamp the bit
reversal, so you don't need the machine-specific loop.  On a high-
performance machine (e.g. MIPS) the bit-at-a-time loop will be
killingly slow, compared with a table lookup.