Implementation notes: aarch64, pi4b, crypto_sign/falcon1024tree

Computer: pi4b
Microarchitecture: aarch64; Cortex-A72 (410fd083)
Architecture: aarch64
CPU ID: 410fd083
SUPERCOP version: 20240808
Operation: crypto_sign
Primitive: falcon1024tree
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
2246136128461 0 0147122 864 1584T:fpugcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082320240808
232601275477 0 093090 864 1568T:fpugcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082320240808
2379738134691 0 0154032 888 1568T:fpuclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024082320240808
254244572921 0 090594 864 1568T:fpugcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082320240808
260949567207 0 083786 848 1568T:fpugcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082320240808
18680660132243 0 0151608 888 1568T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024082320240808
19777448120741 0 0139434 864 1584T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082320240808
1983704081533 0 099146 864 1568T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082320240808
2082039574195 0 090874 848 1568T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082320240808
2267827580037 0 097770 864 1568T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082320240808

Compiler output


api.c: api.c:110:9: warning: unused variable 'f' [-Wunused-variable]
api.c:         int8_t f[1024], g[1024], F[1024], G[1024];
api.c:                ^
api.c: api.c:110:18: warning: unused variable 'g' [-Wunused-variable]
api.c:         int8_t f[1024], g[1024], F[1024], G[1024];
api.c:                         ^
api.c: api.c:110:27: warning: unused variable 'F' [-Wunused-variable]
api.c:         int8_t f[1024], g[1024], F[1024], G[1024];
api.c:                                  ^
api.c: api.c:110:36: warning: unused variable 'G' [-Wunused-variable]
api.c:         int8_t f[1024], g[1024], F[1024], G[1024];
api.c:                                           ^
api.c: 4 warnings generated.

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:fpuclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


api.c: api.c: In function 'crypto_sign_falcon1024tree_fpu_timingleaks':
api.c: api.c:110:43: warning: unused variable 'G' [-Wunused-variable]
api.c:   110 |         int8_t f[1024], g[1024], F[1024], G[1024];
api.c:       |                                           ^
api.c: api.c:110:34: warning: unused variable 'F' [-Wunused-variable]
api.c:   110 |         int8_t f[1024], g[1024], F[1024], G[1024];
api.c:       |                                  ^
api.c: api.c:110:25: warning: unused variable 'g' [-Wunused-variable]
api.c:   110 |         int8_t f[1024], g[1024], F[1024], G[1024];
api.c:       |                         ^
api.c: api.c:110:16: warning: unused variable 'f' [-Wunused-variable]
api.c:   110 |         int8_t f[1024], g[1024], F[1024], G[1024];
api.c:       |                ^

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:fpugcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:fpugcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:fpugcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:fpugcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Compiler output


api.c: api.c:107:9: warning: unused variable 'f' [-Wunused-variable]
api.c:         int8_t f[1024], g[1024], F[1024], G[1024];
api.c:                ^
api.c: api.c:107:18: warning: unused variable 'g' [-Wunused-variable]
api.c:         int8_t f[1024], g[1024], F[1024], G[1024];
api.c:                         ^
api.c: api.c:107:27: warning: unused variable 'F' [-Wunused-variable]
api.c:         int8_t f[1024], g[1024], F[1024], G[1024];
api.c:                                  ^
api.c: api.c:107:36: warning: unused variable 'G' [-Wunused-variable]
api.c:         int8_t f[1024], g[1024], F[1024], G[1024];
api.c:                                           ^
api.c: 4 warnings generated.

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


api.c: api.c: In function 'crypto_sign_falcon1024tree_ref_timingleaks':
api.c: api.c:107:43: warning: unused variable 'G' [-Wunused-variable]
api.c:   107 |         int8_t f[1024], g[1024], F[1024], G[1024];
api.c:       |                                           ^
api.c: api.c:107:34: warning: unused variable 'F' [-Wunused-variable]
api.c:   107 |         int8_t f[1024], g[1024], F[1024], G[1024];
api.c:       |                                  ^
api.c: api.c:107:25: warning: unused variable 'g' [-Wunused-variable]
api.c:   107 |         int8_t f[1024], g[1024], F[1024], G[1024];
api.c:       |                         ^
api.c: api.c:107:16: warning: unused variable 'f' [-Wunused-variable]
api.c:   107 |         int8_t f[1024], g[1024], F[1024], G[1024];
api.c:       |                ^

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Namespace violations


codec.o falcon1024tree_fpu_comp_decode T
codec.o falcon1024tree_fpu_comp_encode T
codec.o falcon1024tree_fpu_max_FG_bits R
codec.o falcon1024tree_fpu_max_fg_bits R
codec.o falcon1024tree_fpu_max_sig_bits R
codec.o falcon1024tree_fpu_modq_decode T
codec.o falcon1024tree_fpu_modq_encode T
codec.o falcon1024tree_fpu_trim_i16_decode T
codec.o falcon1024tree_fpu_trim_i16_encode T
codec.o falcon1024tree_fpu_trim_i8_decode T
codec.o falcon1024tree_fpu_trim_i8_encode T
common.o falcon1024tree_fpu_hash_to_point_ct T
common.o falcon1024tree_fpu_hash_to_point_vartime T
common.o falcon1024tree_fpu_is_short T
common.o falcon1024tree_fpu_is_short_half T
fft.o falcon1024tree_fpu_FFT T
fft.o falcon1024tree_fpu_iFFT T
fft.o falcon1024tree_fpu_poly_LDL_fft T
fft.o falcon1024tree_fpu_poly_LDLmv_fft T
fft.o falcon1024tree_fpu_poly_add T
fft.o falcon1024tree_fpu_poly_add_muladj_fft T
fft.o falcon1024tree_fpu_poly_adj_fft T
fft.o falcon1024tree_fpu_poly_div_autoadj_fft T
fft.o falcon1024tree_fpu_poly_div_fft T
fft.o falcon1024tree_fpu_poly_invnorm2_fft T
fft.o falcon1024tree_fpu_poly_merge_fft T
fft.o falcon1024tree_fpu_poly_mul_autoadj_fft T
fft.o falcon1024tree_fpu_poly_mul_fft T
fft.o falcon1024tree_fpu_poly_muladj_fft T
fft.o falcon1024tree_fpu_poly_mulconst T
fft.o falcon1024tree_fpu_poly_mulselfadj_fft T
fft.o falcon1024tree_fpu_poly_neg T
fft.o falcon1024tree_fpu_poly_split_fft T
fft.o falcon1024tree_fpu_poly_sub T
fpr.o falcon1024tree_fpu_fpr_gm_tab R
fpr.o falcon1024tree_fpu_fpr_p2_tab R
keygen.o falcon1024tree_fpu_keygen T
rng.o falcon1024tree_fpu_get_seed T
rng.o falcon1024tree_fpu_prng_get_bytes T
rng.o falcon1024tree_fpu_prng_init T
rng.o falcon1024tree_fpu_prng_refill T
shake.o falcon1024tree_fpu_i_shake256_extract T
shake.o falcon1024tree_fpu_i_shake256_flip T
shake.o falcon1024tree_fpu_i_shake256_init T
shake.o falcon1024tree_fpu_i_shake256_inject T
sign.o falcon1024tree_fpu_expand_privkey T
sign.o falcon1024tree_fpu_gaussian0_sampler T
sign.o falcon1024tree_fpu_sampler T
sign.o falcon1024tree_fpu_sign_dyn T
sign.o falcon1024tree_fpu_sign_tree T
vrfy.o falcon1024tree_fpu_complete_private T
vrfy.o falcon1024tree_fpu_compute_public T
vrfy.o falcon1024tree_fpu_count_nttzero T
vrfy.o falcon1024tree_fpu_is_invertible T
vrfy.o falcon1024tree_fpu_to_ntt_monty T
vrfy.o falcon1024tree_fpu_verify_raw T
vrfy.o falcon1024tree_fpu_verify_recover T

Number of similar (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:fpuclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:fpugcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:fpugcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:fpugcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:fpugcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Namespace violations


codec.o falcon1024tree_ref_comp_decode T
codec.o falcon1024tree_ref_comp_encode T
codec.o falcon1024tree_ref_max_FG_bits R
codec.o falcon1024tree_ref_max_fg_bits R
codec.o falcon1024tree_ref_max_sig_bits R
codec.o falcon1024tree_ref_modq_decode T
codec.o falcon1024tree_ref_modq_encode T
codec.o falcon1024tree_ref_trim_i16_decode T
codec.o falcon1024tree_ref_trim_i16_encode T
codec.o falcon1024tree_ref_trim_i8_decode T
codec.o falcon1024tree_ref_trim_i8_encode T
common.o falcon1024tree_ref_hash_to_point_ct T
common.o falcon1024tree_ref_hash_to_point_vartime T
common.o falcon1024tree_ref_is_short T
common.o falcon1024tree_ref_is_short_half T
fft.o falcon1024tree_ref_FFT T
fft.o falcon1024tree_ref_iFFT T
fft.o falcon1024tree_ref_poly_LDL_fft T
fft.o falcon1024tree_ref_poly_LDLmv_fft T
fft.o falcon1024tree_ref_poly_add T
fft.o falcon1024tree_ref_poly_add_muladj_fft T
fft.o falcon1024tree_ref_poly_adj_fft T
fft.o falcon1024tree_ref_poly_div_autoadj_fft T
fft.o falcon1024tree_ref_poly_div_fft T
fft.o falcon1024tree_ref_poly_invnorm2_fft T
fft.o falcon1024tree_ref_poly_merge_fft T
fft.o falcon1024tree_ref_poly_mul_autoadj_fft T
fft.o falcon1024tree_ref_poly_mul_fft T
fft.o falcon1024tree_ref_poly_muladj_fft T
fft.o falcon1024tree_ref_poly_mulconst T
fft.o falcon1024tree_ref_poly_mulselfadj_fft T
fft.o falcon1024tree_ref_poly_neg T
fft.o falcon1024tree_ref_poly_split_fft T
fft.o falcon1024tree_ref_poly_sub T
fpr.o falcon1024tree_ref_fpr_add T
fpr.o falcon1024tree_ref_fpr_div T
fpr.o falcon1024tree_ref_fpr_expm_p63 T
fpr.o falcon1024tree_ref_fpr_gm_tab R
fpr.o falcon1024tree_ref_fpr_mul T
fpr.o falcon1024tree_ref_fpr_p2_tab R
fpr.o falcon1024tree_ref_fpr_scaled T
fpr.o falcon1024tree_ref_fpr_sqrt T
keygen.o falcon1024tree_ref_keygen T
rng.o falcon1024tree_ref_get_seed T
rng.o falcon1024tree_ref_prng_get_bytes T
rng.o falcon1024tree_ref_prng_init T
rng.o falcon1024tree_ref_prng_refill T
shake.o falcon1024tree_ref_i_shake256_extract T
shake.o falcon1024tree_ref_i_shake256_flip T
shake.o falcon1024tree_ref_i_shake256_init T
shake.o falcon1024tree_ref_i_shake256_inject T
sign.o falcon1024tree_ref_expand_privkey T
sign.o falcon1024tree_ref_gaussian0_sampler T
sign.o falcon1024tree_ref_sampler T
sign.o falcon1024tree_ref_sign_dyn T
sign.o falcon1024tree_ref_sign_tree T
vrfy.o falcon1024tree_ref_complete_private T
vrfy.o falcon1024tree_ref_compute_public T
vrfy.o falcon1024tree_ref_count_nttzero T
vrfy.o falcon1024tree_ref_is_invertible T
vrfy.o falcon1024tree_ref_to_ntt_monty T
vrfy.o falcon1024tree_ref_verify_raw T
vrfy.o falcon1024tree_ref_verify_recover T

Number of similar (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)