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
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to