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.
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.