Implementation notes: amd64, katana, crypto_dh/nist521gs

Computer: katana
Architecture: amd64
CPU ID: GenuineIntel-000006f6-bfebfbff
SUPERCOP version: 20170105
Operation: crypto_dh
Primitive: nist521gs
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
7945112? ? ?? ? ?refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2016103020161009
7954576? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2016103020161009
7958280? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2016103020161009
7969488? ? ?? ? ?refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2016103020161009
7974856? ? ?? ? ?refgcc_-march=barcelona_-O3_-fomit-frame-pointer2016103020161009
7979144? ? ?? ? ?refgcc_-funroll-loops_-O3_-fomit-frame-pointer2016103020161009
7985360? ? ?? ? ?refgcc_-O3_-fomit-frame-pointer2016103020161009
7985768? ? ?? ? ?refgcc_-march=k8_-O3_-fomit-frame-pointer2016103020161009
7986008? ? ?? ? ?refgcc_-m64_-O3_-fomit-frame-pointer2016103020161009
7988432? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2016103020161009
7990304? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2016103020161009
7993216? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2016103020161009
7998144? ? ?? ? ?refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2016103020161009
8000720? ? ?? ? ?refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2016103020161009
8013056? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2016103020161009
8024616? ? ?? ? ?refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2016103020161009
8038536? ? ?? ? ?refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2016103020161009
8090280? ? ?? ? ?refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2016103020161009
8092192? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2016103020161009
8094176? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2016103020161009
8094784? ? ?? ? ?refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2016103020161009
8106016? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2016103020161009
8107536? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2016103020161009
8119952? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2016103020161009
8124112? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2016103020161009
8124536? ? ?? ? ?refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2016103020161009
8128808? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2016103020161009
8141968? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2016103020161009
8144784? ? ?? ? ?refgcc_-march=barcelona_-O2_-fomit-frame-pointer2016103020161009
8146048? ? ?? ? ?refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2016103020161009
8149144? ? ?? ? ?refgcc_-march=nocona_-O3_-fomit-frame-pointer2016103020161009
8152240? ? ?? ? ?refgcc_-O2_-fomit-frame-pointer2016103020161009
8152864? ? ?? ? ?refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2016103020161009
8156920? ? ?? ? ?refgcc_-m64_-O2_-fomit-frame-pointer2016103020161009
8160768? ? ?? ? ?refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2016103020161009
8161680? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2016103020161009
8162720? ? ?? ? ?refgcc_-march=k8_-Os_-fomit-frame-pointer2016103020161009
8163608? ? ?? ? ?refgcc_-funroll-loops_-O2_-fomit-frame-pointer2016103020161009
8164912? ? ?? ? ?refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2016103020161009
8166752? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2016103020161009
8167688? ? ?? ? ?refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2016103020161009
8169344? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2016103020161009
8171296? ? ?? ? ?refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2016103020161009
8173640? ? ?? ? ?refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2016103020161009
8175424? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2016103020161009
8176520? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2016103020161009
8179976? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2016103020161009
8180488? ? ?? ? ?refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2016103020161009
8182136? ? ?? ? ?refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2016103020161009
8182264? ? ?? ? ?refgcc_-Os_-fomit-frame-pointer2016103020161009
8184144? ? ?? ? ?refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2016103020161009
8187440? ? ?? ? ?refgcc_-march=k8_-O2_-fomit-frame-pointer2016103020161009
8190840? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2016103020161009
8197576? ? ?? ? ?refgcc_-m64_-Os_-fomit-frame-pointer2016103020161009
8201320? ? ?? ? ?refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2016103020161009
8202192? ? ?? ? ?refgcc_-funroll-loops_-Os_-fomit-frame-pointer2016103020161009
8206216? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2016103020161009
8209976? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2016103020161009
8214528? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2016103020161009
8219144? ? ?? ? ?refgcc_-march=barcelona_-Os_-fomit-frame-pointer2016103020161009
8237936? ? ?? ? ?refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2016103020161009
8239704? ? ?? ? ?refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016103020161009
8243864? ? ?? ? ?refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016103020161009
8244064? ? ?? ? ?refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016103020161009
8248120? ? ?? ? ?refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2016103020161009
8261456? ? ?? ? ?refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2016103020161009
8274320? ? ?? ? ?refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2016103020161009
8285088? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2016103020161009
8285088? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2016103020161009
8310032? ? ?? ? ?refgcc_-march=nocona_-O2_-fomit-frame-pointer2016103020161009
8312184? ? ?? ? ?refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2016103020161009
8322088? ? ?? ? ?refgcc_-march=nocona_-Os_-fomit-frame-pointer2016103020161009
8345248? ? ?? ? ?refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2016103020161009
8354256? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2016103020161009
8397304? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2016103020161009
12681432? ? ?? ? ?refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2016103020161009
12708088? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2016103020161009
12715536? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2016103020161009
12716544? ? ?? ? ?refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2016103020161009
12717536? ? ?? ? ?refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2016103020161009
12721648? ? ?? ? ?refgcc_-march=k8_-O_-fomit-frame-pointer2016103020161009
12725184? ? ?? ? ?refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2016103020161009
12745304? ? ?? ? ?refgcc_-march=barcelona_-O_-fomit-frame-pointer2016103020161009
12929728? ? ?? ? ?refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2016103020161009
12930696? ? ?? ? ?refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2016103020161009
12956496? ? ?? ? ?refgcc_-funroll-loops_-O_-fomit-frame-pointer2016103020161009
12963088? ? ?? ? ?refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2016103020161009
12964768? ? ?? ? ?refgcc_-march=nocona_-O_-fomit-frame-pointer2016103020161009
12965752? ? ?? ? ?refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2016103020161009
12972480? ? ?? ? ?refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2016103020161009
12975240? ? ?? ? ?refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2016103020161009
12976328? ? ?? ? ?refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2016103020161009
12979176? ? ?? ? ?refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2016103020161009
12981040? ? ?? ? ?refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2016103020161009
12984544? ? ?? ? ?refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2016103020161009
12989592? ? ?? ? ?refgcc_-m64_-O_-fomit-frame-pointer2016103020161009
12992040? ? ?? ? ?refgcc_-O_-fomit-frame-pointer2016103020161009
13003600? ? ?? ? ?refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2016103020161009
13281312? ? ?? ? ?refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2016103020161009
25670616? ? ?? ? ?refcc2016103020161009
25671560? ? ?? ? ?refgcc_-funroll-loops2016103020161009
25674168? ? ?? ? ?refgcc2016103020161009

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