Implementation notes: amd64, genji262, crypto_hash/nasha256

Computer: genji262
Architecture: amd64
CPU ID: AuthenticAMD-00800f12-178bfbff
SUPERCOP version: 20180818
Operation: crypto_hash
Primitive: nasha256
TimeImplementationCompilerBenchmark dateSUPERCOP version
19536optgcc -funroll-loops -O -fomit-frame-pointer2018081920180818
19558optgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018081920180818
19580optgcc -funroll-loops -m64 -O -fomit-frame-pointer2018081920180818
19602optgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018081920180818
19624optgcc -O2 -fomit-frame-pointer2018081920180818
19624optgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018081920180818
19646optgcc -fno-schedule-insns -O2 -fomit-frame-pointer2018081920180818
19668optgcc -m64 -O2 -fomit-frame-pointer2018081920180818
19734optgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018081920180818
19800optgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018081920180818
19822optgcc -m64 -march=nocona -O3 -fomit-frame-pointer2018081920180818
19844optgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018081920180818
19844optgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2018081920180818
19844optgcc -march=nocona -O3 -fomit-frame-pointer2018081920180818
19866optgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018081920180818
19866optgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2018081920180818
19866optgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018081920180818
19866optgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018081920180818
19866optgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2018081920180818
19866optgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018081920180818
19866optgcc -march=k8 -O2 -fomit-frame-pointer2018081920180818
19888optgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018081920180818
19888optgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018081920180818
19888optgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018081920180818
19910optgcc -march=barcelona -O2 -fomit-frame-pointer2018081920180818
19932optgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2018081920180818
19932optgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018081920180818
19932optgcc -m64 -O3 -fomit-frame-pointer2018081920180818
19954optgcc -funroll-loops -O2 -fomit-frame-pointer2018081920180818
19954optgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2018081920180818
19954optgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018081920180818
19954optgcc -m64 -march=k8 -O2 -fomit-frame-pointer2018081920180818
19976optgcc -fno-schedule-insns -O3 -fomit-frame-pointer2018081920180818
19998optgcc -march=k8 -O3 -fomit-frame-pointer2018081920180818
20020optgcc -O3 -fomit-frame-pointer2018081920180818
20042optgcc -m64 -O -fomit-frame-pointer2018081920180818
20042optgcc -march=barcelona -O3 -fomit-frame-pointer2018081920180818
20064optgcc -O -fomit-frame-pointer2018081920180818
20064optgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018081920180818
20086optgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2018081920180818
20086optgcc -m64 -march=k8 -O3 -fomit-frame-pointer2018081920180818
20108optgcc -fno-schedule-insns -O -fomit-frame-pointer2018081920180818
20108optgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018081920180818
20108optgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018081920180818
20130optgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018081920180818
20130optgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018081920180818
20152optgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018081920180818
20152optgcc -m64 -march=core2 -O2 -fomit-frame-pointer2018081920180818
20152optgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018081920180818
20152optgcc -m64 -march=corei7 -O -fomit-frame-pointer2018081920180818
20174optgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018081920180818
20174optgcc -m64 -march=nocona -O2 -fomit-frame-pointer2018081920180818
20196optgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018081920180818
20196optgcc -m64 -march=nocona -O -fomit-frame-pointer2018081920180818
20218optgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018081920180818
20240optgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018081920180818
20240optgcc -march=nocona -O2 -fomit-frame-pointer2018081920180818
20284optgcc -m64 -march=barcelona -O -fomit-frame-pointer2018081920180818
20284optgcc -m64 -march=core2 -O -fomit-frame-pointer2018081920180818
20284optgcc -m64 -march=k8 -O -fomit-frame-pointer2018081920180818
20284optgcc -march=nocona -O -fomit-frame-pointer2018081920180818
20306optgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018081920180818
20306optgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018081920180818
20306optgcc -march=barcelona -O -fomit-frame-pointer2018081920180818
20306optgcc -march=k8 -O -fomit-frame-pointer2018081920180818
20350optgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018081920180818
20460optgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018081920180818
20504opt_v4gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018081920180818
20504optgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018081920180818
20504opt_v4gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018081920180818
20526opt_v4gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018081920180818
20526opt_v4gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018081920180818
20526optgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018081920180818
20548opt_v4gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018081920180818
20548optgcc -m64 -march=core2 -O3 -fomit-frame-pointer2018081920180818
20548opt_v4gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018081920180818
20570optgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018081920180818
20570opt_v4gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018081920180818
20592opt_v4gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018081920180818
20614optgcc -funroll-loops -O3 -fomit-frame-pointer2018081920180818
20614optgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018081920180818
20614opt_v4gcc -m64 -march=core2 -O2 -fomit-frame-pointer2018081920180818
20636opt_v4gcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018081920180818
20658opt_v4gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018081920180818
20658opt_v4gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018081920180818
20680opt_v4gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018081920180818
20680opt_v4gcc -m64 -march=core2 -O3 -fomit-frame-pointer2018081920180818
20680opt_v4gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018081920180818
20724opt_v4gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018081920180818
20746opt_v4gcc -funroll-loops -O2 -fomit-frame-pointer2018081920180818
20746opt_v4gcc -funroll-loops -O3 -fomit-frame-pointer2018081920180818
20746opt_v4gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018081920180818
20768opt_v4gcc -fno-schedule-insns -O2 -fomit-frame-pointer2018081920180818
20768opt_v4gcc -fno-schedule-insns -O3 -fomit-frame-pointer2018081920180818
20768opt_v4gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018081920180818
20768opt_v4gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018081920180818
20768opt_v4gcc -m64 -O2 -fomit-frame-pointer2018081920180818
20790optgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018081920180818
20790optgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018081920180818
20812opt_v4gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018081920180818
20812opt_v4gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2018081920180818
20834opt_v4gcc -O3 -fomit-frame-pointer2018081920180818
20834opt_v4gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2018081920180818
20834opt_v4gcc -m64 -O3 -fomit-frame-pointer2018081920180818
20856opt_v4gcc -m64 -march=k8 -O2 -fomit-frame-pointer2018081920180818
20856opt_v4gcc -m64 -march=k8 -O3 -fomit-frame-pointer2018081920180818
20856opt_v4gcc -march=barcelona -O2 -fomit-frame-pointer2018081920180818
20878opt_v4gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018081920180818
20878opt_v4gcc -march=barcelona -O3 -fomit-frame-pointer2018081920180818
20878opt_v4gcc -march=k8 -O2 -fomit-frame-pointer2018081920180818
20878optgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018081920180818
20900optgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018081920180818
20944opt_v4gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2018081920180818
20944opt_v4gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2018081920180818
20966opt_v4gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2018081920180818
20966opt_v4gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018081920180818
20988opt_v4gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018081920180818
20988opt_v4gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018081920180818
20988opt_v4gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2018081920180818
21010opt_v4gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018081920180818
21010optgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018081920180818
21032opt_v4gcc -m64 -march=k8 -O -fomit-frame-pointer2018081920180818
21032opt_v4gcc -march=barcelona -O -fomit-frame-pointer2018081920180818
21054opt_v4gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018081920180818
21076opt_v4gcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018081920180818
21098opt_v4gcc -march=k8 -O -fomit-frame-pointer2018081920180818
21120opt_v4gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018081920180818
21120opt_v4gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018081920180818
21120opt_v4gcc -m64 -march=barcelona -O -fomit-frame-pointer2018081920180818
21120optgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018081920180818
21164opt_v4gcc -fno-schedule-insns -O -fomit-frame-pointer2018081920180818
21164opt_v4gcc -funroll-loops -O -fomit-frame-pointer2018081920180818
21164opt_v4gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018081920180818
21164opt_v4gcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018081920180818
21186opt_v4gcc -O2 -fomit-frame-pointer2018081920180818
21186opt_v4gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018081920180818
21186opt_v4gcc -funroll-loops -m64 -O -fomit-frame-pointer2018081920180818
21186opt_v4gcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018081920180818
21186opt_v4gcc -march=k8 -O3 -fomit-frame-pointer2018081920180818
21208opt_v4gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018081920180818
21208opt_v4gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018081920180818
21208opt_v4gcc -m64 -march=corei7 -O -fomit-frame-pointer2018081920180818
21230opt_v4gcc -O -fomit-frame-pointer2018081920180818
21230opt_v4gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018081920180818
21230opt_v4gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018081920180818
21252opt_v4gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018081920180818
21252opt_v4gcc -m64 -O -fomit-frame-pointer2018081920180818
21362opt_v4gcc -m64 -march=core2 -O -fomit-frame-pointer2018081920180818
21428opt_v4gcc -m64 -march=nocona -O -fomit-frame-pointer2018081920180818
21450optgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018081920180818
21450opt_v4gcc -march=nocona -O -fomit-frame-pointer2018081920180818
21472optgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018081920180818
21604opt_v4gcc -m64 -march=nocona -O2 -fomit-frame-pointer2018081920180818
21648opt_v4gcc -march=nocona -O2 -fomit-frame-pointer2018081920180818
21670opt_v4gcc -m64 -march=nocona -O3 -fomit-frame-pointer2018081920180818
21736opt_v4gcc -march=nocona -O3 -fomit-frame-pointer2018081920180818
22748opt_v4gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018081920180818
22792opt_v4gcc -funroll-loops -Os -fomit-frame-pointer2018081920180818
22836opt_v4gcc -funroll-loops -m64 -Os -fomit-frame-pointer2018081920180818
22836opt_v4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018081920180818
22858opt_v4gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018081920180818
22858opt_v4gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018081920180818
22880opt_v4gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018081920180818
22880opt_v4gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018081920180818
22924opt_v4gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018081920180818
22946opt_v4gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018081920180818
22968optgcc -funroll-loops -m64 -Os -fomit-frame-pointer2018081920180818
22968opt_v4gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018081920180818
22990opt_v4gcc -fno-schedule-insns -Os -fomit-frame-pointer2018081920180818
22990optgcc -funroll-loops -Os -fomit-frame-pointer2018081920180818
23012opt_v4gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018081920180818
23012opt_v4gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018081920180818
23034optgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018081920180818
23056opt_v4gcc -Os -fomit-frame-pointer2018081920180818
23078opt_v4gcc -m64 -Os -fomit-frame-pointer2018081920180818
23122opt_v4gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018081920180818
23166opt_v4gcc -m64 -march=core2 -Os -fomit-frame-pointer2018081920180818
23166opt_v4gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018081920180818
23166opt_v4gcc -m64 -march=corei7 -Os -fomit-frame-pointer2018081920180818
23188opt_v4gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018081920180818
23210opt_v4gcc -m64 -march=k8 -Os -fomit-frame-pointer2018081920180818
23210opt_v4gcc -march=k8 -Os -fomit-frame-pointer2018081920180818
23232opt_v4gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018081920180818
23254opt_v4gcc -m64 -march=barcelona -Os -fomit-frame-pointer2018081920180818
23298opt_v4gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018081920180818
23342opt_v4gcc -march=barcelona -Os -fomit-frame-pointer2018081920180818
23386optgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018081920180818
23408optgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018081920180818
23496optgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018081920180818
23496opt_v4gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018081920180818
23562optgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018081920180818
23562opt_v4gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018081920180818
23562optgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018081920180818
23584optgcc -Os -fomit-frame-pointer2018081920180818
23584optgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018081920180818
23606optgcc -fno-schedule-insns -Os -fomit-frame-pointer2018081920180818
23628optgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018081920180818
23716optgcc -m64 -Os -fomit-frame-pointer2018081920180818
23716optgcc -march=k8 -Os -fomit-frame-pointer2018081920180818
23738optgcc -march=nocona -Os -fomit-frame-pointer2018081920180818
23760optgcc -m64 -march=k8 -Os -fomit-frame-pointer2018081920180818
23782optgcc -m64 -march=nocona -Os -fomit-frame-pointer2018081920180818
23782opt_v4gcc -m64 -march=nocona -Os -fomit-frame-pointer2018081920180818
23782opt_v4gcc -march=nocona -Os -fomit-frame-pointer2018081920180818
23804optgcc -m64 -march=core2 -Os -fomit-frame-pointer2018081920180818
23804optgcc -m64 -march=corei7 -Os -fomit-frame-pointer2018081920180818
23826optgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018081920180818
23826optgcc -march=barcelona -Os -fomit-frame-pointer2018081920180818
23848optgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018081920180818
23892optgcc -m64 -march=barcelona -Os -fomit-frame-pointer2018081920180818
23936optgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018081920180818
24684opt_v4gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018081920180818
24706opt_v4gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018081920180818
25542optgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018081920180818
25630optgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018081920180818
25784optgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018081920180818
58432opt_v4gcc -funroll-loops2018081920180818
58542opt_v4gcc2018081920180818
61292opt_v4cc2018081920180818
66990optcc2018081920180818
67100optgcc -funroll-loops2018081920180818
67144optgcc2018081920180818

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: 1, namely:
CompilerImplementations
cc opt_v4

Compiler output

Implementation: crypto_hash/nasha256/opt_v4
Compiler: gcc
Nasha.c: Nasha.c: In function 'Init':
Nasha.c: Nasha.c:815:29: warning: assignment to 'uint_16t' {aka 'short unsigned int'} from 'uint_16t *' {aka 'short unsigned int *'} makes integer from pointer without a cast [-Wint-conversion]
Nasha.c: ssbox[i][j] = ssbox[i^j];
Nasha.c: ^

Number of similar (compiler,implementation) pairs: 106, namely:
CompilerImplementations
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=core-avx2 -O2 -fomit-frame-pointer opt_v4
gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer opt_v4
gcc -m64 -march=core-avx2 -O -fomit-frame-pointer opt_v4
gcc -m64 -march=core-avx2 -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=native -mtune=native -O2 -fomit-frame-pointer -fwrapv opt_v4
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv opt_v4
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv opt_v4
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv 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_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 to 'uint_16t' {aka 'short unsigned int'} from 'uint_16t *' {aka 'short unsigned int *'} makes integer from pointer without a cast [-Wint-conversion]
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 to 'uint_16t' {aka 'short unsigned int'} from 'uint_16t *' {aka 'short unsigned int *'} makes integer from pointer without a cast [-Wint-conversion]
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