I need to access the 64 bit capabilities of the new V9 (under
Solaris 2.5.1), and I wonder what I need to do in order to use these
instructions...
The main problem I see is interoperability with the operating
system which needs to be told to save/restore 64 bit values on
register stack under/overflow... Now the compilers all leave
16 words for saving a register window, which at 64 bit per regs
is not quite enough :-(
Thus, I figure that the OS contains different spill code for
v8, V8+ and V9 processes... Does anybody know whether
even this minimal support for V9 already exists in 2.5.1? I will
happily use the 32 bit ABI if I can do 64 bit arithmetic
efficiently ;-)
Any suggestions, pointers, hints will be appreciated!
m.
PS: I have seriously though about saving all 64 bit registers
before every function call, but that would be too constraining...
Also, I wonder whether Solaris will save 64 bit regs on a context
switch (which should be less of a problem because the restriction
to 16 words reserved on the stack is not there...)