Oracle® Solaris Studio 12.4: C User's Guide

Exit Print View

Updated: March 2015
 
 

1.1 What's New in C Version 5.13 Oracle Solaris Studio 12.4 Release

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.