Implementation notes: amd64, pmnod076, crypto_sign/ed448goldilocks

Computer: pmnod076
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20191017
Operation: crypto_sign
Primitive: ed448goldilocks
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
763836109824 24 21924147134 1008 23552amd64icc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102320191017
763956108712 24 21924145990 1008 23552amd64icc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102320191017
763960112376 24 21924148382 1008 23552amd64icc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102320191017
764072108712 24 21924145990 1008 23552amd64icc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102320191017
764396109824 24 21924147134 1008 23552amd64icc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102320191017
764568108712 24 21924145990 1008 23552amd64icc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102320191017
765058109824 24 21924147134 1008 23552amd64icc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102320191017
765146108712 24 21924145990 1008 23552amd64icc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102320191017
765680109824 24 21924147134 1008 23552amd64icc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102320191017
773526111232 24 21924147182 1008 23552amd64icc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102320191017
79043851054 24 2192482749 976 23584amd64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
851898102312 24 21924139910 1008 23552amd64icc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102320191017
852362102328 24 21924139926 1008 23552amd64icc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102320191017
852664102328 24 21924139926 1008 23552amd64icc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102320191017
852784102312 24 21924139910 1008 23552amd64icc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102320191017
857408103832 24 21924141598 1008 23584amd64icc_-march=skylake-avx512_-mtune=skylake-avx512_-O3_-fomit-frame-pointer2019102320191017
861502103496 24 21924140694 1008 23552amd64icc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102320191017
862102103496 24 21924140694 1008 23552amd64icc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102320191017
862224103496 24 21924140694 1008 23552amd64icc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102320191017
864050103496 24 21924140694 1008 23552amd64icc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102320191017
865998102696 24 21924140574 1008 23584amd64icc_-march=skylake-avx512_-mtune=skylake-avx512_-O2_-fomit-frame-pointer2019102320191017
868084106412 24 21924144629 1024 23584amd64icc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer2019102320191017
870290105852 24 21924144346 1016 23584amd64icc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer2019102320191017
871578143640 24 21924180982 1008 2355264icc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102320191017
872704143640 24 21924180982 1008 2355264icc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102320191017
872996143640 24 21924180982 1008 2355264icc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102320191017
873064143640 24 21924180982 1008 2355264icc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102320191017
874892142792 24 21924180438 1008 2355264icc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102320191017
875108143776 24 21924181150 1008 2355264icc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102320191017
875484142792 24 21924180438 1008 2355264icc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102320191017
875520143800 24 21924181046 1008 2355264icc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102320191017
875796143776 24 21924181150 1008 2355264icc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102320191017
876310143776 24 21924181150 1008 2355264icc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102320191017
877582143776 24 21924181150 1008 2355264icc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102320191017
878212143800 24 21924181046 1008 2355264icc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102320191017
878272143800 24 21924181046 1008 2355264icc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102320191017
878462143800 24 21924181046 1008 2355264icc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102320191017
879056142776 24 21924180422 1008 2355264icc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102320191017
879990142776 24 21924180422 1008 2355264icc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102320191017
880092143512 24 21924179502 1008 2355264icc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102320191017
880298143864 24 21924181678 1008 2358464icc_-march=skylake-avx512_-mtune=skylake-avx512_-O3_-fomit-frame-pointer2019102320191017
889004143472 24 21924179422 1008 2355264icc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102320191017
92569072747 24 21924104869 976 2358464gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
92750896094 24 21924130749 976 2358464gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
93598437970 24 2192468701 968 2355264gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
952426142488 24 21924180414 1008 2358464icc_-march=skylake-avx512_-mtune=skylake-avx512_-O2_-fomit-frame-pointer2019102320191017
96851269317 24 21924101141 976 2358464gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
970644149568 24 21924188162 1016 2358464icc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer2019102320191017
978958150072 24 21924188389 1024 2358464icc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer2019102320191017
272517480361 24 18852114837 976 2051232gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
2753628144748 24 18852182046 1008 2048032icc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102320191017
2753638144748 24 18852182046 1008 2048032icc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102320191017
2754246144748 24 18852182046 1008 2048032icc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102320191017
2755908144748 24 18852182046 1008 2048032icc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102320191017
2756534146164 24 18852183494 1008 2048032icc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102320191017
2757780146164 24 18852183494 1008 2048032icc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102320191017
2759514149176 24 18852185190 1008 2048032icc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102320191017
2764530146164 24 18852183494 1008 2048032icc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102320191017
2770032147936 24 18852183894 1008 2048032icc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102320191017
2774464146164 24 18852183494 1008 2048032icc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102320191017
280357448740 24 1885279253 968 2048032gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
280635860905 24 1885292973 976 2051232gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017
308072058466 24 1885290229 976 2051232gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102320191017

