This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: passing regparm floating-point args in FPU registers


Andrew Zabolotny wrote:
So, now I don't get those 'fld NaN' at the beginning of the function,
but instead I'm getting random ICE's in different situations (ex. in
this function: float doit (float x, float y) { return y; }).

There isn't enough info here to help. We would probably need all of the patches you have written. Since this feature is of limited interest, you probably won't find anyone willing to help you for free. Try debugging gcc, or giving more specific info, like stack backtraces for the ICEs. If you can identify a specific gcc bug, then we may be able to help.


When showing us patches, you should use "cvs diff" or "diff", rather than just showing us your current code.

And another small problem: _Optlink requires that those args that are
passed in registers should have a equivalent space reserved on the
stack.

See REG_PARM_STACK_SPACE. You may also have to define related macros, or tweak other parts of the calling convention support, in order to get this working. See also the code in function.c and calls.c which handle receiving function arguments and passing function arguments respectively.
--
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]