After you unpack the tarball by running "zcat specxx.tar.gz | tar xf -" you will have a directory called "specxx". Under this directory you will find a subdirectory benchspec/CINT2000, which contains all the benchmark source code.
In each benchmark directory you will find a bunch of subdirectories. The first thing to look at is the docs/ directory, where you will find a small txt file describing the benchmark. After that the two most useful directories are src/ and data/. The data/ directory will typically contain three input/output sets called test/ train/ and ref/. (These are correspondingly: big, bigger and absolutely enormous).
The src directory will contain the source code. There will be a Makefile in the src directory that, while not usable without a lot of hassle, will at least give you a list of the .c files that need to be compiled, and any extra command line flags that need to be defined for correct compilation.
If you are trying to port the benchmark to the ECE412 simulator environment you should do the following:
This will create the right directory structure. The next step will be to edit Makefile, changing the SOURCES line so that it includes the same list of sources in Makefile.spec.
Next, you will need to change the name of the main function to _user_main.
Now, if you are very lucky, you should be able to type make to build the executable (which will be called mipsver). If you are not so lucky you will need to implement some new functionality in libc. The libc implementation is in target-env/lib/libc and the header files are under target-env/include.
Once you get the program to compile you will need to figure out how
to run it. You can sometimes figure this out by reading the docs, but
usually not. You can usually get some clues by reading the file
benchspec/CINT2000/