Test failure

Implementation: 32
Security model: unknown
Compiler: icc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer
error 111
crypto_sign_open returns nonzero

Number of similar (compiler,implementation) pairs: 17, namely:
CompilerImplementations
icc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer 32
icc -march=broadwell -mtune=broadwell -O3 -fomit-frame-pointer 32
icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer 32
icc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer 32
icc -march=core-avx2 -mtune=core-avx2 -O2 -fomit-frame-pointer 32
icc -march=core-avx2 -mtune=core-avx2 -O3 -fomit-frame-pointer 32
icc -march=haswell -mtune=haswell -O2 -fomit-frame-pointer 32
icc -march=haswell -mtune=haswell -O3 -fomit-frame-pointer 32
icc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer 32
icc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer 32
icc -march=skylake-avx512 -mtune=skylake-avx512 -O2 -fomit-frame-pointer 32
icc -march=skylake-avx512 -mtune=skylake-avx512 -O3 -fomit-frame-pointer 32
icc -march=skylake -mtune=skylake -O2 -fomit-frame-pointer 32
icc -march=skylake -mtune=skylake -O3 -fomit-frame-pointer 32
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE amd64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE amd64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE amd64

Test failure

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

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer 64
icc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer 64
icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer amd64
icc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer amd64

Compiler output

Implementation: neon
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
crandom.c: In file included from magic.h:15,
crandom.c: from crandom.c:11:
crandom.c: p448.h: In function 'p448_weak_reduce':
crandom.c: p448.h:314:14: warning: implicit declaration of function 'vshr_n_u32' [-Wimplicit-function-declaration]
crandom.c: 314 | tmp = vshr_n_u32(aa[7],28);
crandom.c: | ^~~~~~~~~~
crandom.c: p448.h:314:14: error: incompatible types when initializing type 'uint32x2_t' {aka '__vector(2) unsigned int'} using type 'int'
crandom.c: p448.h:318:17: warning: implicit declaration of function 'vsra_n_u32' [-Wimplicit-function-declaration]
crandom.c: 318 | aa[i] = vsra_n_u32(aa[i] & vmask, aa[i-1], 28);
crandom.c: | ^~~~~~~~~~
crandom.c: p448.h:318:17: error: incompatible types when assigning to type 'uint32x2_t' {aka '__vector(2) unsigned int'} from type 'int'
crandom.c: p448.h:320:31: warning: implicit declaration of function 'vrev64_u32' [-Wimplicit-function-declaration]
crandom.c: 320 | aa[0] = (aa[0] & vmask) + vrev64_u32(tmp) + (tmp&vm2);
crandom.c: | ^~~~~~~~~~

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

Compiler output

Implementation: neon
Security model: unknown
Compiler: icc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer
crandom.c: In file included from magic.h(15),
crandom.c: from crandom.c(11):
crandom.c: p448.h(314): warning #266: function "vshr_n_u32" declared implicitly
crandom.c: tmp = vshr_n_u32(aa[7],28);
crandom.c: ^
crandom.c:
crandom.c: In file included from magic.h(15),
crandom.c: from crandom.c(11):
crandom.c: p448.h(314): error: a value of type "int" cannot be used to initialize an entity of type "uint32x2_t"
crandom.c: tmp = vshr_n_u32(aa[7],28);
crandom.c: ^
crandom.c:
crandom.c: In file included from magic.h(15),
crandom.c: from crandom.c(11):
crandom.c: p448.h(318): warning #266: function "vsra_n_u32" declared implicitly
crandom.c: aa[i] = vsra_n_u32(aa[i] & vmask, aa[i-1], 28);
crandom.c: ^
crandom.c:
crandom.c: In file included from magic.h(15),
crandom.c: from crandom.c(11):
crandom.c: p448.h(318): error: a value of type "int" cannot be assigned to an entity of type "uint32x2_t"
crandom.c: aa[i] = vsra_n_u32(aa[i] & vmask, aa[i-1], 28);
crandom.c: ^
crandom.c:
crandom.c: In file included from magic.h(15),
crandom.c: ...

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