#!/bin/bash


mkdir -p graphs results
#byte_loop libcall loop rep_4byte rep_8byte rep_byte unrolled_loop vector_loop

#echo "byte_loop"
gcc -g -Wall -O2 -march=amdfam10 -lm -fno-var-tracking -mmemcpy-strategy=byte_loop:-1:noalign -minline-all-stringops rdtsc-loops.c -o rdtsc-loops
./rdtsc-loops results/r1.txt
#echo "loop"
gcc -g -Wall -O2 -march=amdfam10 -lm -fno-var-tracking -mmemcpy-strategy=loop:-1:noalign -minline-all-stringops rdtsc-loops.c -o rdtsc-loops
./rdtsc-loops results/r2.txt
#echo "unrolled_loop"
gcc -g -Wall -O2 -march=amdfam10 -lm -fno-var-tracking -mmemcpy-strategy=unrolled_loop:-1:noalign -minline-all-stringops rdtsc-loops.c -o rdtsc-loops
./rdtsc-loops results/r3.txt
#echo "rep_byte"
gcc -g -Wall -O2 -march=amdfam10 -lm -fno-var-tracking -mmemcpy-strategy=rep_byte:-1:noalign -minline-all-stringops rdtsc-loops.c -o rdtsc-loops
./rdtsc-loops results/r4.txt
#echo "rep_4byte"
gcc -g -Wall -O2 -march=amdfam10 -lm -fno-var-tracking -mmemcpy-strategy=rep_4byte:-1:noalign -minline-all-stringops rdtsc-loops.c -o rdtsc-loops
./rdtsc-loops results/r5.txt
#echo "rep_8byte"
gcc -g -Wall -O2 -march=amdfam10 -lm -fno-var-tracking -mmemcpy-strategy=rep_8byte:-1:noalign -minline-all-stringops rdtsc-loops.c -o rdtsc-loops
./rdtsc-loops results/r6.txt
#echo "vector_loop"
gcc -g -Wall -O2 -march=amdfam10 -lm -fno-var-tracking -mmemcpy-strategy=vector_loop:-1:noalign -minline-all-stringops rdtsc-loops.c -o rdtsc-loops
./rdtsc-loops results/r7.txt
#echo "libcall"
gcc -g -Wall -O2 -march=amdfam10 -lm -fno-var-tracking -mmemcpy-strategy=libcall:-1:noalign -minline-all-stringops rdtsc-loops.c -o rdtsc-loops
./rdtsc-loops results/r8.txt

gcc -g -Wall -O3 -march=amdfam10 -lgd -lm graph.c -o graph
./graph

gcc -g -Wall -O3 -march=amdfam10 -DMAX_SIZE=8192 wcp01.c -lm -lpthread -o wcp01
echo "memcpy64"
./wcp01 4

mv results results-memcpy64
mv graphs graphs-memcpy64

