Implementation notes: amd64, genji262, crypto_sign/ed448goldilocks

Computer: genji262
Architecture: amd64
CPU ID: AuthenticAMD-00800f12-178bfbff
SUPERCOP version: 20191017
Operation: crypto_sign
Primitive: ed448goldilocks
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
893574112376 24 21924143958 992 23552amd64icc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102420191017
904926111232 24 21924142758 992 23552amd64icc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102420191017
935418108712 24 21924141566 992 23552amd64icc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102420191017
935462108712 24 21924141566 992 23552amd64icc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102420191017
937486108712 24 21924141566 992 23552amd64icc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102420191017
942128109824 24 21924142710 992 23552amd64icc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102420191017
942238109824 24 21924142710 992 23552amd64icc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102420191017
943976108712 24 21924141566 992 23552amd64icc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102420191017
944812109824 24 21924142710 992 23552amd64icc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102420191017
953238109824 24 21924142710 992 23552amd64icc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102420191017
991430143512 24 21924175078 992 2355264icc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102420191017
99283850022 24 2192477171 944 23584amd64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
999570102328 24 21924135470 992 23552amd64icc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102420191017
1000824102328 24 21924135470 992 23552amd64icc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102420191017
1001198102312 24 21924135454 992 23552amd64icc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102420191017
1004894143472 24 21924174998 992 2355264icc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102420191017
1014970103496 24 21924136238 992 23552amd64icc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102420191017
1018380103496 24 21924136238 992 23552amd64icc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102420191017
1018974102312 24 21924135454 992 23552amd64icc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102420191017
1019766103496 24 21924136238 992 23552amd64icc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102420191017
1023418143800 24 21924176590 992 2355264icc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102420191017
1024782143800 24 21924176590 992 2355264icc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102420191017
1024958142792 24 21924175982 992 2355264icc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102420191017
1030172142792 24 21924175982 992 2355264icc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102420191017
1032328143800 24 21924176590 992 2355264icc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102420191017
1033384143800 24 21924176590 992 2355264icc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102420191017
1033736142776 24 21924175966 992 2355264icc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102420191017
1038972142776 24 21924175966 992 2355264icc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102420191017
1039698103496 24 21924136238 992 23552amd64icc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102420191017
1054020143776 24 21924176694 992 2355264icc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102420191017
1054680143776 24 21924176694 992 2355264icc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102420191017
1056506143776 24 21924176694 992 2355264icc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102420191017
1061060143776 24 21924176694 992 2355264icc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102420191017
1066736143640 24 21924176526 992 2355264icc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102420191017
1069398143640 24 21924176526 992 2355264icc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102420191017
1069530143640 24 21924176526 992 2355264icc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102420191017
1075426143640 24 21924176526 992 2355264icc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102420191017
1231780108132 24 21924137227 944 2358464gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
128211637958 24 2192464187 936 2355264gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
130105873518 24 21924101235 944 2358464gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
133936068915 24 2192496195 944 2358464gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
213503475985 24 18852105051 944 2051232gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
263298248510 24 1885274547 936 2048032gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
2651946147936 24 18852179438 992 2048032icc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102420191017
2690974149176 24 18852180734 992 2048032icc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102420191017
271583460432 24 1885288091 944 2051232gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
2765884144748 24 18852177590 992 2048032icc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102420191017
2769338144748 24 18852177590 992 2048032icc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102420191017
2787686144748 24 18852177590 992 2048032icc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102420191017
2802844146164 24 18852179038 992 2048032icc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102420191017
2803790146164 24 18852179038 992 2048032icc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102420191017
2805286146164 24 18852179038 992 2048032icc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102420191017
2808432146164 24 18852179038 992 2048032icc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102420191017
2835096144748 24 18852177590 992 2048032icc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102420191017
311258257647 24 1885284859 944 2051232gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017

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: 11, namely:
CompilerImplementations
icc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer 32
icc -march=broadwell -mtune=broadwell -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=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: 32
Security model: unknown
Compiler: icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 18, namely:
CompilerImplementations
icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer 32
icc -march=cannonlake -mtune=cannonlake -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=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer 64
icc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer 64
icc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer 64
icc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer 64
icc -march=skylake-avx512 -mtune=skylake-avx512 -O2 -fomit-frame-pointer 64
icc -march=skylake-avx512 -mtune=skylake-avx512 -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
icc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer amd64
icc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer amd64
icc -march=skylake-avx512 -mtune=skylake-avx512 -O2 -fomit-frame-pointer amd64
icc -march=skylake-avx512 -mtune=skylake-avx512 -O3 -fomit-frame-pointer amd64

Compiler output

Implementation: 32
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
barrett_field.c: In file included from barrett_field.c:5:
barrett_field.c: In file included from ./barrett_field.h:15:
barrett_field.c: In file included from ./word.h:28:
barrett_field.c: In file included from /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/immintrin.h:27:
barrett_field.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/mmintrin.h:55:72: warning: unknown attribute '__artificial__' ignored [-Wunknown-attributes]
barrett_field.c: extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
barrett_field.c: ^
barrett_field.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/mmintrin.h:61:72: warning: unknown attribute '__artificial__' ignored [-Wunknown-attributes]
barrett_field.c: extern __inline void __attribute__((__gnu_inline__, __always_inline__, __artificial__))
barrett_field.c: ^
barrett_field.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/mmintrin.h:68:74: warning: unknown attribute '__artificial__' ignored [-Wunknown-attributes]
barrett_field.c: extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
barrett_field.c: ^
barrett_field.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/mmintrin.h:74:74: warning: unknown attribute '__artificial__' ignored [-Wunknown-attributes]
barrett_field.c: extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
barrett_field.c: ^
barrett_field.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/mmintrin.h:84:74: warning: unknown attribute '__artificial__' ignored [-Wunknown-attributes]
barrett_field.c: extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
barrett_field.c: ^
barrett_field.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/mmintrin.h:90:74: warning: unknown attribute '__artificial__' ignored [-Wunknown-attributes]
barrett_field.c: extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
barrett_field.c: ^
barrett_field.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/include/mmintrin.h:97:74: warning: unknown attribute '__artificial__' ignored [-Wunknown-attributes]
barrett_field.c: extern __inline __m64 __attribute__((__gnu_inline__, __always_inline__, __artificial__))
barrett_field.c: ^
barrett_field.c: ...

Number of similar (compiler,implementation) pairs: 20, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE 32
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE 32
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE 32
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE 32
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE 32
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE 64
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE 64
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE 64
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE 64
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE 64
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE amd64
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE amd64
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE amd64
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE amd64
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE amd64
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE neon
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE neon
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE neon
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE neon
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE neon

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