Implementation notes: amd64, katana, crypto_dh/ed521gs

Computer: katana
Architecture: amd64
CPU ID: GenuineIntel-000006f6-bfebfbff
SUPERCOP version: 20170105
Operation: crypto_dh
Primitive: ed521gs
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
6596536? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2016103020161009
6598832? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016103020161009
6600280? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016103020161009
6603672? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016103020161009
6604824? ? ?? ? ?refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2016103020161009
6611680? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2016103020161009
6612384? ? ?? ? ?refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016103020161009
6618592? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2016103020161009
6646584? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2016103020161009
6647752? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2016103020161009
6655384? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2016103020161009
6679616? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2016103020161009
6681992? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2016103020161009
6683808? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2016103020161009
6700968? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2016103020161009
6751632? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2016103020161009
6756240? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2016103020161009
6759848? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2016103020161009
6760800? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2016103020161009
6904104? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2016103020161009
6907456? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2016103020161009
6907936? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2016103020161009
6908800? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2016103020161009
6909240? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2016103020161009
6914032? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2016103020161009
6914288? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2016103020161009
6917336? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2016103020161009
6917656? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2016103020161009
6917944? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2016103020161009
6918816? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2016103020161009
6924976? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2016103020161009
6939920? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2016103020161009
6945896? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2016103020161009
6997480? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2016103020161009
6999648? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2016103020161009
7002856? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2016103020161009
7003800? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2016103020161009
7005712? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2016103020161009
7007472? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2016103020161009
7007496? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2016103020161009
7015568? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2016103020161009
7020840? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2016103020161009
7025616? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2016103020161009
7032528? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2016103020161009
7036896? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2016103020161009
7041520? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2016103020161009
7077232? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2016103020161009
7080072? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2016103020161009
7083152? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2016103020161009
7088568? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2016103020161009
7091384? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2016103020161009
7091568? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2016103020161009
7091864? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2016103020161009
7091904? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2016103020161009
7092776? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2016103020161009
7103544? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2016103020161009
7111256? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2016103020161009
7130928? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2016103020161009
7133792? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2016103020161009
7136280? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2016103020161009
7142808? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2016103020161009
7159216? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2016103020161009
7177352? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2016103020161009
7237200? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2016103020161009
7246608? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2016103020161009
7253544? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2016103020161009
7261264? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2016103020161009
7279632? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2016103020161009
7283640? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2016103020161009
7305808? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2016103020161009
7306112? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2016103020161009
7321056? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2016103020161009
7322616? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2016103020161009
7332256? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2016103020161009
7333904? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2016103020161009
10530040? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2016103020161009
10530448? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2016103020161009
10533008? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2016103020161009
10535728? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2016103020161009
10551976? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2016103020161009
10562880? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2016103020161009
10563424? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2016103020161009
10568160? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2016103020161009
10617848? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2016103020161009
10619616? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2016103020161009
10642768? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2016103020161009
10653824? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2016103020161009
10655264? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2016103020161009
10657360? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2016103020161009
10657592? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2016103020161009
10664208? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2016103020161009
10664304? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2016103020161009
10668856? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2016103020161009
10675112? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2016103020161009
10688432? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2016103020161009
10696288? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2016103020161009
10729312? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2016103020161009
10729640? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2016103020161009
10853944? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2016103020161009
22276720? ? ?? ? ?refgcc2016103020161009
22296376? ? ?? ? ?refcc2016103020161009
22299576? ? ?? ? ?refgcc_-funroll-loops2016103020161009

Compiler output

Implementation: crypto_dh/ed521gs/ref
Compiler: cc
dh.c: dh.c: In function 'crypto_dh_ed521gs_ref_keypair':
dh.c: dh.c:771:2: warning: implicit declaration of function 'randombytes' [-Wimplicit-function-declaration]
dh.c: randombytes(sk,PANES-1);
dh.c: ^

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

Compiler output

Implementation: crypto_dh/ed521gs/ref
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
dh.c: dh.c:771:2: warning: implicit declaration of function 'randombytes' is invalid in C99 [-Wimplicit-function-declaration]
dh.c: randombytes(sk,PANES-1);
dh.c: ^
dh.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments ref
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments ref

Compiler output

Implementation: crypto_dh/ed521gs/ref
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
dh.c: dh.c: In function 'crypto_dh_ed521gs_ref_keypair':
dh.c: dh.c:771:2: warning: implicit declaration of function 'randombytes' [-Wimplicit-function-declaration]
dh.c: randombytes(sk,PANES-1);
dh.c: ^
dh.c: dh.c: In function 'crypto_dh_ed521gs_ref_keypair':
dh.c: dh.c:771:2: warning: implicit declaration of function 'randombytes' [-Wimplicit-function-declaration]
dh.c: randombytes(sk,PANES-1);
dh.c: ^

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