instruction_cost_test - This test is used to determine the execution time of
various instructions relative to integer add. The integer size (int16_t,
int32_t, int64_t) used in this test, is determined by the unit_integer_test.

Prerequisite:
* unit_integer_test was run, determining the test suite used in the following:
  int16_t, int32_t, or int64_t 

Usage:
To run this test, the knowledge of several compiler flags is required.
* flag to enable optimizations in the compiler, so that it uses the available
  registers (-O for gcc), instead of loading/storing each value from memory.
* (possibly) flag to enable c99 standard (-std=c99 for gcc)
* flag to link to math library (-lm for gcc)

These flags need to be passed in the CFLAGS and LDFLAGS variables.

First, run the unit_integer_test which reports the right integer size to use.
This information is used in the following to determine which test suite
(int16_t, int32_t, or int64_t) to run (for example make -C int32_t ... ).


> cd instruction_cost_test
> ls
int16_t int32_t int64_t
For 32 bit integer:
> make CFLAGS="-O -std=c99" LDFLAGS=-lm -C int32_t test
For 64 bit integer:
> make CFLAGS="-O -std=c99" LDFLAGS=-lm -C int64_t test

If another compiler than the standard compiler (cc) should be used, this compiler
can be passed in the CC variable.

> make CC=gcc CFLAGS="-O -std=c99" LDFLAGS=-lm -C int32_t test
       ^^^^^^

The results will be stored in result.txt files at the leaves of the directory
tree starting at the chosen integer directory (int32_t above). And can be
retrieved with the following command.

> ls
int16_t int32_t int64_t
> cat */*/*/result.txt

