#!/bin/bash

# runs benchmarks for many cflags

vect="-ftree-vectorize -ftree-vectorizer-verbose=1"
#b="-benchmarks openssl-1.0.0a"
c="4.2.0 4.1.0 4.0.0 3.4.0" # all bench compiler
cc="4.2.0 4.1.0" # detailed bench compiler

arch=athlon64

## ./multi-bench.sh -cc icc -cflags "-O2" -suffix "O2" $b icc9.0

./multi-bench.sh -cflags "-O0 -march=$arch" -suffix "O0" $b $c
./multi-bench.sh -cflags "-O1 -march=$arch" -suffix "O1" $b $c
./multi-bench.sh -cflags "-O2 -march=$arch" -suffix "O2" $b $c
./multi-bench.sh -cflags "-O3 -march=$arch" -suffix "O3" $b $c
./multi-bench.sh -cflags "-Os -march=$arch" -suffix "Os" $b $c

./multi-bench.sh -cflags "-O2 -march=$arch -funroll-loops -fpeel-loops -funswitch-loops" -suffix "O2-loops" $b $cc
./multi-bench.sh -cflags "-O3 -march=$arch -funroll-loops -fpeel-loops -funswitch-loops" -suffix "O3-loops" $b $cc

./multi-bench.sh -cflags "-O2 -march=$arch -ftracer" -suffix "O2-tracer" $b $cc
./multi-bench.sh -cflags "-O3 -march=$arch -ftracer" -suffix "O3-tracer" $b $cc

./multi-bench.sh -cflags "-O2 -march=$arch $vect" -suffix "O2-vect" $b $cc
./multi-bench.sh -cflags "-O3 -march=$arch $vect" -suffix "O3-vect" $b $cc

./multi-bench.sh -cflags "-O2 -march=$arch -funroll-loops -fpeel-loops -funswitch-loops $vect -ftracer" -suffix "O2-x" $b $cc
./multi-bench.sh -cflags "-O3 -march=$arch -funroll-loops -fpeel-loops -funswitch-loops $vect -ftracer" -suffix "O2-x" $b $cc
