NCG, regClass, Float and Double
Wolfgang Thaller
wolfgang.thaller@gmx.net
Wed, 11 Sep 2002 00:11:44 +0300
I'm currently working on a native code generator for PowerPC. I've
already got some modules to compile and run :-), but now I need the
help of a NCG wizard...
*) I'm confused about the way the NCG handles floating-point:
It seems to introduce a distinction between Float and Double FP
registers (Normally, on PowerPC, every FP reg can be used as either
single or double precision). The x86 NCG seems to be using only Double
regs, and the sparc NCG seems to partition the available registers in
Double and Float registers.
I've got 14 caller-save FP Regs (of which up to 13 are used for
parameter passing), 6 callee-saves mapped to STG regs and 12 free
callee-save FP Regs. What shall I do with them?
I can't label the parameter-passing regs as either Float or Double,
they have to be used for both types (for a ccall, at least).
*) Eventually, I'll need to generate stub code for symbols that might
be imported from shared libraries. For every symbol mentioned in a
ccall, I'll need to append a few lines to the output file (with only
little variation). Where would something like that fit into the
structure of the code?
Thanks in advance.
Cheers,
Wolfgang
_______________________________________________
Cvs-ghc mailing list
Cvs-ghc@haskell.org
http://www.haskell.org/mailman/listinfo/cvs-ghc