Implementation notes: amd64, comet, crypto_sign/falcon512dyn

Computer: comet
Microarchitecture: amd64; CometLake (806ec)
Architecture: amd64
CPU ID: GenuineIntel-000806ec-bfebfbff
SUPERCOP version: 20221025
Operation: crypto_sign
Primitive: falcon512dyn
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
894448170313 0 0194024 836 1768T:avx2clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011620210114
901542170313 0 0194024 836 1768T:avx2clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011620210114
901556182916 0 0206872 836 1768T:avx2clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011620210114
952034151662 0 0174704 836 1768T:avx2clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011620210114
957095178483 0 0203185 844 1800T:avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011620210114
98416988901 0 0111249 844 1800T:avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011620210114
98964185412 0 0107545 844 1800T:avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011620210114
104159879865 0 0101054 828 1768T:avx2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011620210114
116471672638 0 093833 836 1768T:avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011620210114
1226299166075 0 0190032 836 1768T:fpuclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011620210114
1240109179110 0 0203312 836 1768T:fpuclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011620210114
1243012177294 0 0202113 844 1800T:fpugcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011620210114
1249718166075 0 0190032 836 1768T:fpuclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011620210114
1318938149060 0 0172216 836 1768T:fpuclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011620210114
144917486455 0 0108833 844 1800T:fpugcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011620210114
144974683139 0 0105305 844 1800T:fpugcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011620210114
146347176934 0 098198 820 1768T:fpuclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011620210114
162229770582 0 091777 836 1768T:fpugcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011620210114
17147358175565 0 0200081 844 1800T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011620210114
1730896794479 0 0116953 844 1800T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011620210114
1747907085506 0 0106982 820 1768T:refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011620210114
1756765777189 0 098521 836 1768T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011620210114
17583776151347 0 0174672 828 1768T:refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011620210114
1797414891467 0 0113697 844 1800T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011620210114
18146562160367 0 0184584 828 1768T:refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011620210114
18179377160367 0 0184584 828 1768T:refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011620210114
18209833171754 0 0196192 828 1768T:refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011620210114

Namespace violations

Implementation: T:avx2
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
codec.o falcon512dyn_avx2_comp_decode T
codec.o falcon512dyn_avx2_comp_encode T
codec.o falcon512dyn_avx2_max_FG_bits R
codec.o falcon512dyn_avx2_max_fg_bits R
codec.o falcon512dyn_avx2_max_sig_bits R
codec.o falcon512dyn_avx2_modq_decode T
codec.o falcon512dyn_avx2_modq_encode T
codec.o falcon512dyn_avx2_trim_i16_decode T
codec.o falcon512dyn_avx2_trim_i16_encode T
codec.o falcon512dyn_avx2_trim_i8_decode T
codec.o falcon512dyn_avx2_trim_i8_encode T
common.o falcon512dyn_avx2_hash_to_point_ct T
common.o falcon512dyn_avx2_hash_to_point_vartime T
common.o falcon512dyn_avx2_is_short T
common.o falcon512dyn_avx2_is_short_half T
fft.o falcon512dyn_avx2_FFT T
fft.o falcon512dyn_avx2_iFFT T
fft.o falcon512dyn_avx2_poly_LDL_fft T
fft.o falcon512dyn_avx2_poly_LDLmv_fft T
fft.o falcon512dyn_avx2_poly_add T
fft.o falcon512dyn_avx2_poly_add_muladj_fft T
fft.o falcon512dyn_avx2_poly_adj_fft T
fft.o falcon512dyn_avx2_poly_div_autoadj_fft T
fft.o falcon512dyn_avx2_poly_div_fft T
fft.o falcon512dyn_avx2_poly_invnorm2_fft T
fft.o falcon512dyn_avx2_poly_merge_fft T
fft.o falcon512dyn_avx2_poly_mul_autoadj_fft T
fft.o falcon512dyn_avx2_poly_mul_fft T
fft.o falcon512dyn_avx2_poly_muladj_fft T
fft.o falcon512dyn_avx2_poly_mulconst T
fft.o falcon512dyn_avx2_poly_mulselfadj_fft T
fft.o falcon512dyn_avx2_poly_neg T
fft.o falcon512dyn_avx2_poly_split_fft T
fft.o falcon512dyn_avx2_poly_sub T
fpr.o falcon512dyn_avx2_fpr_gm_tab R
fpr.o falcon512dyn_avx2_fpr_p2_tab R
keygen.o falcon512dyn_avx2_keygen T
rng.o falcon512dyn_avx2_get_seed T
rng.o falcon512dyn_avx2_prng_get_bytes T
rng.o falcon512dyn_avx2_prng_init T
rng.o falcon512dyn_avx2_prng_refill T
shake.o falcon512dyn_avx2_i_shake256_extract T
shake.o falcon512dyn_avx2_i_shake256_flip T
shake.o falcon512dyn_avx2_i_shake256_init T
shake.o falcon512dyn_avx2_i_shake256_inject T
sign.o falcon512dyn_avx2_expand_privkey T
sign.o falcon512dyn_avx2_gaussian0_sampler T
sign.o falcon512dyn_avx2_sampler T
sign.o falcon512dyn_avx2_sign_dyn T
sign.o falcon512dyn_avx2_sign_tree T
vrfy.o falcon512dyn_avx2_complete_private T
vrfy.o falcon512dyn_avx2_compute_public T
vrfy.o falcon512dyn_avx2_count_nttzero T
vrfy.o falcon512dyn_avx2_is_invertible T
vrfy.o falcon512dyn_avx2_to_ntt_monty T
vrfy.o falcon512dyn_avx2_verify_raw T
vrfy.o falcon512dyn_avx2_verify_recover T

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx2
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx2
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx2
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx2
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx2
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2

