Test results for aarch64, cfarm425, crypto_kem/smaugt3v5
[Page version: 20261005 22:53:57]
Measurements for aarch64, cfarm425, crypto_kem
Test results for aarch64, cfarm425, crypto_kem
Test results for crypto_kem/smaugt3v5
Computer: cfarm425
Microarchitecture: aarch64; Cortex-A76 (413fd0c1)
Architecture: aarch64
CPU ID: 413fd0c1
SUPERCOP version: 20261004
Operation: crypto_kem
Primitive: smaugt3v5
| Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
| 238620 | 86308 1860 0 | 105164 1224 2248 | neon | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20261005 | 20261004 |
| 398177 | 34440 0 0 | 61564 1208 2248 | ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20261005 | 20261004 |
Compiler output
ciphertext.c: ciphertext.c: In function 'crypto_kem_smaugt3v5_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_smaugt3v5_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_smaugt3v5_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:
| Implementation | Compiler |
| neon | gcc -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:
| Implementation | Compiler |
| neon | gcc -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:
| Implementation | Compiler |
| ref | gcc -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 0x4006FB0
at 0x...: crypto_kem_smaugt3v5_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:
| Implementation | Compiler |
| neon | gcc -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 0x4006FB4
at 0x...: crypto_kem_smaugt3v5_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:
| Implementation | Compiler |
| ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (16.2.0) |