Test results for amd64, cherry, crypto_sign/haetae2
[Page version: 20251010 16:59:10]
Measurements for amd64, cherry, crypto_sign
Test results for amd64, cherry, crypto_sign
Test results for crypto_sign/haetae2
Computer: cherry
Microarchitecture: amd64; Silvermont (406c4)
Architecture: amd64
CPU ID: GenuineIntel-000406c4-bfebfbff 
SUPERCOP version: 20250922
Operation: crypto_sign
Primitive: haetae2
| Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version | 
|---|
| 12211604 | 106025 0 0 | 127697 860 1728 | ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250927 | 20250922 | 
| 12308129 | 118450 0 0 | 139561 860 1728 | ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250927 | 20250922 | 
| 12523351 | 45517 0 0 | 65513 860 1728 | ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250927 | 20250922 | 
| 12533920 | 77324 0 0 | 98268 788 1792 | ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250927 | 20250922 | 
| 13215036 | 38810 432 0 | 58644 1228 1792 | ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250927 | 20250922 | 
| 13298097 | 40270 0 0 | 58945 860 1728 | ref | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250927 | 20250922 | 
| 13585424 | 34776 0 0 | 52743 852 1728 | ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall | 20250927 | 20250922 | 
| 13688120 | 32885 560 0 | 50396 1348 1760 | ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250927 | 20250922 | 
| 13731652 | 36072 432 0 | 55228 1228 1792 | ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall | 20250927 | 20250922 | 
Compiler output
fft.c: fft.c:230:52: warning: AVX vector argument of type 'const __m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI [-Wpsabi]
fft.c:     *res = _mm256_add_epi32(*res, _mm256_add_epi32(_mulrnd16_avx(*real, *real), _mulrnd16_avx(*imag, *imag)));
fft.c:                                                    ^
fft.c: fft.c:230:81: warning: AVX vector argument of type 'const __m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI [-Wpsabi]
fft.c:     *res = _mm256_add_epi32(*res, _mm256_add_epi32(_mulrnd16_avx(*real, *real), _mulrnd16_avx(*imag, *imag)));
fft.c:                                                                                 ^
fft.c: fft.c:230:35: error: always_inline function '_mm256_add_epi32' requires target feature 'avx2', but would be inlined into function 'complex_fp_sqabs_add' that is compiled without support for 'avx2'
fft.c:     *res = _mm256_add_epi32(*res, _mm256_add_epi32(_mulrnd16_avx(*real, *real), _mulrnd16_avx(*imag, *imag)));
fft.c:                                   ^
fft.c: fft.c:230:35: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
fft.c: fft.c:230:12: error: always_inline function '_mm256_add_epi32' requires target feature 'avx2', but would be inlined into function 'complex_fp_sqabs_add' that is compiled without support for 'avx2'
fft.c:     *res = _mm256_add_epi32(*res, _mm256_add_epi32(_mulrnd16_avx(*real, *real), _mulrnd16_avx(*imag, *imag)));
fft.c:            ^
fft.c: fft.c:230:12: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
fft.c: 2 warnings and 4 errors generated.
Number of similar (implementation,compiler) pairs: 4, namely:
| Implementation | Compiler | 
| avx2 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) | 
| avx2 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) | 
| avx2 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) | 
| avx2 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) | 
Compiler output
aes256ctr.c: aes256ctr.c:91:3: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
aes256ctr.c:   BLOCK1(0x01);
aes256ctr.c:   ^
aes256ctr.c: aes256ctr.c:72:11: note: expanded from macro 'BLOCK1'
aes256ctr.c:   temp1 = _mm_aeskeygenassist_si128(temp2, IMM);                        \
aes256ctr.c:           ^
aes256ctr.c: /usr/lib/llvm-14/lib/clang/14.0.6/include/__wmmintrin_aes.h:136:13: note: expanded from macro '_mm_aeskeygenassist_si128'
aes256ctr.c:   ((__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R)))
aes256ctr.c:             ^
aes256ctr.c: aes256ctr.c:92:3: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
aes256ctr.c:   BLOCK2(0x01);
aes256ctr.c:   ^
aes256ctr.c: aes256ctr.c:82:11: note: expanded from macro 'BLOCK2'
aes256ctr.c:   temp1 = _mm_aeskeygenassist_si128(temp0, IMM);                        \
aes256ctr.c:           ^
aes256ctr.c: /usr/lib/llvm-14/lib/clang/14.0.6/include/__wmmintrin_aes.h:136:13: note: expanded from macro '_mm_aeskeygenassist_si128'
aes256ctr.c:   ((__m128i)__builtin_ia32_aeskeygenassist128((__v2di)(__m128i)(C), (int)(R)))
aes256ctr.c:             ^
aes256ctr.c: aes256ctr.c:94:3: error: '__builtin_ia32_aeskeygenassist128' needs target feature aes
aes256ctr.c:   BLOCK1(0x02);
aes256ctr.c:   ^
aes256ctr.c: aes256ctr.c:72:11: note: expanded from macro 'BLOCK1'
aes256ctr.c:   temp1 = _mm_aeskeygenassist_si128(temp2, IMM);                        \
aes256ctr.c:           ^
aes256ctr.c: /usr/lib/llvm-14/lib/clang/14.0.6/include/__wmmintrin_aes.h:136:13: note: expanded from macro '_mm_aeskeygenassist_si128'
aes256ctr.c: ...
Number of similar (implementation,compiler) pairs: 1, namely:
| Implementation | Compiler | 
| avx2 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) | 
Compiler output
fft.c: fft.c: In function '_mulrnd16_avx':
fft.c: fft.c:159:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
fft.c:   159 | static inline __m256i _mulrnd16_avx(const __m256i x, const __m256i y) {
fft.c:       | ^~~~~~
fft.c: fft.c:159:23: note: the ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
fft.c:   159 | static inline __m256i _mulrnd16_avx(const __m256i x, const __m256i y) {
fft.c:       |                       ^~~~~~~~~~~~~
fft.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/12/include/immintrin.h:47,
fft.c:                  from align.h:5,
fft.c:                  from poly.h:6,
fft.c:                  from fft.h:4,
fft.c:                  from fft.c:1:
fft.c: /usr/lib/gcc/x86_64-linux-gnu/12/include/avx2intrin.h:974:1: error: inlining failed in call to 'always_inline' '_mm256_blend_epi32': target specific option mismatch
fft.c:   974 | _mm256_blend_epi32 (__m256i __X, __m256i __Y, const int __M)
fft.c:       | ^~~~~~~~~~~~~~~~~~
fft.c: fft.c:168:10: note: called from here
fft.c:   168 |     rl = _mm256_blend_epi32(rl, rh, 0xaa);
fft.c:       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fft.c: /usr/lib/gcc/x86_64-linux-gnu/12/include/avx2intrin.h:696:1: error: inlining failed in call to 'always_inline' '_mm256_slli_epi64': target specific option mismatch
fft.c:   696 | _mm256_slli_epi64 (__m256i __A, int __B)
fft.c:       | ^~~~~~~~~~~~~~~~~
fft.c: fft.c:167:10: note: called from here
fft.c:   167 |     rh = _mm256_slli_epi64(rh, 16); // shift up
fft.c:       |          ^~~~~~~~~~~~~~~~~~~~~~~~~
fft.c: /usr/lib/gcc/x86_64-linux-gnu/12/include/avx2intrin.h:787:1: error: inlining failed in call to 'always_inline' '_mm256_srli_epi64': target specific option mismatch
fft.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
| Implementation | Compiler | 
| avx2 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| avx2 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| avx2 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| avx2 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
Compiler output
sampler.c: sampler.c:229:43: warning: variable 'cnt' set but not used [-Wunused-but-set-variable]
sampler.c:     size_t bytecnt = buflen, coefcnt = 0, cnt = 0;
sampler.c:                                           ^
sampler.c: 1 warning generated.
Number of similar (implementation,compiler) pairs: 5, namely:
| Implementation | Compiler | 
| ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) | 
| ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) | 
| ref | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) | 
| ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) | 
| ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) | 
Namespace violations
decompose.o cryptolab_haetae2_decompose_hint T
decompose.o cryptolab_haetae2_decompose_vk T
decompose.o cryptolab_haetae2_decompose_z1 T
encoding.o cryptolab_haetae2_decode_h T
encoding.o cryptolab_haetae2_decode_hb_z1 T
encoding.o cryptolab_haetae2_encode_h T
encoding.o cryptolab_haetae2_encode_hb_z1 T
fft.o brv8 R
fft.o complex_fp_sqabs T
fft.o fft T
fft.o fft_init_and_bitrev T
fips202.o haetae_fips202_KeccakF_RoundConstants R
fips202.o haetae_fips202_sha3_256 T
fips202.o haetae_fips202_sha3_512 T
fips202.o haetae_fips202_shake128 T
fips202.o haetae_fips202_shake128_absorb T
fips202.o haetae_fips202_shake128_absorb_once T
fips202.o haetae_fips202_shake128_finalize T
fips202.o haetae_fips202_shake128_init T
fips202.o haetae_fips202_shake128_squeeze T
fips202.o haetae_fips202_shake128_squeezeblocks T
fips202.o haetae_fips202_shake256 T
fips202.o haetae_fips202_shake256_absorb T
fips202.o haetae_fips202_shake256_absorb_once T
fips202.o haetae_fips202_shake256_finalize T
fips202.o haetae_fips202_shake256_init T
fips202.o haetae_fips202_shake256_squeeze T
fips202.o haetae_fips202_shake256_squeezeblocks T
fixpoint.o cryptolab_haetae2_fixpoint_add T
fixpoint.o cryptolab_haetae2_fixpoint_mul_rnd13 T
fixpoint.o cryptolab_haetae2_fixpoint_newton_invsqrt T
fixpoint.o cryptolab_haetae2_fixpoint_square T
fixpoint.o start_cube R
fixpoint.o start_times_threehalves R
ntt.o cryptolab_haetae2_invntt_tomont T
ntt.o cryptolab_haetae2_ntt T
packing.o cryptolab_haetae2_pack_pk T
packing.o cryptolab_haetae2_pack_sig T
packing.o cryptolab_haetae2_pack_sk T
packing.o cryptolab_haetae2_unpack_pk T
packing.o cryptolab_haetae2_unpack_sig T
packing.o cryptolab_haetae2_unpack_sk T
poly.o cryptolab_haetae2_poly2eta_pack T
poly.o cryptolab_haetae2_poly2eta_unpack T
poly.o cryptolab_haetae2_poly_add T
poly.o cryptolab_haetae2_poly_challenge T
poly.o cryptolab_haetae2_poly_compose T
poly.o cryptolab_haetae2_poly_decomposed_pack T
poly.o cryptolab_haetae2_poly_decomposed_unpack T
poly.o cryptolab_haetae2_poly_freeze T
poly.o cryptolab_haetae2_poly_freeze2q T
poly.o cryptolab_haetae2_poly_fromcrt T
poly.o cryptolab_haetae2_poly_fromcrt0 T
poly.o cryptolab_haetae2_poly_highbits T
poly.o cryptolab_haetae2_poly_invntt_tomont T
poly.o cryptolab_haetae2_poly_lowbits T
poly.o cryptolab_haetae2_poly_lsb T
poly.o cryptolab_haetae2_poly_ntt T
poly.o cryptolab_haetae2_poly_pack_highbits T
poly.o cryptolab_haetae2_poly_pack_lsb T
poly.o cryptolab_haetae2_poly_pointwise_montgomery T
poly.o cryptolab_haetae2_poly_reduce2q T
poly.o cryptolab_haetae2_poly_sub T
poly.o cryptolab_haetae2_poly_uniform T
poly.o cryptolab_haetae2_poly_uniform_eta T
poly.o cryptolab_haetae2_polyeta_pack T
poly.o cryptolab_haetae2_polyeta_unpack T
poly.o cryptolab_haetae2_polyq_pack T
poly.o cryptolab_haetae2_polyq_unpack T
poly.o hammingWeight_8 T
polyfix.o cryptolab_haetae2_polyfix_add T
polyfix.o cryptolab_haetae2_polyfix_round T
polyfix.o cryptolab_haetae2_polyfixfixveck_sub T
polyfix.o cryptolab_haetae2_polyfixfixvecl_sub T
polyfix.o cryptolab_haetae2_polyfixveck_add T
polyfix.o cryptolab_haetae2_polyfixveck_double T
polyfix.o cryptolab_haetae2_polyfixveck_round T
polyfix.o cryptolab_haetae2_polyfixvecl_add T
polyfix.o cryptolab_haetae2_polyfixvecl_double T
polyfix.o cryptolab_haetae2_polyfixvecl_round T
polyfix.o cryptolab_haetae2_polyfixveclk_sample_hyperball T
polyfix.o cryptolab_haetae2_polyfixveclk_sqnorm2 T
polyfix.o fix_round T
polyfix.o polyfixfix_sub T
polymat.o cryptolab_haetae2_polymatkl_double T
polymat.o cryptolab_haetae2_polymatkl_expand T
polymat.o cryptolab_haetae2_polymatkl_pointwise_montgomery T
polymat.o cryptolab_haetae2_polymatkm_expand T
polymat.o cryptolab_haetae2_polymatkm_pointwise_montgomery T
polyvec.o cryptolab_haetae2_polyveck_add T
polyvec.o cryptolab_haetae2_polyveck_caddDQ2ALPHA T
polyvec.o cryptolab_haetae2_polyveck_caddq T
polyvec.o cryptolab_haetae2_polyveck_cneg T
polyvec.o cryptolab_haetae2_polyveck_csubDQ2ALPHA T
polyvec.o cryptolab_haetae2_polyveck_decompose_vk T
polyvec.o cryptolab_haetae2_polyveck_div2 T
polyvec.o cryptolab_haetae2_polyveck_double T
polyvec.o cryptolab_haetae2_polyveck_double_negate T
polyvec.o cryptolab_haetae2_polyveck_expand T
polyvec.o cryptolab_haetae2_polyveck_freeze T
polyvec.o cryptolab_haetae2_polyveck_freeze2q T
polyvec.o cryptolab_haetae2_polyveck_frommont T
polyvec.o cryptolab_haetae2_polyveck_highbits_hint T
polyvec.o cryptolab_haetae2_polyveck_invntt_tomont T
polyvec.o cryptolab_haetae2_polyveck_mul_alpha T
polyvec.o cryptolab_haetae2_polyveck_ntt T
polyvec.o cryptolab_haetae2_polyveck_pack_highbits T
polyvec.o cryptolab_haetae2_polyveck_poly_fromcrt T
polyvec.o cryptolab_haetae2_polyveck_poly_pointwise_montgomery T
polyvec.o cryptolab_haetae2_polyveck_reduce2q T
polyvec.o cryptolab_haetae2_polyveck_sqnorm2 T
polyvec.o cryptolab_haetae2_polyveck_sub T
polyvec.o cryptolab_haetae2_polyvecl_cneg T
polyvec.o cryptolab_haetae2_polyvecl_highbits T
polyvec.o cryptolab_haetae2_polyvecl_lowbits T
polyvec.o cryptolab_haetae2_polyvecl_ntt T
polyvec.o cryptolab_haetae2_polyvecl_pointwise_acc_montgomery T
polyvec.o cryptolab_haetae2_polyvecl_sqnorm2 T
polyvec.o cryptolab_haetae2_polyvecm_ntt T
polyvec.o cryptolab_haetae2_polyvecm_pointwise_acc_montgomery T
polyvec.o cryptolab_haetae2_polyvecmk_sqsing_value T
polyvec.o cryptolab_haetae2_polyvecmk_uniform_eta T
reduce.o cryptolab_haetae2_caddq T
reduce.o cryptolab_haetae2_freeze T
reduce.o cryptolab_haetae2_freeze2q T
reduce.o cryptolab_haetae2_montgomery_reduce T
reduce.o cryptolab_haetae2_reduce32_2q T
sampler.o cryptolab_haetae2_rej_eta T
sampler.o cryptolab_haetae2_rej_uniform T
sampler.o cryptolab_haetae2_sample_gauss_N T
sampler.o sample_gauss T
sign.o cryptolab_haetae2_signature T
sign.o cryptolab_haetae2_verify T
symmetric-shake.o cryptolab_haetae2_haetae_shake128_stream_init T
symmetric-shake.o cryptolab_haetae2_haetae_shake256_absorb_twice T
symmetric-shake.o cryptolab_haetae2_haetae_shake256_stream_init T
Number of similar (implementation,compiler) pairs: 9, namely:
| Implementation | Compiler | 
| ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) | 
| ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) | 
| ref | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) | 
| ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) | 
| ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) | 
| ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
Passed TIMECOP
TIMECOP iterations: 10
Number of similar (implementation,compiler) pairs: 9, namely:
| Implementation | Compiler | 
| ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) | 
| ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) | 
| ref | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) | 
| ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) | 
| ref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6) | 
| ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) | 
| ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0) |