Implementation notes: amd64, pmnod003, crypto_dh/gls254

Computer: pmnod003
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20190910
Operation: crypto_dh
Primitive: gls254
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
14063027520 220672 062204 221560 1608opticc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091220190910
14064228184 220672 062964 221560 1608opticc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091220190910
15030620025 196608 051857 197464 1608optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
15201818729 196608 047889 197464 1608optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
15252828040 220672 062359 221568 1576opticc_-xAVX_-O2_-fomit-frame-pointer2019091220190910
15278428040 220672 062556 221560 1576opticc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091220190910
15285427168 220672 061519 221568 1576opticc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091220190910
15292227168 220672 061519 221568 1576opticc_-xAVX_-O3_-fomit-frame-pointer2019091220190910
15292428040 220672 062359 221568 1576opticc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2019091220190910
15295828152 220672 063044 221560 1608opticc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091220190910
15296227168 220672 061268 221560 1576opticc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091220190910
15367627472 220672 061836 221560 1608opticc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091220190910
16046430464 220672 063763 221568 1576opticc_-xSSE4.1_-O3_-fomit-frame-pointer2019091220190910
16055430464 220672 063495 221568 1576opticc_-xSSE4.2_-O3_-fomit-frame-pointer2019091220190910
16179031136 100896 065959 101792 1608reficc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091220190910
16190631672 220672 064899 221568 1576opticc_-xSSE4.1_-O2_-fomit-frame-pointer2019091220190910
16201831672 220672 064647 221568 1576opticc_-xSSE4.2_-O2_-fomit-frame-pointer2019091220190910
16755016721 196608 044705 197456 1608optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
16998427984 100896 062903 101792 1608reficc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091220190910
17205618745 196608 047633 197464 1608optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
17573827416 100896 061874 101800 1576reficc_-xAVX_-O2_-fomit-frame-pointer2019091220190910
17582427416 100896 061874 101800 1576reficc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2019091220190910
17611826752 100896 061407 101792 1576reficc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091220190910
17653830520 100896 065010 101800 1576reficc_-xAVX_-O3_-fomit-frame-pointer2019091220190910
17666630520 100896 065010 101800 1576reficc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091220190910
17683629888 100896 064127 101792 1576reficc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091220190910
17693426720 100896 061751 101792 1608reficc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091220190910
17743429824 100896 064327 101792 1608reficc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091220190910
18036830192 100896 063306 101800 1576reficc_-xSSE4.2_-O2_-fomit-frame-pointer2019091220190910
18185626793 98336 059084 99200 1608refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
18237833296 100896 066466 101800 1576reficc_-xSSE4.2_-O3_-fomit-frame-pointer2019091220190910
18765814273 98336 043884 99200 1608refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
19297812992 98336 042044 99200 1608refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
19301012179 98336 040284 99192 1608refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
20411037368 100352 072172 101240 1608proticc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091220190910
21461234049 98304 066329 99160 1608protgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
21644435688 100352 069908 101240 1576proticc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091220190910
21655235448 100352 069932 101240 1608proticc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091220190910
21689434512 100352 069148 101240 1576proticc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091220190910
21704035760 100352 070231 101248 1576proticc_-xAVX_-O3_-fomit-frame-pointer2019091220190910
21712635760 100352 070231 101248 1576proticc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091220190910
21741634400 100352 068839 101248 1576proticc_-xAVX_-O2_-fomit-frame-pointer2019091220190910
21744034400 100352 068839 101248 1576proticc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2019091220190910
22027236224 100352 071124 101240 1608proticc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091220190910
22033434208 100352 069220 101240 1608proticc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091220190910
22561014240 98304 043225 99160 1608protgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910
22671215739 98304 045321 99160 1608protgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091220190910

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: 7, namely:
CompilerImplementations
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE prot
icc -xSSE4.1 -O2 -fomit-frame-pointer prot ref
icc -xSSE4.1 -O3 -fomit-frame-pointer prot ref
icc -xSSE4.2 -O2 -fomit-frame-pointer prot
icc -xSSE4.2 -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 -xAVX -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: 14, namely:
CompilerImplementations
icc -xAVX -O2 -fomit-frame-pointer ref
icc -xAVX -O3 -fomit-frame-pointer ref
icc -xCOMMON-AVX512 -O2 -fomit-frame-pointer ref
icc -xCOMMON-AVX512 -O3 -fomit-frame-pointer ref
icc -xCORE-AVX-I -O2 -fomit-frame-pointer ref
icc -xCORE-AVX-I -O3 -fomit-frame-pointer ref
icc -xCORE-AVX2 -O2 -fomit-frame-pointer ref
icc -xCORE-AVX2 -O3 -fomit-frame-pointer ref
icc -xCORE-AVX512 -O2 -fomit-frame-pointer ref
icc -xCORE-AVX512 -O3 -fomit-frame-pointer ref
icc -xSSE4.1 -O2 -fomit-frame-pointer ref
icc -xSSE4.1 -O3 -fomit-frame-pointer ref
icc -xSSE4.2 -O2 -fomit-frame-pointer ref
icc -xSSE4.2 -O3 -fomit-frame-pointer ref

Compiler output

Implementation: crypto_dh/gls254/prot
Compiler: icc -xAVX -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: 14, namely:
CompilerImplementations
icc -xAVX -O2 -fomit-frame-pointer prot
icc -xAVX -O3 -fomit-frame-pointer prot
icc -xCOMMON-AVX512 -O2 -fomit-frame-pointer prot
icc -xCOMMON-AVX512 -O3 -fomit-frame-pointer prot
icc -xCORE-AVX-I -O2 -fomit-frame-pointer prot
icc -xCORE-AVX-I -O3 -fomit-frame-pointer prot
icc -xCORE-AVX2 -O2 -fomit-frame-pointer prot
icc -xCORE-AVX2 -O3 -fomit-frame-pointer prot
icc -xCORE-AVX512 -O2 -fomit-frame-pointer prot
icc -xCORE-AVX512 -O3 -fomit-frame-pointer prot
icc -xSSE4.1 -O2 -fomit-frame-pointer prot
icc -xSSE4.1 -O3 -fomit-frame-pointer prot
icc -xSSE4.2 -O2 -fomit-frame-pointer prot
icc -xSSE4.2 -O3 -fomit-frame-pointer prot