Implementation notes: amd64, h8bobcat, crypto_dh/nist521gs

Computer: h8bobcat
Architecture: amd64
CPU ID: AuthenticAMD-00500f20-178bfbff
SUPERCOP version: 20171218
Operation: crypto_dh
Primitive: nist521gs
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
10979630? ? ?? ? ?refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2017111020171020
10994474? ? ?? ? ?refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017111020171020
11302450? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017111020171020
11302454? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2017111020171020
11303902? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2017111020171020
11308620? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2017111020171020
11371833? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2017111020171020
11371866? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2017111020171020
11390035? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2017111020171020
11390352? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2017111020171020
11441781? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017111020171020
11446184? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2017111020171020
11447633? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2017111020171020
11449006? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2017111020171020
11449860? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017111020171020
11450445? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2017111020171020
11463712? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2017111020171020
11464168? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2017111020171020
11464230? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2017111020171020
11471996? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2017111020171020
11478090? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2017111020171020
11569138? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017111020171020
11569205? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017111020171020
11570454? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2017111020171020
11582238? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2017111020171020
11614904? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2017111020171020
11615346? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2017111020171020
11637234? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2017111020171020
11685808? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2017111020171020
11821743? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017111020171020
11828683? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2017111020171020
11916715? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2017111020171020
11919565? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2017111020171020
11941215? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2017111020171020
11943490? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2017111020171020
11944616? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2017111020171020
11966832? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2017111020171020
11967036? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2017111020171020
11970190? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2017111020171020
11972869? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2017111020171020
11973239? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017111020171020
11973606? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2017111020171020
11973966? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2017111020171020
11975857? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017111020171020
11991850? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2017111020171020
12011012? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017111020171020
12011111? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2017111020171020
12019438? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2017111020171020
12020331? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2017111020171020
12030776? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2017111020171020
12034643? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2017111020171020
12034804? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2017111020171020
12041758? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2017111020171020
12042034? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2017111020171020
12049525? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017111020171020
12093491? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2017111020171020
12093491? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2017111020171020
12094056? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2017111020171020
12094378? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2017111020171020
12094545? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2017111020171020
12095433? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2017111020171020
12157188? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2017111020171020
12157245? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2017111020171020
12158199? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2017111020171020
12163263? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2017111020171020
12167424? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2017111020171020
12221935? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2017111020171020
12224534? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2017111020171020
12342937? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2017111020171020
12343255? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2017111020171020
12344760? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2017111020171020
12365880? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2017111020171020
12408302? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2017111020171020
12408373? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2017111020171020
12447503? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2017111020171020
22865446? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2017111020171020
22878874? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2017111020171020
22889803? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2017111020171020
22895794? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2017111020171020
22898316? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2017111020171020
22909830? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2017111020171020
22912446? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2017111020171020
22921842? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2017111020171020
22925870? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2017111020171020
22930568? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2017111020171020
22936268? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2017111020171020
22945906? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2017111020171020
22947354? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2017111020171020
22949725? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2017111020171020
22955069? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2017111020171020
22960659? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2017111020171020
22961191? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2017111020171020
22965148? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2017111020171020
22979464? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017111020171020
22986020? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2017111020171020
22986561? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2017111020171020
23009936? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2017111020171020
23011741? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2017111020171020
23320994? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2017111020171020
39603947? ? ?? ? ?refgcc2017111020171020
39635872? ? ?? ? ?refgcc_-funroll-loops2017111020171020
39666723? ? ?? ? ?refcc2017111020171020

Compiler output

Implementation: crypto_dh/nist521gs/ref
Compiler: cc
dh.c: dh.c: In function 'crypto_dh_nist521gs_ref_keypair':
dh.c: dh.c:831: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/nist521gs/ref
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
dh.c: dh.c:831: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/nist521gs/ref
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
dh.c: dh.c: In function 'crypto_dh_nist521gs_ref_keypair':
dh.c: dh.c:831: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_nist521gs_ref_keypair':
dh.c: dh.c:831: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