Implementation notes: amd64, phenom, crypto_hash/skein256256

Computer: phenom
Architecture: amd64
CPU ID: AuthenticAMD-00100fa0-178bfbff
SUPERCOP version: 20120812
Operation: crypto_hash
Primitive: skein256256
TimeImplementationCompilerBenchmark dateSUPERCOP version
8344optgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2012052320120521
8356optgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2012052320120521
8406optgcc -m64 -O -fomit-frame-pointer2012052320120521
8413optgcc -O -fomit-frame-pointer2012052320120521
8416optgcc -fno-schedule-insns -O -fomit-frame-pointer2012052320120521
8531optgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2012052320120521
8859optgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2012052320120521
8957optgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2012052320120521
8960optgcc -funroll-loops -O2 -fomit-frame-pointer2012052320120521
8996optgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2012052320120521
9001optgcc -m64 -march=k8 -O2 -fomit-frame-pointer2012052320120521
9002optgcc -fno-schedule-insns -O3 -fomit-frame-pointer2012052320120521
9005optgcc -O2 -fomit-frame-pointer2012052320120521
9744x64gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2012052320120521
9755x64gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2012052320120521
9773x64gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2012052320120521
9782x64gcc -m64 -march=nocona -O2 -fomit-frame-pointer2012052320120521
9784x64gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2012052320120521
9790x64gcc -m64 -march=nocona -O3 -fomit-frame-pointer2012052320120521
9791x64gcc -funroll-loops -m64 -O -fomit-frame-pointer2012052320120521
9792x64gcc -m64 -march=nocona -O -fomit-frame-pointer2012052320120521
9793x64gcc -funroll-loops -O3 -fomit-frame-pointer2012052320120521
9793x64gcc -funroll-loops -O -fomit-frame-pointer2012052320120521
9799x64gcc -funroll-loops -O2 -fomit-frame-pointer2012052320120521
9799x64gcc -m64 -O2 -fomit-frame-pointer2012052320120521
9811x64gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2012052320120521
9820x64gcc -funroll-loops2012052320120521
9824x64gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2012052320120521
9825optgcc -march=nocona -O2 -fomit-frame-pointer2012052320120521
9833optgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2012052320120521
9834optgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2012052320120521
9837optgcc -m64 -march=nocona -O2 -fomit-frame-pointer2012052320120521
9842optgcc -march=nocona -O3 -fomit-frame-pointer2012052320120521
9849optgcc -m64 -march=nocona -O3 -fomit-frame-pointer2012052320120521
9864x64gcc -m64 -march=k8 -Os -fomit-frame-pointer2012052320120521
9881x64gcc -funroll-loops -Os -fomit-frame-pointer2012052320120521
9881x64gcc -funroll-loops -m64 -Os -fomit-frame-pointer2012052320120521
9883x64gcc -m64 -Os -fomit-frame-pointer2012052320120521
9898optgcc -funroll-loops -O -fomit-frame-pointer2012052320120521
9898optgcc -march=k8 -O -fomit-frame-pointer2012052320120521
9900optgcc -funroll-loops -m64 -O -fomit-frame-pointer2012052320120521
9900optgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2012052320120521
9901optgcc -m64 -march=core2 -O -fomit-frame-pointer2012052320120521
9903optgcc -m64 -march=k8 -O -fomit-frame-pointer2012052320120521
9907optgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2012052320120521
9907optgcc -m64 -march=corei7 -O -fomit-frame-pointer2012052320120521
9909optgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2012052320120521
9940optgcc -m64 -march=barcelona -O -fomit-frame-pointer2012052320120521
9942optgcc -march=barcelona -O -fomit-frame-pointer2012052320120521
9947optgcc -march=nocona -O -fomit-frame-pointer2012052320120521
9948optgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2012052320120521
9954optgcc -m64 -march=nocona -O -fomit-frame-pointer2012052320120521
9958optgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2012052320120521
9958optgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2012052320120521
9962optgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2012052320120521
9974optgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2012052320120521
10059optgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2012052320120521
10105optgcc -march=k8 -Os -fomit-frame-pointer2012052320120521
10116optgcc -m64 -Os -fomit-frame-pointer2012052320120521
10144optgcc -m64 -march=core2 -Os -fomit-frame-pointer2012052320120521
10412optgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2012052320120521
10441optgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2012052320120521
10443optgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2012052320120521
10455optgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2012052320120521
10458optgcc -march=barcelona -O3 -fomit-frame-pointer2012052320120521
10459optgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2012052320120521
10460optgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2012052320120521
10460optgcc -march=barcelona -O2 -fomit-frame-pointer2012052320120521
10461optgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2012052320120521
10555optgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2012052320120521
10555optgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2012052320120521
10555optgcc -m64 -march=core2 -O3 -fomit-frame-pointer2012052320120521
10556optgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2012052320120521
10558optgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2012052320120521
10559optgcc -m64 -march=core2 -O2 -fomit-frame-pointer2012052320120521
10560optgcc -funroll-loops -O3 -fomit-frame-pointer2012052320120521
10560optgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2012052320120521
10567optgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2012052320120521
10570optgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2012052320120521
10584optgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2012052320120521
10592optgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2012052320120521
10600optgcc -m64 -O3 -fomit-frame-pointer2012052320120521
10603optgcc -O3 -fomit-frame-pointer2012052320120521
10603optgcc -fno-schedule-insns -O2 -fomit-frame-pointer2012052320120521
10603optgcc -m64 -O2 -fomit-frame-pointer2012052320120521
10605optgcc -march=k8 -O2 -fomit-frame-pointer2012052320120521
10608optgcc -march=k8 -O3 -fomit-frame-pointer2012052320120521
10609optgcc -m64 -march=k8 -O3 -fomit-frame-pointer2012052320120521
11478x64gcc -m64 -march=k8 -O3 -fomit-frame-pointer2012052320120521
11480x64gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2012052320120521
11482x64gcc -march=barcelona -O2 -fomit-frame-pointer2012052320120521
11483x64gcc -march=k8 -O2 -fomit-frame-pointer2012052320120521
11487x64gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2012052320120521
11487x64gcc -march=k8 -O3 -fomit-frame-pointer2012052320120521
11491x64gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2012052320120521
11491x64gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2012052320120521
11493x64gcc -march=barcelona -O3 -fomit-frame-pointer2012052320120521
11494x64gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2012052320120521
11494x64gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2012052320120521
11498x64gcc -m64 -march=k8 -O2 -fomit-frame-pointer2012052320120521
11520x64gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2012052320120521
11522x64gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2012052320120521
11526x64gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2012052320120521
11527x64gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2012052320120521
11527x64gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2012052320120521
11527x64gcc -march=nocona -O2 -fomit-frame-pointer2012052320120521
11528x64gcc -O3 -fomit-frame-pointer2012052320120521
11528x64gcc -fno-schedule-insns -O -fomit-frame-pointer2012052320120521
11528x64gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2012052320120521
11528x64gcc -march=k8 -O -fomit-frame-pointer2012052320120521
11529x64gcc -O2 -fomit-frame-pointer2012052320120521
11529x64gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2012052320120521
11529x64gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2012052320120521
11531x64gcc -fno-schedule-insns -O3 -fomit-frame-pointer2012052320120521
11531x64gcc -m64 -O -fomit-frame-pointer2012052320120521
11531x64gcc -m64 -march=core2 -O3 -fomit-frame-pointer2012052320120521
11531x64gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2012052320120521
11531x64gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2012052320120521
11532x64gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2012052320120521
11532x64gcc -m64 -march=barcelona -O -fomit-frame-pointer2012052320120521
11532optgcc -m64 -march=nocona -Os -fomit-frame-pointer2012052320120521
11532x64gcc -march=barcelona -O -fomit-frame-pointer2012052320120521
11533x64gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2012052320120521
11534x64gcc -m64 -O3 -fomit-frame-pointer2012052320120521
11537x64gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2012052320120521
11538x64gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2012052320120521
11540x64gcc -fno-schedule-insns -O2 -fomit-frame-pointer2012052320120521
11540x64gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2012052320120521
11540x64gcc -m64 -march=core2 -O -fomit-frame-pointer2012052320120521
11540x64gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2012052320120521
11540x64gcc -m64 -march=corei7 -O -fomit-frame-pointer2012052320120521
11542x64gcc -O -fomit-frame-pointer2012052320120521
11542x64gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2012052320120521
11542optgcc -march=nocona -Os -fomit-frame-pointer2012052320120521
11543x64gcc -m64 -march=core2 -O2 -fomit-frame-pointer2012052320120521
11543x64gcc -march=nocona -O -fomit-frame-pointer2012052320120521
11544x64gcc -march=nocona -O3 -fomit-frame-pointer2012052320120521
11545x64gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2012052320120521
11546x64gcc -m64 -march=k8 -O -fomit-frame-pointer2012052320120521
11550x64gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2012052320120521
11552optgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2012052320120521
11554x64gcc2012052320120521
11556x64gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2012052320120521
11560optgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2012052320120521
11564x64cc2012052320120521
11564x64gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2012052320120521
11599x64gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2012052320120521
11599x64gcc -m64 -march=corei7 -Os -fomit-frame-pointer2012052320120521
11599x64gcc -march=k8 -Os -fomit-frame-pointer2012052320120521
11599x64gcc -march=nocona -Os -fomit-frame-pointer2012052320120521
11601x64gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2012052320120521
11601x64gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2012052320120521
11602x64gcc -m64 -march=barcelona -Os -fomit-frame-pointer2012052320120521
11603x64gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2012052320120521
11603x64gcc -m64 -march=core2 -Os -fomit-frame-pointer2012052320120521
11606x64gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012052320120521
11611x64gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2012052320120521
11611x64gcc -m64 -march=nocona -Os -fomit-frame-pointer2012052320120521
11615x64gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2012052320120521
11615x64gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2012052320120521
11617x64gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2012052320120521
11618x64gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2012052320120521
11620x64gcc -march=barcelona -Os -fomit-frame-pointer2012052320120521
11626x64gcc -Os -fomit-frame-pointer2012052320120521
11630x64gcc -fno-schedule-insns -Os -fomit-frame-pointer2012052320120521
11715optgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2012052320120521
11722optgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2012052320120521
11898optgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2012052320120521
11903optgcc -fno-schedule-insns -Os -fomit-frame-pointer2012052320120521
11917optgcc -Os -fomit-frame-pointer2012052320120521
11917optgcc -m64 -march=barcelona -Os -fomit-frame-pointer2012052320120521
11917optgcc -march=barcelona -Os -fomit-frame-pointer2012052320120521
11925optgcc -m64 -march=k8 -Os -fomit-frame-pointer2012052320120521
11953optgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2012052320120521
11953optgcc -m64 -march=corei7 -Os -fomit-frame-pointer2012052320120521
11972optgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2012052320120521
12009optgcc -funroll-loops -Os -fomit-frame-pointer2012052320120521
12009optgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2012052320120521
12010optgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2012052320120521
12011optgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2012052320120521
12033optgcc -funroll-loops -m64 -Os -fomit-frame-pointer2012052320120521
66168optcc2012052320120521
66168optgcc2012052320120521
77978optgcc -funroll-loops2012052320120521

