Oracle® Solaris Studio 12.4: Numerical Computation Guide

Exit Print View

Updated: January 2015
 
 

5.3 Default Address Model and Code Generation

In Oracle Solaris Studio 12.4 and previous releases, the default address space model is –m32 for 32-bits for Oracle Solaris OS. However, on Linux the default is –m32 for 32-bit hardware and –m64 for 64-bit hardware.

For SPARC, the default is –xarch=sparc.

For x86, the default is –xarch=sse2.


Note -  In previous Studio releases, the x86 default was -xarch-386 for -m32 and -xarch=sse2 for -m64.

The new x86 default –m32 -xarch=sse2 implements the same ABI as the previous default –m32 –xarch=386. Floating-point operands and results are passed in x87 floating-point registers. However, the following single-precision and double-precision floating-point operations are usually performed in sse2 registers.

  • +

  • -

  • *

  • /

  • sqrt

  • convert

x87 registers are still used for long double operations and hardware elementary transcendental function evaluations.

This means that the results of x86 default-compiled floating-point computations might vary slightly with Oracle Solaris Studio 12.4 relative to previous Studio releases, even on the same hardware and operating system.