Note the following new and changed features in the current C compiler release.
New -xarch, -xchip, and -xtarget values for Intel Ivy Bridge processor on x86.
New -xarch, -xchip, and -xtarget values for SPARC T5, M5, M6, and M10+ processors.
Support for Ivy Bridge assembler instructions.
Support for Ivy Bridge intrinsic functions, which can be found in solstudio-install-dir/lib/compilers/include/cc/immintrin.h.
Default value for -xarch=generic set to sse2 for -m32 on x86.
Support for -xlinkopt on x86. Inter-module, inter-procedural code ordering optimizations for large enterprise applications tuned for modern Intel processors. An up to 5% performance boost over a fully optimized binary can be seen for large applications.
Enhanced -xs option to control the trade-off of executable size versus the need to retain object files in order to debug.
Support for -xanalyze and -xannotate on Linux.
Support for -fopenmp as a synonym for -xopenmp=parallel.
Support for -xregs on x86.
New compiler options:
-ansi is equivalent to -std=c89.
-fma enables automatic generation of floating-point fused multiply-add instructions.
-pedantic enforces strict conformance with errors/warnings for non-ANSI constructs.
(x86) -preserve_argvalues saves copies of register-based function arguments in the stack.
-staticlib, when used with -library=sunperf, links statically with the Sun performance libraries.
-std specifies the C language standard. -std=c11 is the default compiler mode.
-xdebuginfo controls how much debugging and observability information is emitted.
-xglobalize controls globalization of file static variables but not functions.
-xinline_param allows for changing the heuristics used by the compiler for deciding when to inline a function call.
-xinline_report generates a report written to standard output on the inlining of functions by the compiler.
-xipo_build reduces compile time by avoiding optimizations during the initial pass through the compiler, optimizing only at link time.
-xkeep_unref keeps definitions of unreferenced functions and variables.
-xlang overrides the default libc behavior as specified by the -std flag.
-xpatchpadding reserves an area of memory before the start of each function.
-xprevise produces a static analysis of the source code that can be viewed using the Code Analyzer.
(Oracle Solaris) -xsegment_align causes the driver to include a special mapfile on the link line.
-xthroughput indicates that the application will be run in situations where many processes are simultaneously running on the system.
-xunboundsym specifies whether the program contains references to dynamically bound symbols.