| 1 | Features, 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
|
|---|
|
|---|