Implementation notes: amd64, comet, crypto_sign/haetae3
Computer: comet
Microarchitecture: amd64; Comet Lake (806ec)
Architecture: amd64
CPU ID: GenuineIntel-000806ec-bfebfbff
SUPERCOP version: 20240716
Operation: crypto_sign
Primitive: haetae3
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
780376 | 128790 64 0 | 150689 932 1760 | avx2 | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240705 | 20240625 |
782371 | 137426 64 0 | 159609 932 1792 | avx2 | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240705 | 20240625 |
812791 | 119212 64 0 | 140468 860 1792 | avx2 | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240705 | 20240625 |
835982 | 80682 64 0 | 100359 924 1792 | avx2 | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240705 | 20240625 |
847077 | 85606 624 0 | 105244 1436 1792 | avx2 | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240705 | 20240625 |
872529 | 87903 64 0 | 106969 932 1728 | avx2 | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240705 | 20240625 |
906589 | 80978 624 0 | 100220 1436 1792 | avx2 | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240705 | 20240625 |
1220828 | 78481 816 0 | 96612 1620 1760 | avx2 | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240705 | 20240625 |
1678951 | 68412 0 0 | 90852 788 1792 | ref | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240723 | 20240716 |
1684589 | 167975 0 0 | 191521 860 1792 | ref | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240723 | 20240716 |
1700778 | 126446 0 0 | 149745 860 1760 | ref | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240723 | 20240716 |
1799997 | 35727 0 0 | 56367 852 1792 | ref | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240723 | 20240716 |
1881357 | 38594 560 0 | 59140 1356 1792 | ref | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240723 | 20240716 |
2022251 | 164335 0 0 | 186761 860 1728 | ref | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240723 | 20240716 |
2227328 | 40271 0 0 | 60321 860 1728 | ref | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240723 | 20240716 |
2299045 | 33829 752 0 | 52764 1540 1760 | ref | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240723 | 20240716 |
2311553 | 35954 560 0 | 56044 1356 1792 | ref | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240723 | 20240716 |
Compiler output
sampler.c: sampler.c:227: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.
try.c: /usr/bin/ld: warning: f1600x4.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
try.c: /usr/bin/ld: warning: f1600x4.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
try.c: /usr/bin/ld: warning: f1600x4.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
measure.c: /usr/bin/ld: warning: f1600x4.o: missing .note.GNU-stack section implies executable stack
measure.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
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
try.c: /usr/bin/ld: warning: f1600x4.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
try.c: /usr/bin/ld: warning: f1600x4.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
try.c: /usr/bin/ld: warning: f1600x4.o: missing .note.GNU-stack section implies executable stack
try.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
measure.c: /usr/bin/ld: warning: f1600x4.o: missing .note.GNU-stack section implies executable stack
measure.c: /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker
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:227: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_haetae3_decompose_hint T
decompose.o cryptolab_haetae3_decompose_vk T
decompose.o cryptolab_haetae3_decompose_z1 T
encoding.o cryptolab_haetae3_decode_h T
encoding.o cryptolab_haetae3_decode_hb_z1 T
encoding.o cryptolab_haetae3_encode_h T
encoding.o cryptolab_haetae3_encode_hb_z1 T
fft.o brv9 R
fft.o complex_fp_sqabs T
fft.o fft T
fft.o fft_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_haetae3_fixpoint_add T
fixpoint.o cryptolab_haetae3_fixpoint_mul_rnd13 T
fixpoint.o cryptolab_haetae3_fixpoint_newton_invsqrt T
fixpoint.o cryptolab_haetae3_fixpoint_square T
fixpoint.o start_cube R
fixpoint.o start_times_threehalves R
ntt.o cryptolab_haetae3_invntt_tomont T
ntt.o cryptolab_haetae3_ntt T
packing.o cryptolab_haetae3_pack_pk T
packing.o cryptolab_haetae3_pack_sig T
packing.o cryptolab_haetae3_pack_sk T
packing.o cryptolab_haetae3_unpack_pk T
packing.o cryptolab_haetae3_unpack_sig T
packing.o cryptolab_haetae3_unpack_sk T
poly.o cryptolab_haetae3_poly2eta_pack T
poly.o cryptolab_haetae3_poly2eta_unpack T
poly.o cryptolab_haetae3_poly_add T
poly.o cryptolab_haetae3_poly_challenge T
poly.o cryptolab_haetae3_poly_compose T
poly.o cryptolab_haetae3_poly_decomposed_pack T
poly.o cryptolab_haetae3_poly_decomposed_unpack T
poly.o cryptolab_haetae3_poly_freeze T
poly.o cryptolab_haetae3_poly_freeze2q T
poly.o cryptolab_haetae3_poly_fromcrt T
poly.o cryptolab_haetae3_poly_fromcrt0 T
poly.o cryptolab_haetae3_poly_highbits T
poly.o cryptolab_haetae3_poly_invntt_tomont T
poly.o cryptolab_haetae3_poly_lowbits T
poly.o cryptolab_haetae3_poly_lsb T
poly.o cryptolab_haetae3_poly_ntt T
poly.o cryptolab_haetae3_poly_pack_highbits T
poly.o cryptolab_haetae3_poly_pack_lsb T
poly.o cryptolab_haetae3_poly_pointwise_montgomery T
poly.o cryptolab_haetae3_poly_reduce2q T
poly.o cryptolab_haetae3_poly_sub T
poly.o cryptolab_haetae3_poly_uniform T
poly.o cryptolab_haetae3_poly_uniform_eta T
poly.o cryptolab_haetae3_polyeta_pack T
poly.o cryptolab_haetae3_polyeta_unpack T
poly.o cryptolab_haetae3_polyq_pack T
poly.o cryptolab_haetae3_polyq_unpack T
poly.o hammingWeight_8 T
polyfix.o cryptolab_haetae3_polyfix_add T
polyfix.o cryptolab_haetae3_polyfix_round T
polyfix.o cryptolab_haetae3_polyfixfixveck_sub T
polyfix.o cryptolab_haetae3_polyfixfixvecl_sub T
polyfix.o cryptolab_haetae3_polyfixveck_add T
polyfix.o cryptolab_haetae3_polyfixveck_double T
polyfix.o cryptolab_haetae3_polyfixveck_round T
polyfix.o cryptolab_haetae3_polyfixvecl_add T
polyfix.o cryptolab_haetae3_polyfixvecl_double T
polyfix.o cryptolab_haetae3_polyfixvecl_round T
polyfix.o cryptolab_haetae3_polyfixveclk_sample_hyperball T
polyfix.o cryptolab_haetae3_polyfixveclk_sqnorm2 T
polyfix.o fix_round T
polyfix.o polyfixfix_sub T
polymat.o cryptolab_haetae3_polymatkl_double T
polymat.o cryptolab_haetae3_polymatkl_expand T
polymat.o cryptolab_haetae3_polymatkl_pointwise_montgomery T
polymat.o cryptolab_haetae3_polymatkm_expand T
polymat.o cryptolab_haetae3_polymatkm_pointwise_montgomery T
polyvec.o cryptolab_haetae3_polyveck_add T
polyvec.o cryptolab_haetae3_polyveck_caddDQ2ALPHA T
polyvec.o cryptolab_haetae3_polyveck_caddq T
polyvec.o cryptolab_haetae3_polyveck_cneg T
polyvec.o cryptolab_haetae3_polyveck_csubDQ2ALPHA T
polyvec.o cryptolab_haetae3_polyveck_decompose_vk T
polyvec.o cryptolab_haetae3_polyveck_div2 T
polyvec.o cryptolab_haetae3_polyveck_double T
polyvec.o cryptolab_haetae3_polyveck_double_negate T
polyvec.o cryptolab_haetae3_polyveck_expand T
polyvec.o cryptolab_haetae3_polyveck_freeze T
polyvec.o cryptolab_haetae3_polyveck_freeze2q T
polyvec.o cryptolab_haetae3_polyveck_frommont T
polyvec.o cryptolab_haetae3_polyveck_highbits_hint T
polyvec.o cryptolab_haetae3_polyveck_invntt_tomont T
polyvec.o cryptolab_haetae3_polyveck_mul_alpha T
polyvec.o cryptolab_haetae3_polyveck_ntt T
polyvec.o cryptolab_haetae3_polyveck_pack_highbits T
polyvec.o cryptolab_haetae3_polyveck_poly_fromcrt T
polyvec.o cryptolab_haetae3_polyveck_poly_pointwise_montgomery T
polyvec.o cryptolab_haetae3_polyveck_reduce2q T
polyvec.o cryptolab_haetae3_polyveck_sqnorm2 T
polyvec.o cryptolab_haetae3_polyveck_sub T
polyvec.o cryptolab_haetae3_polyvecl_cneg T
polyvec.o cryptolab_haetae3_polyvecl_highbits T
polyvec.o cryptolab_haetae3_polyvecl_lowbits T
polyvec.o cryptolab_haetae3_polyvecl_ntt T
polyvec.o cryptolab_haetae3_polyvecl_pointwise_acc_montgomery T
polyvec.o cryptolab_haetae3_polyvecl_sqnorm2 T
polyvec.o cryptolab_haetae3_polyvecm_ntt T
polyvec.o cryptolab_haetae3_polyvecm_pointwise_acc_montgomery T
polyvec.o cryptolab_haetae3_polyvecmk_sqsing_value T
polyvec.o cryptolab_haetae3_polyvecmk_uniform_eta T
reduce.o cryptolab_haetae3_caddq T
reduce.o cryptolab_haetae3_freeze T
reduce.o cryptolab_haetae3_freeze2q T
reduce.o cryptolab_haetae3_montgomery_reduce T
reduce.o cryptolab_haetae3_reduce32_2q T
sampler.o cryptolab_haetae3_rej_eta T
sampler.o cryptolab_haetae3_rej_uniform T
sampler.o cryptolab_haetae3_sample_gauss_N T
sampler.o sample_gauss T
sign.o cryptolab_haetae3_signature T
sign.o cryptolab_haetae3_verify T
symmetric-shake.o cryptolab_haetae3_haetae_shake128_stream_init T
symmetric-shake.o cryptolab_haetae3_haetae_shake256_absorb_twice T
symmetric-shake.o cryptolab_haetae3_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: 17, 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) |
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) |
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) |