Namespace violations

Implementation: T:fpu
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
codec.o falcon512dyn_fpu_comp_decode T
codec.o falcon512dyn_fpu_comp_encode T
codec.o falcon512dyn_fpu_max_FG_bits R
codec.o falcon512dyn_fpu_max_fg_bits R
codec.o falcon512dyn_fpu_max_sig_bits R
codec.o falcon512dyn_fpu_modq_decode T
codec.o falcon512dyn_fpu_modq_encode T
codec.o falcon512dyn_fpu_trim_i16_decode T
codec.o falcon512dyn_fpu_trim_i16_encode T
codec.o falcon512dyn_fpu_trim_i8_decode T
codec.o falcon512dyn_fpu_trim_i8_encode T
common.o falcon512dyn_fpu_hash_to_point_ct T
common.o falcon512dyn_fpu_hash_to_point_vartime T
common.o falcon512dyn_fpu_is_short T
common.o falcon512dyn_fpu_is_short_half T
fft.o falcon512dyn_fpu_FFT T
fft.o falcon512dyn_fpu_iFFT T
fft.o falcon512dyn_fpu_poly_LDL_fft T
fft.o falcon512dyn_fpu_poly_LDLmv_fft T
fft.o falcon512dyn_fpu_poly_add T
fft.o falcon512dyn_fpu_poly_add_muladj_fft T
fft.o falcon512dyn_fpu_poly_adj_fft T
fft.o falcon512dyn_fpu_poly_div_autoadj_fft T
fft.o falcon512dyn_fpu_poly_div_fft T
fft.o falcon512dyn_fpu_poly_invnorm2_fft T
fft.o falcon512dyn_fpu_poly_merge_fft T
fft.o falcon512dyn_fpu_poly_mul_autoadj_fft T
fft.o falcon512dyn_fpu_poly_mul_fft T
fft.o falcon512dyn_fpu_poly_muladj_fft T
fft.o falcon512dyn_fpu_poly_mulconst T
fft.o falcon512dyn_fpu_poly_mulselfadj_fft T
fft.o falcon512dyn_fpu_poly_neg T
fft.o falcon512dyn_fpu_poly_split_fft T
fft.o falcon512dyn_fpu_poly_sub T
fpr.o falcon512dyn_fpu_fpr_gm_tab R
fpr.o falcon512dyn_fpu_fpr_p2_tab R
keygen.o falcon512dyn_fpu_keygen T
rng.o falcon512dyn_fpu_get_seed T
rng.o falcon512dyn_fpu_prng_get_bytes T
rng.o falcon512dyn_fpu_prng_init T
rng.o falcon512dyn_fpu_prng_refill T
shake.o falcon512dyn_fpu_i_shake256_extract T
shake.o falcon512dyn_fpu_i_shake256_flip T
shake.o falcon512dyn_fpu_i_shake256_init T
shake.o falcon512dyn_fpu_i_shake256_inject T
sign.o falcon512dyn_fpu_expand_privkey T
sign.o falcon512dyn_fpu_gaussian0_sampler T
sign.o falcon512dyn_fpu_sampler T
sign.o falcon512dyn_fpu_sign_dyn T
sign.o falcon512dyn_fpu_sign_tree T
vrfy.o falcon512dyn_fpu_complete_private T
vrfy.o falcon512dyn_fpu_compute_public T
vrfy.o falcon512dyn_fpu_count_nttzero T
vrfy.o falcon512dyn_fpu_is_invertible T
vrfy.o falcon512dyn_fpu_to_ntt_monty T
vrfy.o falcon512dyn_fpu_verify_raw T
vrfy.o falcon512dyn_fpu_verify_recover T

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:fpu
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:fpu
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:fpu
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:fpu
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:fpu
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:fpu
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:fpu
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:fpu
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:fpu

