Implementation notes: amd64, bolero, crypto_kem/limasp2062cca

Computer: bolero
Microarchitecture: amd64; Broadwell+AES (406f1)
Architecture: amd64
CPU ID: GenuineIntel-000406f1-1fc9cbf5
SUPERCOP version: 20240716
Operation: crypto_kem
Primitive: limasp2062cca
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1174400823959 1512 591620189749 2368 593224T:optclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072020240716
1178442825533 1524 591648190373 2376 593256T:optgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072020240716
1205433615989 1512 591620178021 2368 593192T:optclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072020240716
1221098825285 1512 591620191365 2368 593224T:optclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072020240716
1242433222813 1512 591620187373 2376 593192T:optclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072020240716
1263533619539 1524 591648182293 2376 593256T:optgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072020240716
1288644016469 1512 591620178935 2360 593288T:optclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072020240716
1295556417104 1524 591648179405 2376 593256T:optgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072020240716
1441201215489 1524 591648176629 2368 593224T:optgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072020240716
8083348024022 432 591364190053 1288 592936T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072020240716
8106353622840 432 591364188565 1288 592936T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072020240716
8165683221374 432 591364185869 1296 592936T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072020240716
9008772023276 424 591392188053 1272 593000T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072020240716
10016967215159 432 591364177575 1280 593000T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072020240716
10260429214133 432 591364176125 1288 592936T:refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024072020240716
11169287618385 424 591392181053 1272 593000T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072020240716
11412237616254 424 591392178477 1272 593000T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072020240716
11477247214706 424 591392175837 1264 592968T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024072020240716

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:        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:        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:        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:        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: 5, namely:
ImplementationCompiler
T:optclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:optclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:optclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:optclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:optclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

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/bolero/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: 8, namely:
ImplementationCompiler
T:optgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:optgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:optgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:optgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.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:        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:        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:      { 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:      { 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: 5, namely:
ImplementationCompiler
T:refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.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 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: 9, namely:
ImplementationCompiler
T:optclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:optclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:optclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:optclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:optclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:optgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:optgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:optgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:optgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.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: 9, namely:
ImplementationCompiler
T:refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)