403.gcc
SPEC CPU2006 Benchmark Description

Benchmark Name

403.gcc


Benchmark Author

Richard Stallman and a large cast of helpers. For a full list, see http://gcc.gnu.org/onlinedocs/gcc/Contributors.html .


Benchmark Program General Category

C Language optimizing compiler


Benchmark Description

403.gcc is based on gcc Version 3.2. It generates code for an AMD Opteron processor. The benchmark runs as a compiler with many of its optimization flags enabled.

403.gcc has had its inlining heuristics altered slightly, so as to inline more code than would be typical on a Unix system in 2002. It is expected that this effect will be more typical of compiler usage in 2006. This was done so that 403.gcc would spend more time analyzing its source code inputs, and use more memory. Without this effect, 403.gcc would have done less analysis, and needed more input workloads to achieve the run times required for CPU2006.


Input Description

There are 9 input workloads in 403.gcc. These files are preprocessed C code (.i files):


Output Description

All output files are x86-64 assembly code files.


Programming Language

C


Known portability issues

  1. Some of the optimizations 403.gcc performs require constant propagation of floating point constants. These form an insignificant amount of computation time, yet may depend on IEEE floating point format to produce a correct result.
  2. 403.gcc is not an ANSI C program. It uses GNU extensions.
  3. The initial port of 403.gcc was to a 64 bit system. It has been successfully ported by SPEC to many 32-bit UNIX implementations.

Portability issues fixed subsequent to the release of SPEC CPU2006 V1.0


References


Last updated: $Date: 2008-04-12 08:31:17 -0400 (Sat, 12 Apr 2008) $