Compiler output

Implementation: crypto_hash/skein256256/x64
Compiler: cc
skein_block_x64.S: skein_block_x64.S:336:61: warning: trigraph ??) ignored, use -trigraphs to enable [-Wtrigraphs]

Number of similar (compiler,implementation) pairs: 88, namely:
CompilerImplementations
cc x64
gcc x64
gcc -O2 -fomit-frame-pointer x64
gcc -O3 -fomit-frame-pointer x64
gcc -O -fomit-frame-pointer x64
gcc -Os -fomit-frame-pointer x64
gcc -fno-schedule-insns -O2 -fomit-frame-pointer x64
gcc -fno-schedule-insns -O3 -fomit-frame-pointer x64
gcc -fno-schedule-insns -O -fomit-frame-pointer x64
gcc -fno-schedule-insns -Os -fomit-frame-pointer x64
gcc -funroll-loops x64
gcc -funroll-loops -O2 -fomit-frame-pointer x64
gcc -funroll-loops -O3 -fomit-frame-pointer x64
gcc -funroll-loops -O -fomit-frame-pointer x64
gcc -funroll-loops -Os -fomit-frame-pointer x64
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer x64
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer x64
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer x64
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer x64
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer x64
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer x64
gcc -funroll-loops -m64 -O -fomit-frame-pointer x64
gcc -funroll-loops -m64 -Os -fomit-frame-pointer x64
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer x64
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer x64
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer x64
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer x64
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer x64
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer x64
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer x64
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer x64
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer x64
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer x64
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer x64
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer x64
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer x64
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer x64
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer x64
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer x64
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer x64
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer x64
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer x64
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer x64
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer x64
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer x64
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer x64
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer x64
gcc -m64 -O2 -fomit-frame-pointer x64
gcc -m64 -O3 -fomit-frame-pointer x64
gcc -m64 -O -fomit-frame-pointer x64
gcc -m64 -Os -fomit-frame-pointer x64
gcc -m64 -march=core2 -O2 -fomit-frame-pointer x64
gcc -m64 -march=core2 -O3 -fomit-frame-pointer x64
gcc -m64 -march=core2 -O -fomit-frame-pointer x64
gcc -m64 -march=core2 -Os -fomit-frame-pointer x64
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer x64
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer x64
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer x64
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer x64
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer x64
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer x64
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer x64
gcc -m64 -march=corei7 -O -fomit-frame-pointer x64
gcc -m64 -march=corei7 -Os -fomit-frame-pointer x64
gcc -m64 -march=k8 -O2 -fomit-frame-pointer x64
gcc -m64 -march=k8 -O3 -fomit-frame-pointer x64
gcc -m64 -march=k8 -O -fomit-frame-pointer x64
gcc -m64 -march=k8 -Os -fomit-frame-pointer x64
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer x64
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer x64
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer x64
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer x64
gcc -m64 -march=nocona -O2 -fomit-frame-pointer x64
gcc -m64 -march=nocona -O3 -fomit-frame-pointer x64
gcc -m64 -march=nocona -O -fomit-frame-pointer x64
gcc -m64 -march=nocona -Os -fomit-frame-pointer x64
gcc -march=barcelona -O2 -fomit-frame-pointer x64
gcc -march=barcelona -O3 -fomit-frame-pointer x64
gcc -march=barcelona -O -fomit-frame-pointer x64
gcc -march=barcelona -Os -fomit-frame-pointer x64
gcc -march=k8 -O2 -fomit-frame-pointer x64
gcc -march=k8 -O3 -fomit-frame-pointer x64
gcc -march=k8 -O -fomit-frame-pointer x64
gcc -march=k8 -Os -fomit-frame-pointer x64
gcc -march=nocona -O2 -fomit-frame-pointer x64
gcc -march=nocona -O3 -fomit-frame-pointer x64
gcc -march=nocona -O -fomit-frame-pointer x64
gcc -march=nocona -Os -fomit-frame-pointer x64

Compiler output

Implementation: crypto_hash/skein256256/x64
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
skein_block_x64.S: skein_block_x64.S:336:61: warning: trigraph ??) ignored, use -trigraphs to enable [-Wtrigraphs]
skein_block_x64.S: skein_block_x64.S:336:61: warning: trigraph ??) ignored, use -trigraphs to enable [-Wtrigraphs]

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -march=barcelona -O2 -fomit-frame-pointer x64
gcc -m64 -march=barcelona -O3 -fomit-frame-pointer x64
gcc -m64 -march=barcelona -O -fomit-frame-pointer x64
gcc -m64 -march=barcelona -Os -fomit-frame-pointer x64