source: trunk/doc/Notes.os2@ 613

Last change on this file since 613 was 613, checked in by zap, 22 years ago

OS/2 specific issues in gcc.

  • Property cvs2svn:cvs-rev set to 1.1
  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 886 bytes
Line 
1Features, caveats and tricks
2----------------------------
3
4 _Optlink
5 --------
6
7 The _Optlink implementation differs from VACPP implementation in the
8 following ways:
9
10 o _Optlink is not enabled unless you enable optimization (-O).
11
12 o The floating-point parameters are always passed on stack, never in
13 FPU registers.
14
15 Use _Optlink for VACPP compatibility only. If you want performance,
16 use the __attribute__((regparm=x)), where x is the number of parameters
17 to be passed in registers (_Optlink uses three). The 'regparm' calling
18 convention is much more optimal than _Optlink: it does not allocate
19 stack for parameters passed in registers (and does not store registers
20 in that location right at the function entry), does not have the strange
21 limit of 12 arguments ('eyecatcher bitfields') considered for conformance
22 and other benefits.
Note: See TracBrowser for help on using the repository browser.