Go to main content
Oracle® Developer Studio 12.6: C++ User's Guide

Exit Print View

Updated: July 2017

1.2 Special x86 Notes

    Be aware of some important issues when compiling for x86 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 Developer Studio12.6, 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.