C++ User's Guide

Values

a must be one of the following:

Platform 

Value of a

SPARC 

generic, v7, v8a, v8, v8plus, v8plusa, v9, v9a

x86 

generic, 386, 486, pentium, pentium_pro

For SPARC

SPARC architectures v7, v8a, and v8 are all binary compatible. v8plus and v8plusa are binary compatible with each other, and they are forward, but not backward, compatible.

For any particular choice, the generated executable might run much more slowly on earlier architectures.

Value of a

Meaning 

generic

 

Gets good performance on most SPARC processors, major degradation on none.  

 

With each new release, this best instruction set will be adjusted, if appropriate.  

v7

 

Limits instruction set to V7 architecture. 

 

This option uses the best instruction set for good performance on the V7 architecture, but without the quad-precision floating-point instructions. This is equivalent to using the best instruction set for good performance on the V8 architecture, but without the following instructions: 

  • The quad-precision floating-point instructions

  • The integer mul and div instructions

  • The fsmuld instruction

 

Examples: SPARCstation(TM) 1, SPARCstation 2 

v8a

 

Limits instruction set to the V8a version of the V8 architecture. 

 

By definition, V8a means the V8 architecture, but without: 

  • The quad-precision floating-point instructions

  • The fsmuld instruction

 

Example: Any machine based on microSPARC(TM) I chip architecture 

v8

 

Limits instruction set to V8 architecture. 

 

This option uses the best instruction set for good performance on the V8 architecture, but without quad-precision floating-point instructions. 

 

Example: SPARCstation 10 

 

v8plus

 

Limits instruction set to the V8plus version of the V9 architecture. 

 

By definition, V8plus means the V9 architecture, but: 

  • Without the quad-precision floating-point instructions

  • Limited to the 32-bit subset defined by the V8+ specification

  • Without the VIS instructions

 

In V8plus, a system with the 64-bit registers of V9 runs in 32-bit addressing mode, but the upper 32 bits of the i and l registers must not affect program results. 

 

Example: Any machine based on UltraSPARC(TM) chip architecture. 

 

Use of this option also causes the .o file to be marked as a V8plus binary. Such files do not run on a V7 or V8 machine.

 

v8plusa

 

Limits instruction set to the V8plusa architecture variation. 

 

By definition, V8plusa means the V8plus architecture, plus: 

  • The UltraSPARC specific instructions

  • The VIS instructions

 

This option uses the best instruction set for good performance on the UltraSPARC architecture, but limited to the 32-bit subset defined by the V8plus specification.  

 

Example: Any machine based on UltraSPARC chip architecture 

 

Use of this option also causes the .o file to be marked as a Sun-specific V8plus binary. Such files do not run on a V7 or V8 machine.

v9

Limits instruction set to the SPARC-V9 architecture.  

 

The resulting .o object files are in 64-bit ELF format and can only be linked with other object files in the same format.

 

The resulting executable can be run only on a 64-bit SPARC processor running 64-bit Solaris 7 software with the 64-bit kernel. 

 

Compiling with this option uses the best instruction set for good performance on the V9 SPARC architecture, but without the use of quad-precision floating-point instructions (available only with 64-bit Solaris 7 software). 

v9a 

Limits instruction set to the SPARC-V9 architecture, adding the Visual Instruction Set (VIS) and extensions specific to UltraSPARC processors. The resulting .o object files are in 64-bit ELF format and can be linked only with other object files in the same format.

 

The resulting executable can be run only on a 64-bit UltraSPARC processor running 64-bit Solaris 7 software with the 64-bit kernel. 

 

Compiling with this option uses the best instruction set for good performance on the V9 UltraSPARC architecture, but without the use of quad-precision floating-point instruction (available only with 64-bit Solaris 7 software). 

 

For x86

generic and 386 are equivalent in this release.

486, pentium, or pentium_pro directs the compiler to issue instructions for the Intel PentiumPro chip.