PowerPC dialog box

Processor (drop-down list)

Generates code for the selected processor's instruction set.

Floating point processor (drop-down list)

Default

Generates code using the floating point capabilities of the selected processor.

None

Rejects any use of floating point variables or constants in C, C++, or Pascal. Equivalent to the -fnone build-time option.

The following are descriptions of the check boxes in the PowerPC window.

Constant Data Section

Places all string literals, floating point constants, and initialized variables declared const in C and C++ in a separate section, rather than the section containing other initialized data.

This option is on by default. When disabled, constant data will be placed in the .data or .sdata section. The user should take care when using this option and interfacing with the provided libraries. The libraries place constant data in .rodata sections, and problems can come up due to the inconsistency, particularly if the user turns on Position Independent Code or Data.

Position Independent Code

Generates position independent code. Equivalent to the -pic PIC option.

Position Independent Data

Generates position independent data. Equivalent to the -pid PID option.

Far Function Calls

Uses the PowerPC instructions mtlr followed by blrl instead of bl for all calls so that a full 32-bit displacement may be used. This is not supported with position independent code. Equivalent to the -farcalls command line option.

Inline Prologue

Normally, the compiler chooses the most efficient function prologue and epilogue, depending on the optimization settings. This option prevents the compiler from calling off to library routines for this purpose; inline code sequences will be used instead. This option may adversely impact the size of the generated code, so it should only be used when it is necessary (for example, when the routines may not exist in memory yet).

Little Endian

Specifies code generation for a little endian system. Equivalent to the -littleendian command line option.

Label at End of Function

Specifies that a global label of the form __ghs_eofn_funcname will be placed at the end of every function. This can be useful for computing the size of functions based on global symbols.

Truncate single-precision fp on RSC:

This option only affects the Power architecture -cpu=rsc. Unlike PowerPC, the closely related Power Architecture/RS6000 does not have arithmetic instructions that produce a single precision result. As a result, code which depends on the exact precision of single precision quantities may not execute correctly. This option causes the compiler to truncate the result to a single precision quantity after each single precision arithmetic operation; this will cause the code to have the desired behavior in these cases. This option is meaningless for non-RS6000 members of the Power/PowerPC family.

Small Data or Zero Data Threshold

Specifies a size in bytes to determine which data objects appear in the Small or Zero Data Areas. By default, objects less that 8 bytes are placed in Small Data Area (i.e. the default small data area threshold is 8), and no objects are placed in Zero Data Area (i.e. the default zero data area threshold is 0). Equivalent to the -sda= and -zda= special data area options.

See the Development Guide for more information on the SDA and ZDA optimizations.

Put variables smaller than threshold size into (drop-down list)

Species the XDA section for variables smaller than the specified threshold. If "Normal Data" is selected, all variables will be placed in normal data rather than the SDA or ZDA sections.


Previous

Next



Copyright © 1999, Green Hills Software. All rights reserved.