Implementation notes: amd64, haswell, crypto_hash/nasha256

Computer: haswell
Architecture: amd64
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20130419
Operation: crypto_hash
Primitive: nasha256
TimeImplementationCompilerBenchmark dateSUPERCOP version
29288opt_v4clang -O32013060820130419
29316opt_v4clang -O3 -mavx2013060820130419
32376optclang -O32013060820130419
32508optclang -O3 -mavx2013060820130419
35884optgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2013060820130419
36008optgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2013060820130419
36044optgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2013060820130419
36056optgcc -funroll-loops -O3 -fomit-frame-pointer2013060820130419
36088opt_v4gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2013060820130419
36128optgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2013060820130419
36148opt_v4gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2013060820130419
36244opt_v4gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2013060820130419
36296optgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2013060820130419
36344optgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2013060820130419
36348optgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2013060820130419
36412optgcc -funroll-loops -O2 -fomit-frame-pointer2013060820130419
36428optgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2013060820130419
36440optgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2013060820130419
36476optgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2013060820130419
36488opt_v4gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2013060820130419
36498opt_v4gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2013060820130419
36512optgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2013060820130419
36572optgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2013060820130419
36664optgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2013060820130419
36700optgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2013060820130419
36714opt_v4gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2013060820130419
36816optgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2013060820130419
36884optgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2013060820130419
36936opt_v4gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2013060820130419
37036optgcc -march=nocona -O3 -fomit-frame-pointer2013060820130419
37040optgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2013060820130419
37040optgcc -m64 -march=nocona -O3 -fomit-frame-pointer2013060820130419
37232optgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2013060820130419
37424optgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2013060820130419
37430opt_v4gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2013060820130419
37526opt_v4gcc -march=k8 -O -fomit-frame-pointer2013060820130419
37576opt_v4gcc -m64 -O2 -fomit-frame-pointer2013060820130419
37588optgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2013060820130419
37588opt_v4gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2013060820130419
37596optgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2013060820130419
37621opt_v4gcc -funroll-loops -O2 -fomit-frame-pointer2013060820130419
37624optgcc -m64 -march=nocona -O2 -fomit-frame-pointer2013060820130419
37624optgcc -march=nocona -O2 -fomit-frame-pointer2013060820130419
37656opt_v4gcc -m64 -O3 -fomit-frame-pointer2013060820130419
37664opt_v4gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2013060820130419
37684opt_v4gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2013060820130419
37692optgcc -O3 -fomit-frame-pointer2013060820130419
37744opt_v4gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2013060820130419
37744optgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2013060820130419
37780optgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2013060820130419
37788optgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2013060820130419
37836optgcc -m64 -march=core2 -O3 -fomit-frame-pointer2013060820130419
37848optgcc -march=barcelona -O3 -fomit-frame-pointer2013060820130419
37852optgcc -m64 -O3 -fomit-frame-pointer2013060820130419
37852optgcc -m64 -march=nocona -O -fomit-frame-pointer2013060820130419
37856optgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2013060820130419
37856optgcc -march=nocona -O -fomit-frame-pointer2013060820130419
37864opt_v4gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2013060820130419
37868optgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2013060820130419
37896optgcc -march=k8 -O3 -fomit-frame-pointer2013060820130419
37924optgcc -fno-schedule-insns -O3 -fomit-frame-pointer2013060820130419
37940optgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2013060820130419
37956optgcc -m64 -march=k8 -O3 -fomit-frame-pointer2013060820130419
38020optgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2013060820130419
38048opt_v4gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2013060820130419
38076optgcc -funroll-loops -O -fomit-frame-pointer2013060820130419
38076optgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2013060820130419
38080optgcc -funroll-loops -m64 -O -fomit-frame-pointer2013060820130419
38100optgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2013060820130419
38144optgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2013060820130419
38144opt_v4gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2013060820130419
38151opt_v4gcc -m64 -march=core-avx-i -O -fomit-frame-pointer2013060820130419
38152optgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2013060820130419
38164opt_v4gcc -fno-schedule-insns -O2 -fomit-frame-pointer2013060820130419
38176optgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2013060820130419
38200optgcc -funroll-loops -m64 -Os -fomit-frame-pointer2013060820130419
38218opt_v4gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2013060820130419
38230opt_v4gcc -m64 -march=core2 -O -fomit-frame-pointer2013060820130419
38232optgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2013060820130419
38260optgcc -funroll-loops -Os -fomit-frame-pointer2013060820130419
38344optgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2013060820130419
38368optgcc -m64 -march=k8 -O -fomit-frame-pointer2013060820130419
38408optgcc -march=k8 -O -fomit-frame-pointer2013060820130419
38416optgcc -march=barcelona -O -fomit-frame-pointer2013060820130419
38424optgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2013060820130419
38428optgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2013060820130419
38456optgcc -march=barcelona -O2 -fomit-frame-pointer2013060820130419
38460optgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2013060820130419
38464optgcc -m64 -march=barcelona -O -fomit-frame-pointer2013060820130419
38480optgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2013060820130419
38492optgcc -m64 -march=core2 -O2 -fomit-frame-pointer2013060820130419
38500optgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2013060820130419
38504optgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2013060820130419
38508optgcc -m64 -march=k8 -O2 -fomit-frame-pointer2013060820130419
38516optgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2013060820130419
38525opt_v4gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2013060820130419
38528optgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2013060820130419
38536optgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2013060820130419
38536optgcc -march=k8 -O2 -fomit-frame-pointer2013060820130419
38560optgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2013060820130419
38564optgcc -O2 -fomit-frame-pointer2013060820130419
38564optgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2013060820130419
38592optgcc -m64 -O2 -fomit-frame-pointer2013060820130419
38604opt_v4gcc -m64 -march=barcelona -O -fomit-frame-pointer2013060820130419
38668optgcc -fno-schedule-insns -O2 -fomit-frame-pointer2013060820130419
38680opt_v4gcc -m64 -march=k8 -O -fomit-frame-pointer2013060820130419
38712optgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2013060820130419
38712opt_v4gcc -march=barcelona -O -fomit-frame-pointer2013060820130419
38744opt_v4gcc -march=nocona -Os -fomit-frame-pointer2013060820130419
38752optgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2013060820130419
38760opt_v4gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2013060820130419
38792opt_v4gcc -funroll-loops -O -fomit-frame-pointer2013060820130419
38796optgcc -m64 -march=corei7 -O -fomit-frame-pointer2013060820130419
38802opt_v4gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2013060820130419
38804optgcc -m64 -O -fomit-frame-pointer2013060820130419
38808optgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2013060820130419
38812optgcc -m64 -march=core2 -O -fomit-frame-pointer2013060820130419
38844optgcc -fno-schedule-insns -O -fomit-frame-pointer2013060820130419
38848optgcc -O -fomit-frame-pointer2013060820130419
38893opt_v4gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2013060820130419
38918opt_v4gcc -m64 -march=core2 -O3 -fomit-frame-pointer2013060820130419
38993opt_v4gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2013060820130419
39084opt_v4gcc -funroll-loops -O3 -fomit-frame-pointer2013060820130419
39129opt_v4gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2013060820130419
39212optgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2013060820130419
39220opt_v4gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2013060820130419
39224opt_v4gcc -march=k8 -O2 -fomit-frame-pointer2013060820130419
39240optgcc -m64 -march=core2 -Os -fomit-frame-pointer2013060820130419
39244optgcc -m64 -march=nocona -Os -fomit-frame-pointer2013060820130419
39260optgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2013060820130419
39268optgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2013060820130419
39284optgcc -m64 -march=corei7 -Os -fomit-frame-pointer2013060820130419
39284optgcc -march=nocona -Os -fomit-frame-pointer2013060820130419
39288optgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2013060820130419
39360opt_v4gcc -Os -fomit-frame-pointer2013060820130419
39404optgcc -m64 -march=k8 -Os -fomit-frame-pointer2013060820130419
39440optgcc -m64 -march=barcelona -Os -fomit-frame-pointer2013060820130419
39460optgcc -fno-schedule-insns -Os -fomit-frame-pointer2013060820130419
39464optgcc -Os -fomit-frame-pointer2013060820130419
39476optgcc -m64 -Os -fomit-frame-pointer2013060820130419
39484optgcc -march=k8 -Os -fomit-frame-pointer2013060820130419
39532optgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2013060820130419
39580opt_v4gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2013060820130419
39616opt_v4gcc -m64 -Os -fomit-frame-pointer2013060820130419
39620optgcc -march=barcelona -Os -fomit-frame-pointer2013060820130419
39640opt_v4gcc -march=nocona -O -fomit-frame-pointer2013060820130419
39760opt_v4gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2013060820130419
39916opt_v4gcc -m64 -O -fomit-frame-pointer2013060820130419
39964opt_v4gcc -O -fomit-frame-pointer2013060820130419
40282opt_v4gcc -funroll-loops -m64 -O -fomit-frame-pointer2013060820130419
40320opt_v4gcc -m64 -march=corei7 -O3 -fomit-frame-pointer2013060820130419
40352opt_v4gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2013060820130419
40364opt_v4gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2013060820130419
40392opt_v4gcc -fno-schedule-insns -O3 -fomit-frame-pointer2013060820130419
40396opt_v4gcc -m64 -march=core2 -O2 -fomit-frame-pointer2013060820130419
40458opt_v4gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2013060820130419
40460opt_v4gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2013060820130419
40700opt_v4gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2013060820130419
40728opt_v4gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2013060820130419
40730opt_v4gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2013060820130419
40736opt_v4gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2013060820130419
40753opt_v4gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2013060820130419
40761opt_v4gcc -m64 -march=barcelona -Os -fomit-frame-pointer2013060820130419
40770opt_v4gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2013060820130419
40794opt_v4gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2013060820130419
40828opt_v4gcc -march=barcelona -O2 -fomit-frame-pointer2013060820130419
40840opt_v4gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2013060820130419
40892opt_v4gcc -march=k8 -O3 -fomit-frame-pointer2013060820130419
40928opt_v4gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2013060820130419
41122opt_v4gcc -fno-schedule-insns -O -fomit-frame-pointer2013060820130419
41184opt_v4gcc -m64 -march=corei7-avx -O -fomit-frame-pointer2013060820130419
41242opt_v4gcc -m64 -march=nocona -O -fomit-frame-pointer2013060820130419
41250opt_v4gcc -m64 -march=corei7 -O -fomit-frame-pointer2013060820130419
41500opt_v4gcc -march=barcelona -O3 -fomit-frame-pointer2013060820130419
41628opt_v4gcc -m64 -march=nocona -O3 -fomit-frame-pointer2013060820130419
41680opt_v4gcc -march=nocona -O2 -fomit-frame-pointer2013060820130419
41934opt_v4gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2013060820130419
41950opt_v4gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2013060820130419
42034opt_v4gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2013060820130419
42266opt_v4gcc -funroll-loops -Os -fomit-frame-pointer2013060820130419
42272opt_v4gcc -march=barcelona -Os -fomit-frame-pointer2013060820130419
42278opt_v4gcc -m64 -march=k8 -O3 -fomit-frame-pointer2013060820130419
42312opt_v4gcc -march=k8 -Os -fomit-frame-pointer2013060820130419
42394opt_v4gcc -m64 -march=k8 -O2 -fomit-frame-pointer2013060820130419
42396opt_v4gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2013060820130419
42644opt_v4gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2013060820130419
42748opt_v4gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2013060820130419
42800opt_v4gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2013060820130419
43238opt_v4gcc -m64 -march=nocona -Os -fomit-frame-pointer2013060820130419
43264opt_v4gcc -march=nocona -O3 -fomit-frame-pointer2013060820130419
43612opt_v4gcc -O3 -fomit-frame-pointer2013060820130419
43612opt_v4gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2013060820130419
43654opt_v4gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2013060820130419
43676opt_v4gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2013060820130419
43688opt_v4gcc -m64 -march=nocona -O2 -fomit-frame-pointer2013060820130419
43760opt_v4gcc -funroll-loops -m64 -Os -fomit-frame-pointer2013060820130419
43882opt_v4gcc -m64 -march=core2 -Os -fomit-frame-pointer2013060820130419
43892opt_v4gcc -m64 -march=k8 -Os -fomit-frame-pointer2013060820130419
43898opt_v4gcc -fno-schedule-insns -Os -fomit-frame-pointer2013060820130419
43908opt_v4gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2013060820130419
44100opt_v4gcc -m64 -march=corei7 -Os -fomit-frame-pointer2013060820130419
44291opt_v4gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2013060820130419
45514opt_v4gcc -O2 -fomit-frame-pointer2013060820130419
46077opt_v4gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2013060820130419
70204opt_v4cc2013060820130419
75020opt_v4gcc -funroll-loops2013060820130419
76052opt_v4gcc2013060820130419
82492optgcc2013060820130419
82548optcc2013060820130419
82600optgcc -funroll-loops2013060820130419

