Implementation notes: amd64, pmnod076, crypto_hash/simd256

Computer: pmnod076
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20191017
Operation: crypto_hash
Primitive: simd256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1211422232 416 038148 1304 744vect128icc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102320191017
1212022072 416 037604 1304 744vect128icc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102320191017
1226622192 416 037708 1304 744vect128icc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102320191017
4214257688 0 070515 832 776sphlibgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
4513260888 416 073946 1280 776optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
5075871360 0 087877 856 776sphlibicc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer2019102320191017
5144071776 0 087485 856 744sphlibicc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102320191017
5159471424 0 087413 856 776sphlibicc_-march=skylake-avx512_-mtune=skylake-avx512_-O2_-fomit-frame-pointer2019102320191017
5166075608 0 091773 856 776sphlibicc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer2019102320191017
5167871776 0 087485 856 744sphlibicc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102320191017
5187271776 0 087485 856 744sphlibicc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102320191017
5228271776 0 087485 856 744sphlibicc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102320191017
5269876024 0 091333 856 744sphlibicc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102320191017
5270676024 0 091333 856 744sphlibicc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102320191017
5278276024 0 091333 856 744sphlibicc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102320191017
5288275672 0 091549 856 776sphlibicc_-march=skylake-avx512_-mtune=skylake-avx512_-O3_-fomit-frame-pointer2019102320191017
5372876024 0 091333 856 744sphlibicc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102320191017
5392470272 0 084333 856 744sphlibicc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102320191017
5402272160 0 087517 856 744sphlibicc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102320191017
5406472160 0 087517 856 744sphlibicc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102320191017
5426472160 0 087517 856 744sphlibicc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102320191017
5426872160 0 087517 856 744sphlibicc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102320191017
5498676424 0 091813 856 744sphlibicc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102320191017
5506676424 0 091813 856 744sphlibicc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102320191017
5507676424 0 091813 856 744sphlibicc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102320191017
5514276424 0 091813 856 744sphlibicc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102320191017
5563674376 0 088493 856 744sphlibicc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102320191017
5598049614 0 059723 832 776sphlibgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
5709450168 0 060339 832 776sphlibgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
5976433928 0 046795 832 776sphlib-smallgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
6360059464 0 076069 856 776sphlib-smallicc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer2019102320191017
6389262840 0 079093 856 776sphlib-smallicc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer2019102320191017
6553063616 0 078981 856 744sphlib-smallicc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102320191017
6553863616 0 078981 856 744sphlib-smallicc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102320191017
6567863552 0 078917 856 744sphlib-smallicc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102320191017
6572663200 0 079133 856 776sphlib-smallicc_-march=skylake-avx512_-mtune=skylake-avx512_-O3_-fomit-frame-pointer2019102320191017
6587863744 0 079509 856 744sphlib-smallicc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102320191017
6597863744 0 079509 856 744sphlib-smallicc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102320191017
6603463616 0 078981 856 744sphlib-smallicc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102320191017
6605063744 0 079509 856 744sphlib-smallicc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102320191017
6613063296 0 079341 856 776sphlib-smallicc_-march=skylake-avx512_-mtune=skylake-avx512_-O2_-fomit-frame-pointer2019102320191017
6652063680 0 079445 856 744sphlib-smallicc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102320191017
6749464144 0 078285 856 744sphlib-smallicc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102320191017
6764464528 0 079941 856 744sphlib-smallicc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102320191017
6793064528 0 079941 856 744sphlib-smallicc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102320191017
6794264528 0 079941 856 744sphlib-smallicc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102320191017
6825464576 0 078661 856 744sphlib-smallicc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102320191017
6914664528 0 079941 856 744sphlib-smallicc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102320191017
6916264960 0 080341 856 744sphlib-smallicc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102320191017
6919664960 0 080341 856 744sphlib-smallicc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102320191017
6919864960 0 080341 856 744sphlib-smallicc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102320191017
6963664960 0 080341 856 744sphlib-smallicc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102320191017
7369638572 416 054724 1304 776opticc_-march=skylake-avx512_-mtune=skylake-avx512_-O3_-fomit-frame-pointer2019102320191017
7370228296 0 038491 832 776sphlib-smallgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
7380436708 416 052972 1304 776opticc_-march=skylake-avx512_-mtune=skylake-avx512_-O2_-fomit-frame-pointer2019102320191017
7380841060 416 057468 1304 776opticc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer2019102320191017
7471638892 416 055652 1304 776opticc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer2019102320191017
7489638812 416 054364 1304 744opticc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102320191017
7500238812 416 054364 1304 744opticc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102320191017
7508238812 416 054364 1304 744opticc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102320191017
7543838812 416 054364 1304 744opticc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102320191017
7556036900 416 052852 1304 744opticc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102320191017
7561036900 416 052852 1304 744opticc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102320191017
7572236900 416 052852 1304 744opticc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102320191017
7576036900 416 052852 1304 744opticc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102320191017
7594427831 0 037963 832 776sphlib-smallgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
7649246483 0 055662 808 776sphlibgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
7885239292 416 054892 1304 744opticc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102320191017
7908839292 416 054892 1304 744opticc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102320191017
7913239292 416 054892 1304 744opticc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102320191017
7945836868 416 052436 1304 744opticc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102320191017
7963436868 416 052436 1304 744opticc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102320191017
7983036868 416 052436 1304 744opticc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102320191017
7984436868 416 052436 1304 744opticc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102320191017
8121615184 416 025554 1280 776optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
8194238116 416 052388 1304 744opticc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102320191017
8236040948 416 055276 1304 744opticc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102320191017
9363615715 416 026002 1280 776optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
9365225547 0 034750 808 776sphlib-smallgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
10287639292 416 054892 1304 744opticc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102320191017
12358612913 416 022269 1256 776optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
32156445455 416 015762 1280 776refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
324562220004 416 034252 1304 744reficc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102320191017
326381620524 416 036068 1304 744reficc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102320191017
326673020524 416 036068 1304 744reficc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102320191017
326676420524 416 036068 1304 744reficc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102320191017
326840820524 416 036068 1304 744reficc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102320191017
326922013570 416 026578 1280 776refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
329457022492 416 038668 1304 776reficc_-march=skylake-avx512_-mtune=skylake-avx512_-O2_-fomit-frame-pointer2019102320191017
331482221100 416 037028 1304 744reficc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102320191017
331702021100 416 037028 1304 744reficc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102320191017
331732419932 416 035460 1304 744reficc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102320191017
331749221100 416 037028 1304 744reficc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102320191017
331780419932 416 035460 1304 744reficc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102320191017
331842421100 416 037028 1304 744reficc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102320191017
331856619932 416 035460 1304 744reficc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102320191017
331933419932 416 035460 1304 744reficc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102320191017
333598018668 416 032972 1304 744reficc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102320191017
333875619436 416 035012 1304 744reficc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102320191017
333904019436 416 035012 1304 744reficc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102320191017
334322019436 416 035012 1304 744reficc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102320191017
334350819436 416 035012 1304 744reficc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102320191017
341751820212 416 036596 1304 776reficc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer2019102320191017
342811221164 416 037228 1304 776reficc_-march=skylake-avx512_-mtune=skylake-avx512_-O3_-fomit-frame-pointer2019102320191017
350711821572 416 038308 1304 776reficc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer2019102320191017
35153985205 416 015434 1280 776refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
72860884390 416 013685 1256 776refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017

