Implementation notes: amd64, hertz, crypto_kem/limasp2062cca

Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20240716
Operation: crypto_kem
Primitive: limasp2062cca
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
927514826044 1512 591620167584 2372 593512T:optclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
951895926455 1524 591680163653 2396 593544T:optgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
953477027509 1512 591620169136 2372 593512T:optclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
957964620346 1524 591680155525 2396 593480T:optgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
961928516067 1512 591620151482 2364 593512T:optclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
1030035415314 1524 591648148947 2396 593416T:optgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
2625376123971 432 591364165472 1292 593192T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
2642341025307 432 591364166960 1292 593192T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
3529334015510 432 591364150906 1284 593192T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
3635592825573 424 591392162741 1292 593224T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
5447768018518 424 591392153565 1292 593192T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716
5797560714618 424 591392148187 1292 593160T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024071720240716

Compiler output


lima.c: lima.c:147:20: warning: using floating point absolute value function 'fabs' when argument is of integer type [-Wabsolute-value]
lima.c:   147 |        rhs=11*sqrt(fabs(2*N))*3.16;              // Accepting condition for LIMA_2p
lima.c:       |                    ^
lima.c: lima.c:147:20: note: use function 'abs' instead
lima.c:   147 |        rhs=11*sqrt(fabs(2*N))*3.16;              // Accepting condition for LIMA_2p
lima.c:       |                    ^~~~
lima.c:       |                    abs
lima.c: lima.c:155:20: warning: using floating point absolute value function 'fabs' when argument is of integer type [-Wabsolute-value]
lima.c:   155 |        rhs=11*sqrt(fabs(4*N))*3.16;              // Accepting condition for LIMA_sp
lima.c:       |                    ^
lima.c: lima.c:155:20: note: use function 'abs' instead
lima.c:   155 |        rhs=11*sqrt(fabs(4*N))*3.16;              // Accepting condition for LIMA_sp
lima.c:       |                    ^~~~
lima.c:       |                    abs
lima.c: 2 warnings generated.

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:optclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:optclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:optclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))

Compiler output


xof.c: xof.c: In function 'KDF':
xof.c: xof.c:38:10: warning: 'empty' may be used uninitialized [-Wmaybe-uninitialized]
xof.c:    38 |   return KMAC256(k,(BitLength)(k_len<<3),empty,0,(BitSequence*) key,(BitLength)(key_len<<3),D,8);
xof.c:       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
xof.c: In file included from xof.h:11,
xof.c:                  from xof.c:1:
xof.c: .../supercop-data/hertz/amd64/include/libkeccak.a.headers/SP800-185.h:255:5: note: by argument 3 of type 'const BitSequence *' {aka 'const unsigned char *'} to 'KMAC256' declared here
xof.c:   255 | int KMAC256(const BitSequence *key, BitLength keyBitLen, const BitSequence *input, BitLength inputBitLen,
xof.c:       |     ^~~~~~~
xof.c: xof.c:35:20: note: 'empty' declared here
xof.c:    35 |   BitSequence D[1],empty[1];
xof.c:       |                    ^~~~~

Number of similar (implementation,compiler) pairs: 6, namely:
ImplementationCompiler
T:optgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:optgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:optgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Compiler output


lima.c: lima.c:91:20: warning: using floating point absolute value function 'fabs' when argument is of integer type [-Wabsolute-value]
lima.c:    91 |        rhs=11*sqrt(fabs(2*N))*3.16;              // Accepting condition for LIMA_2p
lima.c:       |                    ^
lima.c: lima.c:91:20: note: use function 'abs' instead
lima.c:    91 |        rhs=11*sqrt(fabs(2*N))*3.16;              // Accepting condition for LIMA_2p
lima.c:       |                    ^~~~
lima.c:       |                    abs
lima.c: lima.c:91:20: note: include the header <stdlib.h> or explicitly provide a declaration for 'abs'
lima.c: lima.c:95:20: warning: using floating point absolute value function 'fabs' when argument is of integer type [-Wabsolute-value]
lima.c:    95 |      { rhs=11*sqrt(fabs(4*N))*3.16;              // Accepting condition for LIMA_sp
lima.c:       |                    ^
lima.c: lima.c:95:20: note: use function 'abs' instead
lima.c:    95 |      { rhs=11*sqrt(fabs(4*N))*3.16;              // Accepting condition for LIMA_sp
lima.c:       |                    ^~~~
lima.c:       |                    abs
lima.c: lima.c:95:20: note: include the header <stdlib.h> or explicitly provide a declaration for 'abs'
lima.c: 2 warnings generated.

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))

Namespace violations


LimaAPI.o Dec_CCA T
LimaAPI.o Dec_CPA T
LimaAPI.o Decap_CCA T
LimaAPI.o Decap_CPA T
LimaAPI.o Enc_CCA T
LimaAPI.o Enc_CPA T
LimaAPI.o Encap_CCA T
LimaAPI.o Encap_CPA T
LimaAPI.o Key_Generation T
fft.o bfft T
fft.o fft T
fft.o fft_inv T
fft.o fft_sub_1 T
fft.o fft_sub_2 T
fft.o inv_mod_q T
fft.o log_2 T
fft.o precompute_fft_data T
fft.o reverse T
lima.o DecodeCT T
lima.o DecodePK T
lima.o DecodeSK T
lima.o Decode_Val T
lima.o EncodeCT T
lima.o EncodePK T
lima.o EncodeSK T
lima.o Encode_Val T
lima.o InitLima T
lima.o RandCheck T
lima.o increment_seed T
lima.o init_done B
lima.o lima_2p_1024 D
lima.o lima_2p_2048 D
lima.o lima_dec_cca T
lima.o lima_dec_cpa T
lima.o lima_decap_cca T
lima.o lima_decap_cpa T
lima.o lima_enc_cca T
lima.o lima_enc_cpa T
lima.o lima_enc_cpa_sub T
lima.o lima_encap_cca T
lima.o lima_encap_cpa T
lima.o lima_fft_2p_1024 B
lima.o lima_fft_2p_2048 B
lima.o lima_fft_sp_1018 B
lima.o lima_fft_sp_1306 B
lima.o lima_fft_sp_1822 B
lima.o lima_fft_sp_2062 B
lima.o lima_key_gen T
lima.o lima_sp_1018 D
lima.o lima_sp_1306 D
lima.o lima_sp_1822 D
lima.o lima_sp_2062 D
lima.o precompute_noise T
lima.o precompute_noise_data T
lima.o xof5_to_modp T
modp.o MontMult T
modp.o add_mod_q T
modp.o assign_one T
modp.o exp_mod_q T
modp.o mod12521473 D
modp.o mod133121 D
modp.o mod16900097 D
modp.o mod184321 D
modp.o mod44802049 D
modp.o mod48181249 D
modp.o mul_add_mod_q T
modp.o mul_mod_q T
modp.o mul_mod_q_tag T
modp.o sub_mod_q T
modp.o to_int T
modp.o to_mod_q T
xof.o InitXOF T
xof.o KDF T
xof.o XOF T
xof.o generate_gaussian_noise T
xof.o get_random_field_element T
xof.o get_random_field_elements T

Number of similar (implementation,compiler) pairs: 6, namely:
ImplementationCompiler
T:optclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:optclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:optclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:optgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:optgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:optgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)

