On Tue, Oct 05, 1999 at 06:19:20PM +0200, Guillermo Ballester Valor wrote:
>ii) On the other hand, FFTW does not use 'register' at all. All local
>variables are stored on stack. I don't know much about compilers, but
>perhaps some good compilers can use the register storage as speed
>optimization.
gcc should be able to, at least newer versions (post-egcs phase).
>Looking at the code generated by gnu-gcc on intel
>processors, some local double variables are stored on intel fpu and the
>performance is so good.
Try Pentium GCC once (http://www.goof.com/pcg/). It has some MMX support
built-in. If you run out of integer registers (and don't do float), it's
interestingly enough storing data in MMX registers. On the other hand,
I think MacLucasUNIX will use a _lot_ of floats.
It will even compile on non-Intel machines (I think...), but I've got
_no_ clue at all (I think nobody has...) about the performance. Volunteers?
>My question is: What can happen in FFTW code if we directly include
>'register' keys management on its local temporal variable definitions?.
>This sort of things can be made with a single compiler option?.
-Dregister= will do the trick and remove _all_ register keywords. They're
a bad thing in general. The compiler should be able to decide for itself
which variables that are to be put in registers.
const, on the other hand, should be used as much as possible (think `const
struct foo * const * const bar' here...). But I guess they wouldn't have
overlooked such a textbook rule...
>> The other line of approach I have on improving MacLucasUNIX is to try
>> Digital's native C compiler - the linux beta is currently available
>> FOC, but unfortunately I will have to upgrade linux to run it as it
>> requires 5.2 or later.
Linux 5.2?
Surely, you must be referring to RedHat 5.2? Upgrading your libc from
scratch isn't all that hard, if you can do with a bit of tweaking.
/* Steinar */
--
Homepage: http://members.xoom.com/sneeze/
_________________________________________________________________
Unsubscribe & list info -- http://www.scruz.net/~luke/signup.htm
Mersenne Prime FAQ -- http://www.tasam.com/~lrwiman/FAQ-mers