Implementation notes: amd64, genji262, crypto_hash/nasha512

Computer: genji262
Architecture: amd64
CPU ID: AuthenticAMD-00800f12-178bfbff
SUPERCOP version: 20180818
Operation: crypto_hash
Primitive: nasha512
TimeImplementationCompilerBenchmark dateSUPERCOP version
20152optgcc -fno-schedule-insns -O3 -fomit-frame-pointer2018081920180818
20174optgcc -O3 -fomit-frame-pointer2018081920180818
20240optgcc -m64 -O3 -fomit-frame-pointer2018081920180818
20306optgcc -funroll-loops -m64 -O -fomit-frame-pointer2018081920180818
20394optgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018081920180818
20416optgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018081920180818
20438optgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018081920180818
20460optgcc -funroll-loops -O -fomit-frame-pointer2018081920180818
20526optgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018081920180818
20548optgcc -O2 -fomit-frame-pointer2018081920180818
20548optgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018081920180818
20570optgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018081920180818
20592optgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018081920180818
20614optgcc -funroll-loops -O2 -fomit-frame-pointer2018081920180818
20658optgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018081920180818
20702optgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018081920180818
20724optgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018081920180818
20790optgcc -m64 -O2 -fomit-frame-pointer2018081920180818
20812optgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018081920180818
20834optgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2018081920180818
20856optgcc -fno-schedule-insns -O2 -fomit-frame-pointer2018081920180818
20878optgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2018081920180818
20966optgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018081920180818
21076optgcc -m64 -march=core2 -O3 -fomit-frame-pointer2018081920180818
21076optgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018081920180818
21098optgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018081920180818
21098optgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018081920180818
21120optgcc -funroll-loops -O3 -fomit-frame-pointer2018081920180818
21164optgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2018081920180818
21186optgcc -m64 -march=nocona -O3 -fomit-frame-pointer2018081920180818
21186optgcc -march=nocona -O3 -fomit-frame-pointer2018081920180818
21208optgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2018081920180818
21230optgcc -m64 -march=nocona -O2 -fomit-frame-pointer2018081920180818
21274optgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018081920180818
21274optgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018081920180818
21274optgcc -march=nocona -O2 -fomit-frame-pointer2018081920180818
21296optgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018081920180818
21296optgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018081920180818
21340optgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2018081920180818
21340optgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018081920180818
21340optgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018081920180818
21384optgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018081920180818
21406optgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018081920180818
21406optgcc -march=k8 -O3 -fomit-frame-pointer2018081920180818
21406optgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018081920180818
21428optgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2018081920180818
21428optgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018081920180818
21428optgcc -m64 -march=nocona -O -fomit-frame-pointer2018081920180818
21494optgcc -O -fomit-frame-pointer2018081920180818
21516optgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018081920180818
21560optgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018081920180818
21560optgcc -m64 -march=k8 -O3 -fomit-frame-pointer2018081920180818
21582optgcc -m64 -O -fomit-frame-pointer2018081920180818
21604optgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018081920180818
21604optgcc -m64 -march=core2 -O2 -fomit-frame-pointer2018081920180818
21648optgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018081920180818
21648optgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018081920180818
21670optgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018081920180818
21692optgcc -m64 -march=corei7 -O -fomit-frame-pointer2018081920180818
21714optgcc -fno-schedule-insns -O -fomit-frame-pointer2018081920180818
21714optgcc -march=k8 -O2 -fomit-frame-pointer2018081920180818
21736optgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018081920180818
21758optgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018081920180818
21780optgcc -march=nocona -O -fomit-frame-pointer2018081920180818
21802optgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018081920180818
21824optgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018081920180818
21824optgcc -m64 -march=k8 -O2 -fomit-frame-pointer2018081920180818
21868optgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018081920180818
21868optgcc -m64 -march=core2 -O -fomit-frame-pointer2018081920180818
21868optgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018081920180818
21890optgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018081920180818
21956optgcc -march=k8 -O -fomit-frame-pointer2018081920180818
21978optgcc -march=barcelona -O3 -fomit-frame-pointer2018081920180818
22044optgcc -m64 -march=k8 -O -fomit-frame-pointer2018081920180818
22132optgcc -march=barcelona -O2 -fomit-frame-pointer2018081920180818
22198optgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018081920180818
22198optgcc -march=barcelona -O -fomit-frame-pointer2018081920180818
22308optgcc -m64 -march=barcelona -O -fomit-frame-pointer2018081920180818
22748optgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018081920180818
22924optgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018081920180818
24354opt_v4gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2018081920180818
24354opt_v4gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2018081920180818
24398opt_v4gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2018081920180818
24420opt_v4gcc -m64 -march=corei7 -O3 -fomit-frame-pointer2018081920180818
24442opt_v4gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2018081920180818
24464opt_v4gcc -O2 -fomit-frame-pointer2018081920180818
24464opt_v4gcc -m64 -O3 -fomit-frame-pointer2018081920180818
24464opt_v4gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018081920180818
24464opt_v4gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018081920180818
24486opt_v4gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2018081920180818
24486opt_v4gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2018081920180818
24486opt_v4gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2018081920180818
24508opt_v4gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2018081920180818
24530opt_v4gcc -m64 -march=core2 -O3 -fomit-frame-pointer2018081920180818
24552opt_v4gcc -O3 -fomit-frame-pointer2018081920180818
24552opt_v4gcc -funroll-loops -O3 -fomit-frame-pointer2018081920180818
24552opt_v4gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2018081920180818
24552opt_v4gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018081920180818
24574opt_v4gcc -funroll-loops -O2 -fomit-frame-pointer2018081920180818
24574opt_v4gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2018081920180818
24574opt_v4gcc -m64 -march=core2 -O2 -fomit-frame-pointer2018081920180818
24596opt_v4gcc -fno-schedule-insns -O2 -fomit-frame-pointer2018081920180818
24596opt_v4gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2018081920180818
24596opt_v4gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2018081920180818
24596opt_v4gcc -m64 -O2 -fomit-frame-pointer2018081920180818
24596opt_v4gcc -m64 -march=core-avx2 -O -fomit-frame-pointer2018081920180818
24618opt_v4gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2018081920180818
24618opt_v4gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2018081920180818
24640opt_v4gcc -fno-schedule-insns -O3 -fomit-frame-pointer2018081920180818
24640opt_v4gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2018081920180818
24640opt_v4gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2018081920180818
24640opt_v4gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2018081920180818
24640opt_v4gcc -funroll-loops -m64 -O -fomit-frame-pointer2018081920180818
24684opt_v4gcc -funroll-loops -O -fomit-frame-pointer2018081920180818
24728opt_v4gcc -O -fomit-frame-pointer2018081920180818
24750opt_v4gcc -march=nocona -O2 -fomit-frame-pointer2018081920180818
24772opt_v4gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2018081920180818
24772opt_v4gcc -march=nocona -O3 -fomit-frame-pointer2018081920180818
24794opt_v4gcc -m64 -march=nocona -O2 -fomit-frame-pointer2018081920180818
24794opt_v4gcc -m64 -march=nocona -O3 -fomit-frame-pointer2018081920180818
24816opt_v4gcc -m64 -O -fomit-frame-pointer2018081920180818
24816opt_v4gcc -m64 -march=corei7 -O -fomit-frame-pointer2018081920180818
24816opt_v4gcc -march=nocona -O -fomit-frame-pointer2018081920180818
24838opt_v4gcc -fno-schedule-insns -O -fomit-frame-pointer2018081920180818
24838opt_v4gcc -m64 -march=nocona -O -fomit-frame-pointer2018081920180818
24882opt_v4gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2018081920180818
24926opt_v4gcc -m64 -march=core-avx-i -O -fomit-frame-pointer2018081920180818
24926opt_v4gcc -m64 -march=core2 -O -fomit-frame-pointer2018081920180818
24970opt_v4gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2018081920180818
24970opt_v4gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2018081920180818
24970opt_v4gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2018081920180818
24992opt_v4gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2018081920180818
24992opt_v4gcc -m64 -march=k8 -O2 -fomit-frame-pointer2018081920180818
24992opt_v4gcc -march=barcelona -O2 -fomit-frame-pointer2018081920180818
25014opt_v4gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2018081920180818
25036opt_v4gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2018081920180818
25036opt_v4gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2018081920180818
25036opt_v4gcc -m64 -march=corei7-avx -O -fomit-frame-pointer2018081920180818
25058opt_v4gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2018081920180818
25080opt_v4gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2018081920180818
25080opt_v4gcc -m64 -march=k8 -O3 -fomit-frame-pointer2018081920180818
25080opt_v4gcc -march=k8 -O3 -fomit-frame-pointer2018081920180818
25124opt_v4gcc -march=k8 -O2 -fomit-frame-pointer2018081920180818
25168opt_v4gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2018081920180818
25168opt_v4gcc -march=barcelona -O3 -fomit-frame-pointer2018081920180818
25212opt_v4gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2018081920180818
25234opt_v4gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2018081920180818
25300opt_v4gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2018081920180818
25322opt_v4gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2018081920180818
25322opt_v4gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2018081920180818
25388opt_v4gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2018081920180818
25520opt_v4gcc -m64 -march=barcelona -O -fomit-frame-pointer2018081920180818
25586opt_v4gcc -m64 -march=k8 -O -fomit-frame-pointer2018081920180818
25586opt_v4gcc -march=barcelona -O -fomit-frame-pointer2018081920180818
25652opt_v4gcc -march=k8 -O -fomit-frame-pointer2018081920180818
25806opt_v4gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2018081920180818
25828opt_v4gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2018081920180818
25850opt_v4gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2018081920180818
25850opt_v4gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2018081920180818
26070optgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018081920180818
26290opt_v4gcc -funroll-loops -Os -fomit-frame-pointer2018081920180818
26312opt_v4gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018081920180818
26356opt_v4gcc -funroll-loops -m64 -Os -fomit-frame-pointer2018081920180818
26466opt_v4gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2018081920180818
26466optgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018081920180818
26488opt_v4gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2018081920180818
26598opt_v4gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018081920180818
26620opt_v4gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018081920180818
26620opt_v4gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018081920180818
26686optgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2018081920180818
26730optgcc -funroll-loops -Os -fomit-frame-pointer2018081920180818
26752optgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2018081920180818
26752optgcc -funroll-loops -m64 -Os -fomit-frame-pointer2018081920180818
26774optgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018081920180818
26884opt_v4gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2018081920180818
26950optgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2018081920180818
26972optgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2018081920180818
27016opt_v4gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2018081920180818
27126opt_v4gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018081920180818
27148optgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018081920180818
27170opt_v4gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018081920180818
27192optgcc -Os -fomit-frame-pointer2018081920180818
27192optgcc -fno-schedule-insns -Os -fomit-frame-pointer2018081920180818
27214optgcc -m64 -Os -fomit-frame-pointer2018081920180818
27258opt_v4gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2018081920180818
27302optgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2018081920180818
27368optgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2018081920180818
27434optgcc -m64 -march=corei7 -Os -fomit-frame-pointer2018081920180818
27456opt_v4gcc -Os -fomit-frame-pointer2018081920180818
27456opt_v4gcc -m64 -Os -fomit-frame-pointer2018081920180818
27522opt_v4gcc -fno-schedule-insns -Os -fomit-frame-pointer2018081920180818
27544opt_v4gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018081920180818
27544opt_v4gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018081920180818
27544opt_v4gcc -m64 -march=corei7 -Os -fomit-frame-pointer2018081920180818
27566opt_v4gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018081920180818
27566opt_v4gcc -m64 -march=core2 -Os -fomit-frame-pointer2018081920180818
27566opt_v4gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018081920180818
27588opt_v4gcc -m64 -march=k8 -Os -fomit-frame-pointer2018081920180818
27588opt_v4gcc -march=k8 -Os -fomit-frame-pointer2018081920180818
27610opt_v4gcc -m64 -march=barcelona -Os -fomit-frame-pointer2018081920180818
27610opt_v4gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2018081920180818
27610opt_v4gcc -march=barcelona -Os -fomit-frame-pointer2018081920180818
27720optgcc -m64 -march=barcelona -Os -fomit-frame-pointer2018081920180818
27720optgcc -m64 -march=k8 -Os -fomit-frame-pointer2018081920180818
27720optgcc -march=barcelona -Os -fomit-frame-pointer2018081920180818
27808optgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2018081920180818
27852optgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2018081920180818
27852optgcc -march=k8 -Os -fomit-frame-pointer2018081920180818
27874optgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2018081920180818
27874optgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018081920180818
27896opt_v4gcc -march=nocona -Os -fomit-frame-pointer2018081920180818
27940opt_v4gcc -m64 -march=nocona -Os -fomit-frame-pointer2018081920180818
28050optgcc -m64 -march=core2 -Os -fomit-frame-pointer2018081920180818
28072optgcc -m64 -march=nocona -Os -fomit-frame-pointer2018081920180818
28094optgcc -march=nocona -Os -fomit-frame-pointer2018081920180818
36300optgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2018081920180818
63360opt_v4gcc -funroll-loops2018081920180818
63492opt_v4cc2018081920180818
63602opt_v4gcc2018081920180818
70224optcc2018081920180818
70554optgcc -funroll-loops2018081920180818
70576optgcc2018081920180818

Compiler output

Implementation: crypto_hash/nasha512/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/nasha512/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/nasha512/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