Namespace violations


LimaAPI.o Dec_CCA T
LimaAPI.o Dec_CPA T
LimaAPI.o Decap_CCA T
LimaAPI.o Decap_CPA T
LimaAPI.o Enc_CCA T
LimaAPI.o Enc_CPA T
LimaAPI.o Encap_CCA T
LimaAPI.o Encap_CPA T
LimaAPI.o Key_Generation T
fft.o bfft T
fft.o fft T
fft.o fft_inv T
fft.o fft_sub_1 T
fft.o fft_sub_2 T
fft.o inv_mod_q T
fft.o precompute_fft_data T
lima.o DecodeCT T
lima.o DecodePK T
lima.o DecodeSK T
lima.o Decode_Val T
lima.o EncodeCT T
lima.o EncodePK T
lima.o EncodeSK T
lima.o Encode_Val T
lima.o InitLima T
lima.o RandCheck T
lima.o increment_seed T
lima.o init_done B
lima.o lima_2p_1024 D
lima.o lima_2p_2048 D
lima.o lima_dec_cca T
lima.o lima_dec_cpa T
lima.o lima_decap_cca T
lima.o lima_decap_cpa T
lima.o lima_enc_cca T
lima.o lima_enc_cpa T
lima.o lima_enc_cpa_sub T
lima.o lima_encap_cca T
lima.o lima_encap_cpa T
lima.o lima_fft_2p_1024 B
lima.o lima_fft_2p_2048 B
lima.o lima_fft_sp_1018 B
lima.o lima_fft_sp_1306 B
lima.o lima_fft_sp_1822 B
lima.o lima_fft_sp_2062 B
lima.o lima_key_gen T
lima.o lima_sp_1018 D
lima.o lima_sp_1306 D
lima.o lima_sp_1822 D
lima.o lima_sp_2062 D
modp.o add_mod_q T
modp.o exp_mod_q T
modp.o mod12521473 D
modp.o mod133121 D
modp.o mod16900097 D
modp.o mod184321 D
modp.o mod44802049 D
modp.o mod48181249 D
modp.o mul_add_mod_q T
modp.o mul_mod_q T
modp.o sub_mod_q T
modp.o to_int T
modp.o to_mod_q T
xof.o InitXOF T
xof.o KDF T
xof.o XOF T
xof.o generate_gaussian_noise T
xof.o get_random_field_element T
xof.o get_random_field_elements T

Number of similar (implementation,compiler) pairs: 6, namely:
ImplementationCompiler
T:refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1))
T:refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0)