Namespace violations

Implementation: T:ref
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
codec.o falcon512dyn_ref_comp_decode T
codec.o falcon512dyn_ref_comp_encode T
codec.o falcon512dyn_ref_max_FG_bits R
codec.o falcon512dyn_ref_max_fg_bits R
codec.o falcon512dyn_ref_max_sig_bits R
codec.o falcon512dyn_ref_modq_decode T
codec.o falcon512dyn_ref_modq_encode T
codec.o falcon512dyn_ref_trim_i16_decode T
codec.o falcon512dyn_ref_trim_i16_encode T
codec.o falcon512dyn_ref_trim_i8_decode T
codec.o falcon512dyn_ref_trim_i8_encode T
common.o falcon512dyn_ref_hash_to_point_ct T
common.o falcon512dyn_ref_hash_to_point_vartime T
common.o falcon512dyn_ref_is_short T
common.o falcon512dyn_ref_is_short_half T
fft.o falcon512dyn_ref_FFT T
fft.o falcon512dyn_ref_iFFT T
fft.o falcon512dyn_ref_poly_LDL_fft T
fft.o falcon512dyn_ref_poly_LDLmv_fft T
fft.o falcon512dyn_ref_poly_add T
fft.o falcon512dyn_ref_poly_add_muladj_fft T
fft.o falcon512dyn_ref_poly_adj_fft T
fft.o falcon512dyn_ref_poly_div_autoadj_fft T
fft.o falcon512dyn_ref_poly_div_fft T
fft.o falcon512dyn_ref_poly_invnorm2_fft T
fft.o falcon512dyn_ref_poly_merge_fft T
fft.o falcon512dyn_ref_poly_mul_autoadj_fft T
fft.o falcon512dyn_ref_poly_mul_fft T
fft.o falcon512dyn_ref_poly_muladj_fft T
fft.o falcon512dyn_ref_poly_mulconst T
fft.o falcon512dyn_ref_poly_mulselfadj_fft T
fft.o falcon512dyn_ref_poly_neg T
fft.o falcon512dyn_ref_poly_split_fft T
fft.o falcon512dyn_ref_poly_sub T
fpr.o falcon512dyn_ref_fpr_add T
fpr.o falcon512dyn_ref_fpr_div T
fpr.o falcon512dyn_ref_fpr_expm_p63 T
fpr.o falcon512dyn_ref_fpr_gm_tab R
fpr.o falcon512dyn_ref_fpr_mul T
fpr.o falcon512dyn_ref_fpr_p2_tab R
fpr.o falcon512dyn_ref_fpr_scaled T
fpr.o falcon512dyn_ref_fpr_sqrt T
keygen.o falcon512dyn_ref_keygen T
rng.o falcon512dyn_ref_get_seed T
rng.o falcon512dyn_ref_prng_get_bytes T
rng.o falcon512dyn_ref_prng_init T
rng.o falcon512dyn_ref_prng_refill T
shake.o falcon512dyn_ref_i_shake256_extract T
shake.o falcon512dyn_ref_i_shake256_flip T
shake.o falcon512dyn_ref_i_shake256_init T
shake.o falcon512dyn_ref_i_shake256_inject T
sign.o falcon512dyn_ref_expand_privkey T
sign.o falcon512dyn_ref_gaussian0_sampler T
sign.o falcon512dyn_ref_sampler T
sign.o falcon512dyn_ref_sign_dyn T
sign.o falcon512dyn_ref_sign_tree T
vrfy.o falcon512dyn_ref_complete_private T
vrfy.o falcon512dyn_ref_compute_public T
vrfy.o falcon512dyn_ref_count_nttzero T
vrfy.o falcon512dyn_ref_is_invertible T
vrfy.o falcon512dyn_ref_to_ntt_monty T
vrfy.o falcon512dyn_ref_verify_raw T
vrfy.o falcon512dyn_ref_verify_recover T

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref