Implementation notes: amd64, hertz, crypto_kem/frodokem640
Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20240716
Operation: crypto_kem
Primitive: frodokem640
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
2061626 | 181211 0 0 | 80909 892 1832 | T:x64 | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
2088353 | 57080 0 8 | 81789 892 1832 | T:optimized | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
2240850 | 191787 0 0 | 127971 900 1832 | T:x64 | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
2241929 | 223971 0 0 | 160147 900 1832 | T:x64 | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
2270006 | 135080 0 8 | 164083 900 1832 | T:optimized | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
2407071 | 101636 0 8 | 130723 900 1832 | T:optimized | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
3428340 | 15277 0 8 | 39829 892 1800 | T:optimized | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
3457324 | 87225 0 0 | 39941 892 1800 | T:x64 | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
3591471 | 13961 0 8 | 38925 892 1832 | T:optimized | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
3620392 | 81362 0 0 | 38861 892 1832 | T:x64 | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
5597153 | 79905 0 0 | 35237 884 1768 | T:x64 | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
15305606 | 51664 40 8 | 76341 940 1832 | T:reference | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
15539129 | 116800 26 8 | 145859 940 1832 | T:reference | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
15602537 | 93068 26 8 | 122211 940 1832 | T:reference | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
15707813 | 13055 26 8 | 38005 932 1832 | T:reference | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
15771303 | 14677 40 8 | 39229 940 1800 | T:reference | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
25271905 | 11494 0 8 | 34933 884 1768 | T:optimized | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
26804916 | 10902 40 8 | 34373 932 1768 | T:reference | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240717 | 20240716 |
Compiler output
fips202.c: fips202.c:428:39: warning: argument 1 of type 'uint64_t[25]' {aka 'long unsigned int[25]'} with mismatched bound [-Warray-parameter=]
fips202.c: 428 | void cshake128_simple_absorb(uint64_t s[25], uint16_t cstm, const unsigned char *in, unsigned long long inlen)
fips202.c: | ~~~~~~~~~^~~~~
fips202.c: In file included from fips202.c:16:
fips202.c: fips202.h:14:40: note: previously declared as 'uint64_t *' {aka 'long unsigned int *'}
fips202.c: 14 | void cshake128_simple_absorb(uint64_t *s, uint16_t cstm, const unsigned char *in, unsigned long long inlen);
fips202.c: | ~~~~~~~~~~^
fips202.c: fips202.c:524:39: warning: argument 1 of type 'uint64_t[25]' {aka 'long unsigned int[25]'} with mismatched bound [-Warray-parameter=]
fips202.c: 524 | void cshake256_simple_absorb(uint64_t s[25], uint16_t cstm, const unsigned char *in, unsigned long long inlen)
fips202.c: | ~~~~~~~~~^~~~~
fips202.c: fips202.h:22:40: note: previously declared as 'uint64_t *' {aka 'long unsigned int *'}
fips202.c: 22 | void cshake256_simple_absorb(uint64_t *s, uint16_t cstm, const unsigned char *in, unsigned long long inlen);
fips202.c: | ~~~~~~~~~~^
Number of similar (implementation,compiler) pairs: 9, namely:
Implementation | Compiler |
T:optimized | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:optimized | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:optimized | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:reference | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:reference | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:reference | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:x64 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:x64 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:x64 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
Namespace violations
aes.o AES128_free_schedule T
aes.o AES256_free_schedule T
aes.o handleErrors T
aes_c.o aes128_enc_c T
aes_c.o aes128_load_schedule_c T
aes_c.o aes256_enc_c T
aes_c.o aes256_load_schedule_c T
fips202.o KeccakF1600_StatePermute T
fips202.o cshake128_simple T
fips202.o cshake128_simple_absorb T
fips202.o cshake128_simple_squeezeblocks T
fips202.o cshake256_simple T
fips202.o cshake256_simple_absorb T
fips202.o cshake256_simple_squeezeblocks T
fips202.o shake128 T
fips202.o shake128_absorb T
fips202.o shake128_squeezeblocks T
fips202.o shake256 T
fips202.o shake256_absorb T
fips202.o shake256_squeezeblocks T
frodo640.o CDF_TABLE R
frodo640.o CDF_TABLE_LEN R
frodo640.o frodo_add T
frodo640.o frodo_key_decode T
frodo640.o frodo_key_encode T
frodo640.o frodo_mul_add_as_plus_e T
frodo640.o frodo_mul_add_sa_plus_e T
frodo640.o frodo_mul_add_sb_plus_e T
frodo640.o frodo_mul_bs T
frodo640.o frodo_sample_n T
frodo640.o frodo_sub T
util.o clear_words T
util.o frodo_pack T
util.o frodo_unpack T
Number of similar (implementation,compiler) pairs: 6, namely:
Implementation | Compiler |
T:optimized | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:optimized | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:optimized | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:optimized | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:optimized | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:optimized | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
Namespace violations
aes.o AES128_free_schedule T
aes.o AES256_free_schedule T
aes.o handleErrors T
aes_c.o aes128_enc_c T
aes_c.o aes128_load_schedule_c T
aes_c.o aes256_enc_c T
aes_c.o aes256_load_schedule_c T
fips202.o KeccakF1600_StatePermute T
fips202.o cshake128_simple T
fips202.o cshake128_simple_absorb T
fips202.o cshake128_simple_squeezeblocks T
fips202.o cshake256_simple T
fips202.o cshake256_simple_absorb T
fips202.o cshake256_simple_squeezeblocks T
fips202.o shake128 T
fips202.o shake128_absorb T
fips202.o shake128_squeezeblocks T
fips202.o shake256 T
fips202.o shake256_absorb T
fips202.o shake256_squeezeblocks T
frodo640.o CDF_TABLE D
frodo640.o CDF_TABLE_LEN D
frodo640.o frodo_add T
frodo640.o frodo_key_decode T
frodo640.o frodo_key_encode T
frodo640.o frodo_mul_add_as_plus_e T
frodo640.o frodo_mul_add_sa_plus_e T
frodo640.o frodo_mul_add_sb_plus_e T
frodo640.o frodo_mul_bs T
frodo640.o frodo_sample_n T
frodo640.o frodo_sub T
util.o clear_words T
util.o frodo_pack T
util.o frodo_unpack T
Number of similar (implementation,compiler) pairs: 6, namely:
Implementation | Compiler |
T:reference | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:reference | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:reference | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:reference | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:reference | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:reference | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
Namespace violations
KeccakP-1600-times4-SIMD256.o KeccakF1600times4_FastLoop_Absorb T
KeccakP-1600-times4-SIMD256.o KeccakP1600times4_12rounds_FastLoop_Absorb T
KeccakP-1600-times4-SIMD256.o KeccakP1600times4_AddBytes T
KeccakP-1600-times4-SIMD256.o KeccakP1600times4_AddLanesAll T
KeccakP-1600-times4-SIMD256.o KeccakP1600times4_ExtractAndAddBytes T
KeccakP-1600-times4-SIMD256.o KeccakP1600times4_ExtractAndAddLanesAll T
KeccakP-1600-times4-SIMD256.o KeccakP1600times4_ExtractBytes T
KeccakP-1600-times4-SIMD256.o KeccakP1600times4_ExtractLanesAll T
KeccakP-1600-times4-SIMD256.o KeccakP1600times4_InitializeAll T
KeccakP-1600-times4-SIMD256.o KeccakP1600times4_OverwriteBytes T
KeccakP-1600-times4-SIMD256.o KeccakP1600times4_OverwriteLanesAll T
KeccakP-1600-times4-SIMD256.o KeccakP1600times4_OverwriteWithZeroes T
KeccakP-1600-times4-SIMD256.o KeccakP1600times4_PermuteAll_12rounds T
KeccakP-1600-times4-SIMD256.o KeccakP1600times4_PermuteAll_24rounds T
aes.o AES_free_schedule T
aes.o handleErrors T
aes_ni.o aes128_dec_ni T
aes_ni.o aes128_enc_ni T
aes_ni.o aes128_load_schedule_ni T
aes_ni.o aes256_dec_ni T
aes_ni.o aes256_enc_ni T
aes_ni.o aes256_load_schedule_ni T
aes_ni.o aes_free_schedule_ni T
fips202.o KeccakF1600_StatePermute T
fips202.o cshake128_simple T
fips202.o cshake128_simple_absorb T
fips202.o cshake128_simple_squeezeblocks T
fips202.o cshake256_simple T
fips202.o cshake256_simple_absorb T
fips202.o cshake256_simple_squeezeblocks T
fips202.o shake128 T
fips202.o shake128_absorb T
fips202.o shake128_squeezeblocks T
fips202.o shake256 T
fips202.o shake256_absorb T
fips202.o shake256_squeezeblocks T
fips202x4.o cshake128_simple4x T
fips202x4.o cshake128_simple_absorb4x T
fips202x4.o cshake128_simple_squeezeblocks4x T
fips202x4.o cshake256_simple4x T
fips202x4.o cshake256_simple_absorb4x T
fips202x4.o cshake256_simple_squeezeblocks4x T
frodo640.o CDF_TABLE R
frodo640.o CDF_TABLE_LEN R
frodo640.o frodo_add T
frodo640.o frodo_key_decode T
frodo640.o frodo_key_encode T
frodo640.o frodo_mul_add_as_plus_e T
frodo640.o frodo_mul_add_sa_plus_e T
frodo640.o frodo_mul_add_sb_plus_e T
frodo640.o frodo_mul_bs T
frodo640.o frodo_sample_n T
frodo640.o frodo_sub T
util.o clear_words T
util.o frodo_pack T
util.o frodo_unpack T
Number of similar (implementation,compiler) pairs: 6, namely:
Implementation | Compiler |
T:x64 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:x64 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:x64 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:x64 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:x64 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:x64 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |