Test results for aarch64, cfarm425, crypto_kem/smaugt1v5

[Page version: 20261005 22:53:57]

Measurements for aarch64, cfarm425, crypto_kem Test results for aarch64, cfarm425, crypto_kem Test results for crypto_kem/smaugt1v5
Computer: cfarm425
Microarchitecture: aarch64; Cortex-A76 (413fd0c1)
Architecture: aarch64
CPU ID: 413fd0c1
SUPERCOP version: 20261004
Operation: crypto_kem
Primitive: smaugt1v5
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
12965684444 1860 0103292 1224 2248neongcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026100520261004
20385133060 0 060204 1208 2248refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall2026100520261004

Compiler output


ciphertext.c: ciphertext.c: In function 'crypto_kem_smaugt1v5_neon_constbranchindex_computeC1':
ciphertext.c: ciphertext.c:40:28: warning: passing argument 2 of 'matrix_vec_mul_crt' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
ciphertext.c:    40 |     matrix_vec_mul_crt(c1, A, r);
ciphertext.c:       |                            ^
ciphertext.c: In file included from ciphertext.h:7,
ciphertext.c:                  from ciphertext.c:3:
ciphertext.c: poly.h:44:45: note: expected 'polyvec *' but argument is of type 'const polyvec *'
ciphertext.c:    44 | void matrix_vec_mul_crt(polyvec *r, polyvec a[SMAUGT_K], polyvec *b);
ciphertext.c:       |                                     ~~~~~~~~^~~~~~~~~~~
ciphertext.c: ciphertext.c:40:31: warning: passing argument 3 of 'matrix_vec_mul_crt' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
ciphertext.c:    40 |     matrix_vec_mul_crt(c1, A, r);
ciphertext.c:       |                               ^
ciphertext.c: poly.h:44:67: note: expected 'polyvec *' but argument is of type 'const polyvec *'
ciphertext.c:    44 | void matrix_vec_mul_crt(polyvec *r, polyvec a[SMAUGT_K], polyvec *b);
ciphertext.c:       |                                                          ~~~~~~~~~^
ciphertext.c: ciphertext.c: In function 'crypto_kem_smaugt1v5_neon_constbranchindex_computeC2':
ciphertext.c: ciphertext.c:93:29: warning: passing argument 2 of 'vec_vec_mul_crt_add' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
ciphertext.c:    93 |     vec_vec_mul_crt_add(c2, b, r);
ciphertext.c:       |                             ^
ciphertext.c: poly.h:40:44: note: expected 'polyvec *' but argument is of type 'const polyvec *'
ciphertext.c:    40 | void vec_vec_mul_crt_add(poly *r, polyvec *a, polyvec *b);
ciphertext.c:       |                                   ~~~~~~~~~^
ciphertext.c: ciphertext.c:93:32: warning: passing argument 3 of 'vec_vec_mul_crt_add' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
ciphertext.c:    93 |     vec_vec_mul_crt_add(c2, b, r);
ciphertext.c:       |                                ^
ciphertext.c: ...
key.c: key.c: In function 'crypto_kem_smaugt1v5_neon_constbranchindex_expand_b':
key.c: key.c:57:31: warning: passing argument 2 of 'matrix_vec_mul_crt_sub' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
key.c:    57 |     matrix_vec_mul_crt_sub(b, A, s);
key.c:       |                               ^
key.c: In file included from key.h:6,
key.c:                  from key.c:3:
key.c: poly.h:47:49: note: expected 'polyvec *' but argument is of type 'const polyvec *'
key.c:    47 | void matrix_vec_mul_crt_sub(polyvec *r, polyvec a[SMAUGT_K], polyvec *b);
key.c:       |                                         ~~~~~~~~^~~~~~~~~~~
key.c: key.c:57:34: warning: passing argument 3 of 'matrix_vec_mul_crt_sub' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
key.c:    57 |     matrix_vec_mul_crt_sub(b, A, s);
key.c:       |                                  ^
key.c: poly.h:47:71: note: expected 'polyvec *' but argument is of type 'const polyvec *'
key.c:    47 | void matrix_vec_mul_crt_sub(polyvec *r, polyvec a[SMAUGT_K], polyvec *b);
key.c:       |                                                              ~~~~~~~~~^
poly.c: poly.c: In function 'vec_vec_mul_crt':
poly.c: poly.c:134:18: warning: unused variable 'i' [-Wunused-variable]
poly.c:   134 |     unsigned int i, j, k;
poly.c:       |                  ^
poly.c: poly.c: In function 'vec_vec_mul_crt_add':
poly.c: poly.c:208:18: warning: unused variable 'i' [-Wunused-variable]
poly.c:   208 |     unsigned int i, j, k;
poly.c:       |                  ^
poly.c: poly.c: In function 'matrix_vec_mul_crt_sub':
poly.c: poly.c:329:15: warning: unused variable 'tmp' [-Wunused-variable]
poly.c:   329 |     int16x8_t tmp;
poly.c:       |               ^~~
poly.c: poly.c: In function 'matrix_vec_mul_crt':
poly.c: poly.c:499:15: warning: unused variable 'tmp' [-Wunused-variable]
poly.c:   499 |     int16x8_t tmp;
poly.c:       |               ^~~

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
neongcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (16.2.0)

Namespace violations


__asm_NTT.o DILITHIUM_AARCH64__asm_ntt_SIMD_bot T
__asm_NTT.o DILITHIUM_AARCH64__asm_ntt_SIMD_top T
__asm_NTT.o _DILITHIUM_AARCH64__asm_ntt_SIMD_bot T
__asm_NTT.o _DILITHIUM_AARCH64__asm_ntt_SIMD_top T
__asm_iNTT.o DILITHIUM_AARCH64__asm_intt_SIMD_bot T
__asm_iNTT.o DILITHIUM_AARCH64__asm_intt_SIMD_top T
__asm_iNTT.o _DILITHIUM_AARCH64__asm_intt_SIMD_bot T
__asm_iNTT.o _DILITHIUM_AARCH64__asm_intt_SIMD_top T
__asm_poly.o DILITHIUM_AARCH64__asm_poly_pointwise_montgomery T
__asm_poly.o DILITHIUM_AARCH64__asm_poly_reduce T
__asm_poly.o DILITHIUM_AARCH64__asm_polyvecl_pointwise_acc_montgomery T
__asm_poly.o _DILITHIUM_AARCH64__asm_poly_pointwise_montgomery T
__asm_poly.o _DILITHIUM_AARCH64__asm_poly_reduce T
__asm_poly.o _DILITHIUM_AARCH64__asm_polyvecl_pointwise_acc_montgomery T
__kyber_asm_NTT.o KYBER_AARCH64__asm_ntt_SIMD_bot T
__kyber_asm_NTT.o KYBER_AARCH64__asm_ntt_SIMD_top T
__kyber_asm_NTT.o _KYBER_AARCH64__asm_ntt_SIMD_bot T
__kyber_asm_NTT.o _KYBER_AARCH64__asm_ntt_SIMD_top T
__kyber_asm_NTT_opt.o _ntt_kyber_123_4567_opt_a72 T
__kyber_asm_NTT_opt.o ntt_kyber_123_4567_opt_a72 T
__kyber_asm_basemul.o KYBER_AARCH64__asm_asymmetric_mul T
__kyber_asm_basemul.o KYBER_AARCH64__asm_asymmetric_mul_montgomery T
__kyber_asm_basemul.o KYBER_AARCH64__asm_point_mul_extended T
__kyber_asm_basemul.o KYBER_AARCH64__asm_poly_base_mul_mont T
__kyber_asm_basemul.o _KYBER_AARCH64__asm_asymmetric_mul T
__kyber_asm_basemul.o _KYBER_AARCH64__asm_asymmetric_mul_montgomery T
__kyber_asm_basemul.o _KYBER_AARCH64__asm_point_mul_extended T
__kyber_asm_basemul.o _KYBER_AARCH64__asm_poly_base_mul_mont T
__kyber_asm_basemul_old.o KYBER_AARCH64__asm_asymmetric_mul T
__kyber_asm_basemul_old.o KYBER_AARCH64__asm_asymmetric_mul_montgomery T
__kyber_asm_basemul_old.o KYBER_AARCH64__asm_point_mul_extended T
__kyber_asm_basemul_old.o _KYBER_AARCH64__asm_asymmetric_mul T
__kyber_asm_basemul_old.o _KYBER_AARCH64__asm_asymmetric_mul_montgomery T
__kyber_asm_basemul_old.o _KYBER_AARCH64__asm_point_mul_extended T
__kyber_asm_iNTT.o KYBER_AARCH64__asm_intt_SIMD_bot T
__kyber_asm_iNTT.o KYBER_AARCH64__asm_intt_SIMD_top T
__kyber_asm_iNTT.o _KYBER_AARCH64__asm_intt_SIMD_bot T
__kyber_asm_iNTT.o _KYBER_AARCH64__asm_intt_SIMD_top T
__kyber_asm_iNTT_opt.o _intt_kyber_123_4567_opt_a72 T
__kyber_asm_iNTT_opt.o intt_kyber_123_4567_opt_a72 T
fips202.o KeccakF_RoundConstants R
fips202.o sha3_256 T
fips202.o sha3_512 T
fips202.o shake128 T
fips202.o shake128_absorb T
fips202.o shake128_absorb_once T
fips202.o shake128_finalize T
fips202.o shake128_init T
fips202.o shake128_squeeze T
fips202.o shake128_squeezeblocks T
fips202.o shake256 T
fips202.o shake256_absorb T
fips202.o shake256_absorb_once T
fips202.o shake256_finalize T
fips202.o shake256_init T
fips202.o shake256_squeeze T
fips202.o shake256_squeezeblocks T
fnt.o MMAX16 D
fnt.o MMIN16 D
fnt.o fnt T
fnt.o fnt_asymmetric_const R
fnt.o fnt_base_mul_montgomery T
fnt.o fnt_mv T
fnt.o fnt_pre_asymmetric_table_extended R
fnt.o fnt_vv T
fnt.o inv_twist_table R
fnt.o invfnt T
fnt.o sfnt T
fnt.o twist_table R
fnt.o update_max T
fnt.o update_min T
incomplete_basemul.o _fnt_asymmetric_mul T
incomplete_basemul.o _fnt_base_mul_mont T
incomplete_basemul.o _fnt_mv_base_mul_mont T
incomplete_basemul.o _fnt_point_mul_extended T
incomplete_basemul.o fnt_asymmetric_mul T
incomplete_basemul.o fnt_base_mul_mont T
incomplete_basemul.o fnt_mv_base_mul_mont T
incomplete_basemul.o fnt_point_mul_extended T
incomplete_basemul_opt.o _fnt_point_mul_extended_opt T
incomplete_basemul_opt.o fnt_point_mul_extended_opt T
incomplete_fnt.o _fnt_bot T
incomplete_fnt.o _fnt_top T
incomplete_fnt.o fnt_bot T
incomplete_fnt.o fnt_top T
incomplete_fnt_opt.o _fnt_bot_opt T
incomplete_fnt_opt.o _fnt_top_opt T
incomplete_fnt_opt.o fnt_bot_opt T
incomplete_fnt_opt.o fnt_top_opt T
incomplete_invfnt.o _invfnt_bot T
incomplete_invfnt.o _invfnt_top T
incomplete_invfnt.o invfnt_bot T
incomplete_invfnt.o invfnt_top T
incomplete_invfnt_opt.o _invfnt_bot_opt T
incomplete_invfnt_opt.o _invfnt_top_opt T
incomplete_invfnt_opt.o invfnt_bot_opt T
incomplete_invfnt_opt.o invfnt_top_opt T
kem.o crypto_kem_dec_internal T
kem.o crypto_kem_enc_internal T
kem.o crypto_kem_keypair_internal T
ntt_dilithium.o base_mul T
ntt_dilithium.o base_mul_acc_montgomery T
ntt_dilithium.o dilithium_constants R
ntt_dilithium.o invntt_tomont T
ntt_dilithium.o ntt T
ntt_dilithium.o streamlined_CT_negacyclic_table_jump_extended R
ntt_dilithium.o streamlined_inv_GS_negacyclic_table_jump_extended R
ntt_kyber.o kyber_asymmetric_const R
ntt_kyber.o kyber_base_mul_montgomery T
ntt_kyber.o kyber_constants R
ntt_kyber.o kyber_invntt T
ntt_kyber.o kyber_mv T
ntt_kyber.o kyber_ntt T
ntt_kyber.o kyber_pre_asymmetric_table_extended R
ntt_kyber.o kyber_streamlined_CT_negacyclic_table_jump_extended R
ntt_kyber.o kyber_streamlined_inv_GS_negacyclic_table_jump_extended R
ntt_kyber.o kyber_vv T
poly.o matrix_vec_mul_crt T
poly.o matrix_vec_mul_crt_sub T
poly.o matrix_vec_ntt_mul T
poly.o polyvec_matrix_pointwise_montgomery T
poly.o polyvecl_invntt_tomont T
poly.o polyvecl_ntt T
poly.o polyvecl_pointwise_acc_montgomery T
poly.o polyvecl_reduce T
poly.o vec_vec_mul_crt T
poly.o vec_vec_mul_crt_add T

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
neongcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (16.2.0)

Namespace violations


fips202.o KeccakF_RoundConstants R
fips202.o sha3_256 T
fips202.o sha3_512 T
fips202.o shake128 T
fips202.o shake128_absorb T
fips202.o shake128_absorb_once T
fips202.o shake128_finalize T
fips202.o shake128_init T
fips202.o shake128_squeeze T
fips202.o shake128_squeezeblocks T
fips202.o shake256 T
fips202.o shake256_absorb T
fips202.o shake256_absorb_once T
fips202.o shake256_finalize T
fips202.o shake256_init T
fips202.o shake256_squeeze T
fips202.o shake256_squeezeblocks T
kem.o crypto_kem_dec_internal T
kem.o crypto_kem_enc_internal T
kem.o crypto_kem_keypair_internal T

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (16.2.0)

TIMECOP error (can be valgrind bug)


error 132

Process terminating with default action of signal 4 (SIGILL)
 Illegal opcode at address 0x4006FC4
   at 0x...: crypto_kem_smaugt1v5_neon_constbranchindex_indcpa_dec (indcpa.c:175)
   by 0x...: crypto_kem_dec_internal (kem.c:154)
   by 0x...: test (try.c:160)
   by 0x...: main (try-anything.c:344)
Illegal instruction

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
neongcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (16.2.0)

TIMECOP error (can be valgrind bug)


error 132

Process terminating with default action of signal 4 (SIGILL)
 Illegal opcode at address 0x4006FC8
   at 0x...: crypto_kem_smaugt1v5_ref_constbranchindex_indcpa_dec (indcpa.c:174)
   by 0x...: crypto_kem_dec_internal (kem.c:154)
   by 0x...: test (try.c:160)
   by 0x...: main (try-anything.c:344)
Illegal instruction

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (16.2.0)