Implementation notes: amd64, pmnod076, crypto_dh/gls254

Computer: pmnod076
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20191017
Operation: crypto_dh
Primitive: gls254
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
14089627520 220672 062676 221560 1608opticc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer2019102320191017
14093828184 220672 063692 221560 1608opticc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer2019102320191017
14110227520 220672 062372 221560 1608opticc_-march=skylake-avx512_-mtune=skylake-avx512_-O3_-fomit-frame-pointer2019102320191017
14148228184 220672 063148 221560 1608opticc_-march=skylake-avx512_-mtune=skylake-avx512_-O2_-fomit-frame-pointer2019102320191017
15053220025 196608 052045 197464 1608optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
15091618729 196608 048077 197464 1608optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
15230427168 220672 061612 221560 1576opticc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102320191017
15268628040 220672 062724 221560 1576opticc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102320191017
15271228040 220672 062724 221560 1576opticc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102320191017
15278628040 220672 062452 221560 1576opticc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102320191017
15280428040 220672 062724 221560 1576opticc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102320191017
15289228040 220672 062452 221560 1576opticc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102320191017
15294028040 220672 062452 221560 1576opticc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102320191017
15304627168 220672 061452 221560 1576opticc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102320191017
15306227168 220672 061612 221560 1576opticc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102320191017
15308027168 220672 061612 221560 1576opticc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102320191017
15308428040 220672 062452 221560 1576opticc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102320191017
15309028040 220672 062724 221560 1576opticc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102320191017
15309227168 220672 061452 221560 1576opticc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102320191017
15312827168 220672 061452 221560 1576opticc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102320191017
15323227168 220672 061612 221560 1576opticc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102320191017
16066430464 220672 063588 221560 1576opticc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102320191017
16232031136 100896 066127 101792 1608reficc_-march=skylake-avx512_-mtune=skylake-avx512_-O3_-fomit-frame-pointer2019102320191017
16250031672 220672 064740 221560 1576opticc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102320191017
16314431072 100896 066367 101792 1608reficc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer2019102320191017
16773816721 196608 044829 197456 1608optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
16896027984 100896 063087 101792 1608reficc_-march=skylake-avx512_-mtune=skylake-avx512_-O2_-fomit-frame-pointer2019102320191017
17016427952 100896 063599 101792 1608reficc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer2019102320191017
17245218745 196608 047821 197464 1608optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
17358626752 100896 061575 101792 1576reficc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102320191017
17573227416 100896 061967 101792 1576reficc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102320191017
17605227168 220672 061452 221560 1576opticc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102320191017
17613427416 100896 061967 101792 1576reficc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102320191017
17624830520 100896 065103 101792 1576reficc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102320191017
17626426752 100896 061575 101792 1576reficc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102320191017
17634027416 100896 061967 101792 1576reficc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102320191017
17645829888 100896 064311 101792 1576reficc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102320191017
17647630520 100896 065103 101792 1576reficc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102320191017
17659626752 100896 061575 101792 1576reficc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102320191017
17673827416 100896 061967 101792 1576reficc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102320191017
17686229888 100896 064311 101792 1576reficc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102320191017
17699429888 100896 064311 101792 1576reficc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102320191017
17708030520 100896 065103 101792 1576reficc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102320191017
17710829888 100896 064311 101792 1576reficc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102320191017
17730426752 100896 061575 101792 1576reficc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102320191017
17742430520 100896 065103 101792 1576reficc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102320191017
18070230192 100896 063399 101792 1576reficc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102320191017
18186226793 98336 059272 99200 1608refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
18207233296 100896 066559 101792 1576reficc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102320191017
19078014273 98336 044072 99200 1608refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
19451212992 98336 042168 99200 1608refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
19522812179 98336 040408 99192 1608refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
20231237368 100352 072276 101240 1608proticc_-march=skylake-avx512_-mtune=skylake-avx512_-O3_-fomit-frame-pointer2019102320191017
20423036224 100352 071244 101240 1608proticc_-march=skylake-avx512_-mtune=skylake-avx512_-O2_-fomit-frame-pointer2019102320191017
20513235888 100352 071452 101240 1608proticc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer2019102320191017
20531437144 100352 072356 101240 1608proticc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer2019102320191017
21375834400 100352 068868 101240 1576proticc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102320191017
21485235688 100352 070028 101240 1576proticc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102320191017
21643435688 100352 070028 101240 1576proticc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102320191017
21651035688 100352 070028 101240 1576proticc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102320191017
21667434512 100352 069252 101240 1576proticc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102320191017
21675435688 100352 070028 101240 1576proticc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102320191017
21685835760 100352 070260 101240 1576proticc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102320191017
21687435760 100352 070260 101240 1576proticc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102320191017
21687634512 100352 069252 101240 1576proticc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102320191017
21714034512 100352 069252 101240 1576proticc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102320191017
21715035760 100352 070260 101240 1576proticc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102320191017
21715635760 100352 070260 101240 1576proticc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102320191017
21722034400 100352 068868 101240 1576proticc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102320191017
21726434400 100352 068868 101240 1576proticc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102320191017
21728234400 100352 068868 101240 1576proticc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102320191017
21765234512 100352 069252 101240 1576proticc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102320191017
21769834049 98304 066517 99160 1608protgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
22689815739 98304 045509 99160 1608protgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
22901614240 98304 043413 99160 1608protgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017

Test failure

Implementation: crypto_dh/gls254/prot
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE
error 111

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

Compiler output

Implementation: crypto_dh/gls254/prot
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: crypto_dh/gls254/ref
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

Compiler output

Implementation: crypto_dh/gls254/prot
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