Compiler output

Implementation: crypto_hash/nasha256/opt_v4
Compiler: cc
Nasha.c: Nasha.c: In function 'Init':
Nasha.c: Nasha.c:815:29: warning: assignment makes integer from pointer without a cast [enabled by default]
Nasha.c: ssbox[i][j] = ssbox[i^j];
Nasha.c: ^

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

Compiler output

Implementation: crypto_hash/nasha256/opt
Compiler: clang -O3
Nasha.c: Nasha.c:627:1: warning: control may reach end of non-void function [-Wreturn-type]
Nasha.c: }
Nasha.c: ^
Nasha.c: Nasha.c:646:1: warning: control may reach end of non-void function [-Wreturn-type]
Nasha.c: }
Nasha.c: ^
Nasha.c: 2 warnings generated.

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O3 opt
clang -O3 -mavx opt

Compiler output

Implementation: crypto_hash/nasha256/opt_v4
Compiler: clang -O3
Nasha.c: Nasha.c:815:29: warning: incompatible pointer to integer conversion assigning to 'uint_16t' (aka 'unsigned short') from 'uint_16t [256]' [-Wint-conversion]
Nasha.c: ssbox[i][j] = ssbox[i^j];
Nasha.c: ^ ~~~~~~~~~~
Nasha.c: Nasha.c:854:1: warning: control may reach end of non-void function [-Wreturn-type]
Nasha.c: }
Nasha.c: ^
Nasha.c: Nasha.c:873:1: warning: control may reach end of non-void function [-Wreturn-type]
Nasha.c: }
Nasha.c: ^
Nasha.c: 3 warnings generated.

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O3 opt_v4
clang -O3 -mavx opt_v4

Compiler output

Implementation: crypto_hash/nasha256/opt_v4
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
Nasha.c: Nasha.c: In function 'Init':
Nasha.c: Nasha.c:815:29: warning: assignment makes integer from pointer without a cast [enabled by default]
Nasha.c: ssbox[i][j] = ssbox[i^j];
Nasha.c: ^
Nasha.c: Nasha.c: In function 'Init':
Nasha.c: Nasha.c:815:29: warning: assignment makes integer from pointer without a cast [enabled by default]
Nasha.c: ssbox[i][j] = ssbox[i^j];
Nasha.c: ^

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