Implementation notes: amd64, wyvern1, crypto_sign/ed448goldilocks

Computer: wyvern1
Architecture: amd64
CPU ID: GenuineIntel-000306f2-bfebfbff
SUPERCOP version: 20191221
Operation: crypto_sign
Primitive: ed448goldilocks
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
93167555412 24 2192478374 872 23584amd64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
94358852981 24 2192475350 872 23584amd64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
99013261883 24 2192487926 872 23584amd64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
112046874802 24 2192497310 872 2358464gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
1134856103071 24 21924129206 872 2358464gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
114694042836 24 2192464582 864 2355264gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
117937679678 24 21924102734 872 2358464gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
160712050777 24 2192472278 864 23552amd64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
285016986443 24 18852112478 872 2051232gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
288317066580 24 1885289566 872 2051232gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
299139164175 24 1885286606 872 2051232gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
302085453530 24 1885274990 864 2048032gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221

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:0,
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: 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: aa[i] = vsra_n_u32(aa[i] & vmask, aa[i-1], 28);
crandom.c: ^
crandom.c: p448.h:318:15: error: incompatible types when assigning to type 'uint32x2_t {aka __vector(2) unsigned int}' from type 'int'
crandom.c: aa[i] = vsra_n_u32(aa[i] & vmask, aa[i-1], 28);
crandom.c: ^
crandom.c: p448.h:320:31: warning: implicit declaration of function 'vrev64_u32' [-Wimplicit-function-declaration]
crandom.c: 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

Namespace violations

Implementation: 32
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
barrett_field.o add_nr_ext_packed T
barrett_field.o barrett_deserialize T
barrett_field.o barrett_deserialize_and_reduce T
barrett_field.o barrett_mul_or_mac T
barrett_field.o barrett_negate T
barrett_field.o barrett_reduce T
barrett_field.o barrett_serialize T
barrett_field.o sub_nr_ext_packed T
crandom.o crandom_destroy T
crandom.o crandom_detect_features T
crandom.o crandom_features B
crandom.o crandom_generate T
crandom.o crandom_init_from_buffer T
crandom.o crandom_init_from_file T
ec_point.o add_tw_niels_to_tw_extensible T
ec_point.o add_tw_pniels_to_tw_extensible T
ec_point.o convert_affine_to_extensible T
ec_point.o convert_tw_affine_to_tw_extensible T
ec_point.o convert_tw_affine_to_tw_pniels T
ec_point.o convert_tw_extensible_to_tw_pniels T
ec_point.o convert_tw_niels_to_tw_extensible T
ec_point.o convert_tw_pniels_to_tw_extensible T
ec_point.o deserialize_affine T
ec_point.o deserialize_and_twist_approx T
ec_point.o deserialize_montgomery T
ec_point.o double_extensible T
ec_point.o double_tw_extensible T
ec_point.o elligator_2s_inject T
ec_point.o eq_affine T
ec_point.o eq_extensible T
ec_point.o eq_tw_extensible T
ec_point.o is_even_pt T
ec_point.o is_even_tw T
ec_point.o is_square T
ec_point.o montgomery_step T
ec_point.o p448_inverse T
ec_point.o p448_isr T
ec_point.o serialize_extensible T
ec_point.o serialize_montgomery T
ec_point.o set_identity_affine T
ec_point.o set_identity_extensible T
ec_point.o set_identity_tw_extensible T
ec_point.o sub_tw_niels_from_tw_extensible T
ec_point.o sub_tw_pniels_from_tw_extensible T
ec_point.o test_only_twist T
ec_point.o twist_and_double T
ec_point.o twist_even T
ec_point.o untwist_and_double T
ec_point.o untwist_and_double_and_serialize T
ec_point.o validate_affine T
ec_point.o validate_extensible T
ec_point.o validate_tw_extensible T
goldilocks.o goldilocks_derive_private_key T
goldilocks.o goldilocks_destroy_precomputed_public_key T
goldilocks.o goldilocks_init T
goldilocks.o goldilocks_keygen T
goldilocks.o goldilocks_precompute_public_key T
goldilocks.o goldilocks_private_to_public T
goldilocks.o goldilocks_shared_secret T
goldilocks.o goldilocks_shared_secret_precomputed T
goldilocks.o goldilocks_sign T
goldilocks.o goldilocks_underive_private_key T
goldilocks.o goldilocks_verify T
goldilocks.o goldilocks_verify_precomputed T
magic.o SCALARMUL_FIXED_WINDOW_ADJUSTMENT R
magic.o curve_prime_order D
magic.o goldilocks_base_point R
magic.o sqrt_d_minus_1 R
p448.o p448_deserialize T
p448.o p448_is_zero T
p448.o p448_mul T
p448.o p448_mulw T
p448.o p448_serialize T
p448.o p448_sqr T
p448.o p448_strong_reduce T
p448.o simultaneous_invert_p448 T
scalarmul.o destroy_fixed_base T
scalarmul.o linear_combo_combs_vt T
scalarmul.o linear_combo_var_fixed_vt T
scalarmul.o montgomery_ladder T
scalarmul.o precompute_fixed_base T
scalarmul.o precompute_fixed_base_wnaf T
scalarmul.o scalarmul T
scalarmul.o scalarmul_fixed_base T
scalarmul.o scalarmul_fixed_base_wnaf_vt T
scalarmul.o scalarmul_vlook T
scalarmul.o scalarmul_vt T
sha512.o sha512_final T
sha512.o sha512_init T
sha512.o sha512_update T

Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE 32
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE 32
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE 32
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE 32
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE 64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE 64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE 64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE 64
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 -O -fomit-frame-pointer -fwrapv -fPIC -fPIE amd64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE amd64