Implementation notes: amd64, genji239, crypto_dh/gls254

Computer: genji239
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20191017
Operation: crypto_dh
Primitive: gls254
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
14085227520 220672 062676 221560 1608opticc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer2019102020191017
14087228184 220672 063692 221560 1608opticc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer2019102020191017
14099428184 220672 063148 221560 1608opticc_-march=skylake-avx512_-mtune=skylake-avx512_-O2_-fomit-frame-pointer2019102020191017
14103827520 220672 062372 221560 1608opticc_-march=skylake-avx512_-mtune=skylake-avx512_-O3_-fomit-frame-pointer2019102020191017
15057620025 196608 051987 197448 1608optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102020191017
15081218729 196608 048019 197448 1608optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102020191017
15254828040 220672 062724 221560 1576opticc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102020191017
15256628040 220672 062452 221560 1576opticc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102020191017
15259828040 220672 062452 221560 1576opticc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102020191017
15272228040 220672 062724 221560 1576opticc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102020191017
15273828040 220672 062452 221560 1576opticc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102020191017
15280828040 220672 062724 221560 1576opticc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102020191017
15302027168 220672 061452 221560 1576opticc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102020191017
15302427168 220672 061612 221560 1576opticc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102020191017
15304827168 220672 061452 221560 1576opticc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102020191017
15305827168 220672 061452 221560 1576opticc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102020191017
15307027168 220672 061612 221560 1576opticc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102020191017
15312827168 220672 061612 221560 1576opticc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102020191017
15333427168 220672 061452 221560 1576opticc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102020191017
15337827168 220672 061612 221560 1576opticc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102020191017
16064230464 220672 063588 221560 1576opticc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102020191017
16242031672 220672 064740 221560 1576opticc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102020191017
16247831136 100896 066127 101792 1608reficc_-march=skylake-avx512_-mtune=skylake-avx512_-O3_-fomit-frame-pointer2019102020191017
16260431072 100896 066367 101792 1608reficc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer2019102020191017
16731616721 196608 044771 197440 1608optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102020191017
16835627952 100896 063599 101792 1608reficc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer2019102020191017
16917827984 100896 063087 101792 1608reficc_-march=skylake-avx512_-mtune=skylake-avx512_-O2_-fomit-frame-pointer2019102020191017
17215018745 196608 047763 197448 1608optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102020191017
17515827416 100896 061967 101792 1576reficc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102020191017
17547627416 100896 061967 101792 1576reficc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102020191017
17566626752 100896 061575 101792 1576reficc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102020191017
17575830520 100896 065103 101792 1576reficc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102020191017
17584426752 100896 061575 101792 1576reficc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102020191017
17596226752 100896 061575 101792 1576reficc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102020191017
17596827416 100896 061967 101792 1576reficc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102020191017
17607230520 100896 065103 101792 1576reficc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102020191017
17610026752 100896 061575 101792 1576reficc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102020191017
17613427416 100896 061967 101792 1576reficc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102020191017
17630430520 100896 065103 101792 1576reficc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102020191017
17635230520 100896 065103 101792 1576reficc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102020191017
17665629888 100896 064311 101792 1576reficc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102020191017
17677629888 100896 064311 101792 1576reficc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102020191017
17754429888 100896 064311 101792 1576reficc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102020191017
17985030192 100896 063399 101792 1576reficc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102020191017
17989028040 220672 062724 221560 1576opticc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102020191017
18164626793 98336 059214 99184 1608refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102020191017
18210833296 100896 066559 101792 1576reficc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102020191017
18958414273 98336 044014 99184 1608refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102020191017
19269228040 220672 062452 221560 1576opticc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102020191017
19301812992 98336 042110 99184 1608refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102020191017
19552812179 98336 040350 99176 1608refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102020191017
20435037144 100352 072356 101240 1608proticc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer2019102020191017
20438035888 100352 071452 101240 1608proticc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer2019102020191017
21032429888 100896 064311 101792 1576reficc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102020191017
21498036224 100352 071244 101240 1608proticc_-march=skylake-avx512_-mtune=skylake-avx512_-O2_-fomit-frame-pointer2019102020191017
21653235688 100352 070028 101240 1576proticc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102020191017
21657435688 100352 070028 101240 1576proticc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102020191017
21666035688 100352 070028 101240 1576proticc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102020191017
21669635688 100352 070028 101240 1576proticc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102020191017
21672834512 100352 069252 101240 1576proticc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102020191017
21676634512 100352 069252 101240 1576proticc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102020191017
21681234512 100352 069252 101240 1576proticc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102020191017
21685834512 100352 069252 101240 1576proticc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102020191017
21691235760 100352 070260 101240 1576proticc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102020191017
21691835760 100352 070260 101240 1576proticc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102020191017
21702235760 100352 070260 101240 1576proticc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102020191017
21715035760 100352 070260 101240 1576proticc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102020191017
21742834400 100352 068868 101240 1576proticc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102020191017
21744634400 100352 068868 101240 1576proticc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102020191017
21750634400 100352 068868 101240 1576proticc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102020191017
21762434049 98304 066459 99144 1608protgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102020191017
21763034400 100352 068868 101240 1576proticc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102020191017
22699015739 98304 045451 99144 1608protgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102020191017
22912814240 98304 043355 99144 1608protgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102020191017
25523437368 100352 072276 101240 1608proticc_-march=skylake-avx512_-mtune=skylake-avx512_-O3_-fomit-frame-pointer2019102020191017

Test failure

Implementation: opt
Security model: unknown
Compiler: icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer opt
icc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer opt
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE prot
icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer prot
icc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer prot
icc -march=corei7 -mtune=corei7 -O2 -fomit-frame-pointer prot
icc -march=corei7 -mtune=corei7 -O3 -fomit-frame-pointer prot
icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer ref
icc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer ref

Compiler output

Implementation: prot
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
dh.c: In file included from dh.c:9:
dh.c: scmul.incl: In function 'scmul_rand_wreg':
dh.c: scmul.incl:273:17: warning: implicit declaration of function 'types_cond_copy2'; did you mean 'types_copy'? [-Wimplicit-function-declaration]
dh.c: 273 | types_cond_copy2(tab0, tab4, tabx, n1, n2);
dh.c: | ^~~~~~~~~~~~~~~~
dh.c: | types_copy
dh.c: scmul.incl:284:9: warning: implicit declaration of function 'types_cond_copy'; did you mean 'types_copy'? [-Wimplicit-function-declaration]
dh.c: 284 | types_cond_copy(QX, tab0, o1);
dh.c: | ^~~~~~~~~~~~~~~
dh.c: | types_copy

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE prot
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE prot
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE prot
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE prot

Compiler output

Implementation: prot
Security model: unknown
Compiler: icc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer
dh.c: In file included from dh.c(9):
dh.c: scmul.incl(273): warning #266: function "types_cond_copy2" declared implicitly
dh.c: types_cond_copy2(tab0, tab4, tabx, n1, n2);
dh.c: ^
dh.c:
dh.c: In file included from dh.c(9):
dh.c: scmul.incl(284): warning #266: function "types_cond_copy" declared implicitly
dh.c: types_cond_copy(QX, tab0, o1);
dh.c: ^
dh.c:

Number of similar (compiler,implementation) pairs: 24, namely:
CompilerImplementations
icc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer prot
icc -march=broadwell -mtune=broadwell -O3 -fomit-frame-pointer prot
icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer prot
icc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer prot
icc -march=core-avx-i -mtune=core-avx-i -O2 -fomit-frame-pointer prot
icc -march=core-avx-i -mtune=core-avx-i -O3 -fomit-frame-pointer prot
icc -march=core-avx2 -mtune=core-avx2 -O2 -fomit-frame-pointer prot
icc -march=core-avx2 -mtune=core-avx2 -O3 -fomit-frame-pointer prot
icc -march=corei7-avx -mtune=corei7-avx -O2 -fomit-frame-pointer prot
icc -march=corei7-avx -mtune=corei7-avx -O3 -fomit-frame-pointer prot
icc -march=corei7 -mtune=corei7 -O2 -fomit-frame-pointer prot
icc -march=corei7 -mtune=corei7 -O3 -fomit-frame-pointer prot
icc -march=haswell -mtune=haswell -O2 -fomit-frame-pointer prot
icc -march=haswell -mtune=haswell -O3 -fomit-frame-pointer prot
icc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer prot
icc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer prot
icc -march=ivybridge -mtune=ivybridge -O2 -fomit-frame-pointer prot
icc -march=ivybridge -mtune=ivybridge -O3 -fomit-frame-pointer prot
icc -march=sandybridge -mtune=sandybridge -O2 -fomit-frame-pointer prot
icc -march=sandybridge -mtune=sandybridge -O3 -fomit-frame-pointer prot
icc -march=skylake-avx512 -mtune=skylake-avx512 -O2 -fomit-frame-pointer prot
icc -march=skylake-avx512 -mtune=skylake-avx512 -O3 -fomit-frame-pointer prot
icc -march=skylake -mtune=skylake -O2 -fomit-frame-pointer prot
icc -march=skylake -mtune=skylake -O3 -fomit-frame-pointer prot

Compiler output

Implementation: ref
Security model: unknown
Compiler: icc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer
dh.c: In file included from dh.c(6):
dh.c: curves.incl(96): warning #266: function "rand" declared implicitly
dh.c: for (j=0;j<16;j++) { I[j] = rand() % 256; }
dh.c: ^
dh.c:
dh.c: In file included from dh.c(6):
dh.c: curves.incl(109): warning #266: function "rand" declared implicitly
dh.c: for (j=0;j<16;j++) { I[j] = rand() % 256; }
dh.c: ^
dh.c:

Number of similar (compiler,implementation) pairs: 24, namely:
CompilerImplementations
icc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer ref
icc -march=broadwell -mtune=broadwell -O3 -fomit-frame-pointer ref
icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer ref
icc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer ref
icc -march=core-avx-i -mtune=core-avx-i -O2 -fomit-frame-pointer ref
icc -march=core-avx-i -mtune=core-avx-i -O3 -fomit-frame-pointer ref
icc -march=core-avx2 -mtune=core-avx2 -O2 -fomit-frame-pointer ref
icc -march=core-avx2 -mtune=core-avx2 -O3 -fomit-frame-pointer ref
icc -march=corei7-avx -mtune=corei7-avx -O2 -fomit-frame-pointer ref
icc -march=corei7-avx -mtune=corei7-avx -O3 -fomit-frame-pointer ref
icc -march=corei7 -mtune=corei7 -O2 -fomit-frame-pointer ref
icc -march=corei7 -mtune=corei7 -O3 -fomit-frame-pointer ref
icc -march=haswell -mtune=haswell -O2 -fomit-frame-pointer ref
icc -march=haswell -mtune=haswell -O3 -fomit-frame-pointer ref
icc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer ref
icc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer ref
icc -march=ivybridge -mtune=ivybridge -O2 -fomit-frame-pointer ref
icc -march=ivybridge -mtune=ivybridge -O3 -fomit-frame-pointer ref
icc -march=sandybridge -mtune=sandybridge -O2 -fomit-frame-pointer ref
icc -march=sandybridge -mtune=sandybridge -O3 -fomit-frame-pointer ref
icc -march=skylake-avx512 -mtune=skylake-avx512 -O2 -fomit-frame-pointer ref
icc -march=skylake-avx512 -mtune=skylake-avx512 -O3 -fomit-frame-pointer ref
icc -march=skylake -mtune=skylake -O2 -fomit-frame-pointer ref
icc -march=skylake -mtune=skylake -O3 -fomit-frame-pointer ref