Implementation notes: amd64, pmnod076, crypto_hash/simd512

Computer: pmnod076
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20191017
Operation: crypto_hash
Primitive: simd512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1374822032 416 037596 1304 744vect128icc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102320191017
1415622072 416 037604 1304 744vect128icc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102320191017
1536426560 416 040796 1304 744vect128icc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102320191017
2773260888 416 074026 1280 776optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
5182657688 0 070595 832 776sphlibgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
6106871360 0 087877 856 776sphlibicc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer2019102320191017
6190071776 0 087485 856 744sphlibicc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102320191017
6221671776 0 087485 856 744sphlibicc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102320191017
6240271776 0 087485 856 744sphlibicc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102320191017
6244071776 0 087485 856 744sphlibicc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102320191017
6274671424 0 087413 856 776sphlibicc_-march=skylake-avx512_-mtune=skylake-avx512_-O2_-fomit-frame-pointer2019102320191017
6322059464 0 076069 856 776sphlib-smallicc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer2019102320191017
6369475608 0 091773 856 776sphlibicc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer2019102320191017
6470062840 0 079093 856 776sphlib-smallicc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer2019102320191017
6491075672 0 091549 856 776sphlibicc_-march=skylake-avx512_-mtune=skylake-avx512_-O3_-fomit-frame-pointer2019102320191017
6494276024 0 091333 856 744sphlibicc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102320191017
6497472160 0 087517 856 744sphlibicc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102320191017
6497872160 0 087517 856 744sphlibicc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102320191017
6499276024 0 091333 856 744sphlibicc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102320191017
6501270272 0 084333 856 744sphlibicc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102320191017
6508872160 0 087517 856 744sphlibicc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102320191017
6509472160 0 087517 856 744sphlibicc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102320191017
6513476024 0 091333 856 744sphlibicc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102320191017
6514876024 0 091333 856 744sphlibicc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102320191017
6526450168 0 060419 832 776sphlibgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
6643463616 0 078981 856 744sphlib-smallicc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102320191017
6648663744 0 079509 856 744sphlib-smallicc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102320191017
6658863616 0 078981 856 744sphlib-smallicc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102320191017
6661863744 0 079509 856 744sphlib-smallicc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102320191017
6668063552 0 078917 856 744sphlib-smallicc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102320191017
6674449614 0 059723 832 776sphlibgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
6677663616 0 078981 856 744sphlib-smallicc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102320191017
6680263200 0 079133 856 776sphlib-smallicc_-march=skylake-avx512_-mtune=skylake-avx512_-O3_-fomit-frame-pointer2019102320191017
6688263744 0 079509 856 744sphlib-smallicc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102320191017
6699863680 0 079445 856 744sphlib-smallicc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102320191017
6711033928 0 046875 832 776sphlib-smallgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
6712663296 0 079341 856 776sphlib-smallicc_-march=skylake-avx512_-mtune=skylake-avx512_-O2_-fomit-frame-pointer2019102320191017
6800874376 0 088493 856 744sphlibicc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102320191017
6804276424 0 091813 856 744sphlibicc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102320191017
6816476424 0 091813 856 744sphlibicc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102320191017
6818038892 416 055652 1304 776opticc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer2019102320191017
6820276424 0 091813 856 744sphlibicc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102320191017
6824676424 0 091813 856 744sphlibicc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102320191017
6967836708 416 052972 1304 776opticc_-march=skylake-avx512_-mtune=skylake-avx512_-O2_-fomit-frame-pointer2019102320191017
6980464576 0 078661 856 744sphlib-smallicc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102320191017
6987636900 416 052852 1304 744opticc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102320191017
7015636900 416 052852 1304 744opticc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102320191017
7039864960 0 080341 856 744sphlib-smallicc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102320191017
7042064960 0 080341 856 744sphlib-smallicc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102320191017
7044036900 416 052852 1304 744opticc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102320191017
7044464960 0 080341 856 744sphlib-smallicc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102320191017
7049064960 0 080341 856 744sphlib-smallicc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102320191017
7053236900 416 052852 1304 744opticc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102320191017
7126464144 0 078285 856 744sphlib-smallicc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102320191017
7198864528 0 079941 856 744sphlib-smallicc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102320191017
7205464528 0 079941 856 744sphlib-smallicc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102320191017
7207664528 0 079941 856 744sphlib-smallicc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102320191017
7225864528 0 079941 856 744sphlib-smallicc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102320191017
7231641060 416 057468 1304 776opticc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer2019102320191017
7291638812 416 054364 1304 744opticc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102320191017
7383638812 416 054364 1304 744opticc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102320191017
7414838572 416 054724 1304 776opticc_-march=skylake-avx512_-mtune=skylake-avx512_-O3_-fomit-frame-pointer2019102320191017
7449838812 416 054364 1304 744opticc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102320191017
7484838812 416 054364 1304 744opticc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102320191017
7486039292 416 054892 1304 744opticc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102320191017
7491036868 416 052436 1304 744opticc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102320191017
7495636868 416 052436 1304 744opticc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102320191017
7515439292 416 054892 1304 744opticc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102320191017
7516239292 416 054892 1304 744opticc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102320191017
7542436868 416 052436 1304 744opticc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102320191017
7564636868 416 052436 1304 744opticc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102320191017
7564639292 416 054892 1304 744opticc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102320191017
7683438116 416 052388 1304 744opticc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102320191017
7743240948 416 055276 1304 744opticc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102320191017
8229828296 0 038571 832 776sphlib-smallgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
8317427831 0 037963 832 776sphlib-smallgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
8407446483 0 055662 808 776sphlibgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
8813015184 416 025634 1280 776optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
9925415715 416 026002 1280 776optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
10475025547 0 034750 808 776sphlib-smallgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
11971612913 416 022269 1256 776optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
661845820004 416 034252 1304 744reficc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102320191017
66255925455 416 015842 1280 776refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
666752620524 416 036068 1304 744reficc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102320191017
666868220524 416 036068 1304 744reficc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102320191017
667632820524 416 036068 1304 744reficc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102320191017
667730620524 416 036068 1304 744reficc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102320191017
669617222492 416 038668 1304 776reficc_-march=skylake-avx512_-mtune=skylake-avx512_-O2_-fomit-frame-pointer2019102320191017
670660821100 416 037028 1304 744reficc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102320191017
670705419932 416 035460 1304 744reficc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102320191017
670884219932 416 035460 1304 744reficc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102320191017
671098621100 416 037028 1304 744reficc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102320191017
671317221100 416 037028 1304 744reficc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102320191017
671466419932 416 035460 1304 744reficc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102320191017
671470621100 416 037028 1304 744reficc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102320191017
671568413570 416 026658 1280 776refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
672637219932 416 035460 1304 744reficc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102320191017
674432421572 416 038308 1304 776reficc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer2019102320191017
678752618668 416 032972 1304 744reficc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102320191017
678807019436 416 035012 1304 744reficc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102320191017
679259219436 416 035012 1304 744reficc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102320191017
679271419436 416 035012 1304 744reficc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102320191017
679309819436 416 035012 1304 744reficc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102320191017
698007620212 416 036596 1304 776reficc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer2019102320191017
702404821164 416 037228 1304 776reficc_-march=skylake-avx512_-mtune=skylake-avx512_-O3_-fomit-frame-pointer2019102320191017
70856065205 416 015434 1280 776refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
151183724390 416 013685 1256 776refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017

Test failure

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

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

Compiler output

Implementation: crypto_hash/simd512/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/simd512/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