Test failure

Implementation: crypto_hash/simd256/opt
Compiler: icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer opt ref sphlib sphlib-small
icc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer opt ref sphlib sphlib-small

Compiler output

Implementation: crypto_hash/simd256/vect128
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
vector.c: vector.c: In function 'fft64':
vector.c: vector.c:73: warning: "X" redefined
vector.c: 73 | #define X(i) X##i
vector.c: |
vector.c: vector.c:68: note: this is the location of the previous definition
vector.c: 68 | #define X(i) A[i]
vector.c: |
vector.c: vector.c: In function 'rounds512':
vector.c: vector.c:796: warning: "STEP_1" redefined
vector.c: 796 | #define STEP_1(a,b,c,d,w,fun,r,s,z) \
vector.c: |
vector.c: vector.c:542: note: this is the location of the previous definition
vector.c: 542 | #define STEP_1(a,b,c,d,w,fun,r,s,z) \
vector.c: |
vector.c: vector.c:805: warning: "STEP_2" redefined
vector.c: 805 | #define STEP_2(a,b,c,d,w,fun,r,s) \
vector.c: |
vector.c: vector.c:566: note: this is the location of the previous definition
vector.c: 566 | #define STEP_2(a,b,c,d,w,fun,r,s) \
vector.c: |
vector.c: vector.c:808: warning: "STEP" redefined
vector.c: 808 | #define STEP(a,b,c,d,w1,w2,fun,r,s,z) \
vector.c: |
vector.c: vector.c:571: note: this is the location of the previous definition
vector.c: 571 | #define STEP(a,b,c,d,w,fun,r,s,z) \
vector.c: ...

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

Compiler output

Implementation: crypto_hash/simd256/vect128
Compiler: icc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer
vector.c: vector.c(73): warning #47: incompatible redefinition of macro "X" (declared at line 68)
vector.c: #define X(i) X##i
vector.c: ^
vector.c:
vector.c: vector.c(796): warning #47: incompatible redefinition of macro "STEP_1" (declared at line 542)
vector.c: #define STEP_1(a,b,c,d,w,fun,r,s,z) \
vector.c: ^
vector.c:
vector.c: vector.c(805): warning #47: incompatible redefinition of macro "STEP_2" (declared at line 566)
vector.c: #define STEP_2(a,b,c,d,w,fun,r,s) \
vector.c: ^
vector.c:
vector.c: vector.c(808): warning #47: incompatible redefinition of macro "STEP" (declared at line 571)
vector.c: #define STEP(a,b,c,d,w1,w2,fun,r,s,z) \
vector.c: ^
vector.c:
vector.c: vector.c(829): warning #47: incompatible redefinition of macro "ROUND" (declared at line 579)
vector.c: #define ROUND(h0,l0,u0,h1,l1,u1,h2,l2,u2,h3,l3,u3, \
vector.c: ^
vector.c:
vector.c: vector.c(854): warning #47: incompatible redefinition of macro "PERM_START" (declared at line 852)
vector.c: #define PERM_START 4
vector.c: ^
vector.c:
vector.c: vector.c(856): warning #47: incompatible redefinition of macro "PERM_START" (declared at line 854)
vector.c: ...

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