Oracle® Solaris Studio 12.4: C++ User's Guide

Exit Print View

Updated: March 2015
 
 

1.2 Special x86 Notes

    Be aware of some important issues when compiling for x86 Oracle Solaris platforms.

  • Programs compiled with –xarch set to sse, sse2, sse2a, sse3, or beyond must be run only on platforms that provide these extensions and features.

  • With Oracle Solaris Studio 12.4, the default instruction set and the meaning of -xarch=generic has changed to sse2. Now, compiling without specifying a target platform option results in an sse2 binary incompatible with older Pentium III or earlier systems.

  • If you compile and link in separate steps, always link using the compiler and with the same –xarch setting to ensure that the correct startup routine is linked.

  • Numerical results on x86 might differ from results on SPARC due to the x86 80-bit floating-point registers. To minimize these differences, use the –fstore option or compile with -xarch=sse2 if the hardware supports SSE2.

  • Numerical results can also differ between Oracle Solaris and Linux because the intrinsic math libraries (for example, sin(x)) are not the same.