Implementation notes: amd64, cubi10, crypto_kem/saberx4
Computer: cubi10
Microarchitecture: amd64; Comet Lake (806ec)
Architecture: amd64
CPU ID: GenuineIntel-000806ec-bfebfbff
SUPERCOP version: 20240808
Operation: crypto_kem
Primitive: saberx4
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
476950 | 206245 0 0 | 325120 788 1752 | T:avx2 | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240728 | 20240716 |
Checksum failure
c90ec91053a8d4273fa2983ff1dbf75c86589da4954baad9e201a9370a6fe288
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:avx2 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:avx2 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:avx2 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:avx2 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
Checksum failure
28595c9f9cc355fd78036c2cf875713901c7515e6549ef17af2f1bebeb5cac1f
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:avx2 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
Checksum failure
138e8b8c0a9ee5e0ed77ce6f6074f0999dbf9b3ee01acea9ec478d85eafa7a44
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:avx2 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
Compiler output
kem.c: In file included from kem.c:13:
kem.c: ./kem4x.c:63:7: warning: unused variable 'i' [-Wunused-variable]
kem.c: int i;
kem.c: ^
kem.c: 1 warning generated.
kem4x.c: kem4x.c:63:7: warning: unused variable 'i' [-Wunused-variable]
kem4x.c: int i;
kem4x.c: ^
kem4x.c: 1 warning generated.
Number of similar (implementation,compiler) pairs: 3, namely:
Implementation | Compiler |
T:avx2 | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:avx2 | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:avx2 | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
Compiler output
kem.c: In file included from kem.c:13:
kem.c: ./kem4x.c:63:7: warning: unused variable 'i' [-Wunused-variable]
kem.c: int i;
kem.c: ^
kem.c: 1 warning generated.
kem4x.c: kem4x.c:63:7: warning: unused variable 'i' [-Wunused-variable]
kem4x.c: int i;
kem4x.c: ^
kem4x.c: 1 warning generated.
try.c: /usr/bin/ld: libcrypto_kem_saberx4.a(SABER_indcpa.o): in function `schoolbook_avx_new3_acc':
try.c: .../supercop-data/cubi10/amd64/try/c/clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/saberx4/avx2/work/././polymul/scm_avx.c:40: undefined reference to `mul_add'
try.c: /usr/bin/ld: .../supercop-data/cubi10/amd64/try/c/clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/saberx4/avx2/work/././polymul/scm_avx.c:44: undefined reference to `mul_add'
try.c: /usr/bin/ld: .../supercop-data/cubi10/amd64/try/c/clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/saberx4/avx2/work/././polymul/scm_avx.c:49: undefined reference to `mul_add'
try.c: /usr/bin/ld: .../supercop-data/cubi10/amd64/try/c/clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/saberx4/avx2/work/././polymul/scm_avx.c:50: undefined reference to `mul_add'
try.c: /usr/bin/ld: .../supercop-data/cubi10/amd64/try/c/clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/saberx4/avx2/work/././polymul/scm_avx.c:55: undefined reference to `mul_add'
try.c: /usr/bin/ld: libcrypto_kem_saberx4.a(SABER_indcpa.o):.../supercop-data/cubi10/amd64/try/c/clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/saberx4/avx2/work/././polymul/scm_avx.c:56: more undefined references to `mul_add' follow
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:avx2 | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
Compiler output
SABER_indcpa.c: In file included from SABER_indcpa.c:8:
SABER_indcpa.c: In file included from ././polymul/toom-cook_4way.c:6:
SABER_indcpa.c: ././polymul/scm_avx.c:40:13: warning: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI [-Wpsabi]
SABER_indcpa.c: c_avx[0] = mul_add(a0, b0, c_avx[0]);
SABER_indcpa.c: ^
SABER_indcpa.c: ././polymul/scm_avx.c:43:9: error: always_inline function '_mm256_mullo_epi16' requires target feature 'avx2', but would be inlined into function 'schoolbook_avx_new3_acc' that is compiled without support for 'avx2'
SABER_indcpa.c: temp = _mm256_mullo_epi16 (a0, b1);
SABER_indcpa.c: ^
SABER_indcpa.c: ././polymul/scm_avx.c:43:9: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
SABER_indcpa.c: ././polymul/scm_avx.c:44:7: warning: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI [-Wpsabi]
SABER_indcpa.c: temp=mul_add(a1, b0, temp);
SABER_indcpa.c: ^
SABER_indcpa.c: ././polymul/scm_avx.c:45:13: error: always_inline function '_mm256_add_epi16' requires target feature 'avx2', but would be inlined into function 'schoolbook_avx_new3_acc' that is compiled without support for 'avx2'
SABER_indcpa.c: c_avx[1] = _mm256_add_epi16(temp, c_avx[1]);
SABER_indcpa.c: ^
SABER_indcpa.c: ././polymul/scm_avx.c:45:13: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
SABER_indcpa.c: ././polymul/scm_avx.c:48:9: error: always_inline function '_mm256_mullo_epi16' requires target feature 'avx2', but would be inlined into function 'schoolbook_avx_new3_acc' that is compiled without support for 'avx2'
SABER_indcpa.c: temp = _mm256_mullo_epi16 (a0, b2);
SABER_indcpa.c: ^
SABER_indcpa.c: ././polymul/scm_avx.c:48:9: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
SABER_indcpa.c: ././polymul/scm_avx.c:49:9: warning: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI [-Wpsabi]
SABER_indcpa.c: temp = mul_add(a1, b1, temp);
SABER_indcpa.c: ^
SABER_indcpa.c: ././polymul/scm_avx.c:50:7: warning: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI [-Wpsabi]
SABER_indcpa.c: temp=mul_add(a2, b0, temp);
SABER_indcpa.c: ...
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:avx2 | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
Compiler output
kem.c: In file included from kem.c:13:
kem.c: kem4x.c: In function 'crypto_kem_enc4x':
kem.c: kem4x.c:63:7: warning: unused variable 'i' [-Wunused-variable]
kem.c: 63 | int i;
kem.c: | ^
kem4x.c: kem4x.c: In function 'crypto_kem_enc4x':
kem4x.c: kem4x.c:63:7: warning: unused variable 'i' [-Wunused-variable]
kem4x.c: 63 | int i;
kem4x.c: | ^
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:avx2 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:avx2 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:avx2 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:avx2 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
Namespace violations
SABER_indcpa.o BS2POLq T
SABER_indcpa.o BS2POLq4x T
SABER_indcpa.o GenMatrix T
SABER_indcpa.o GenMatrix4x T
SABER_indcpa.o GenSecret T
SABER_indcpa.o GenSecret4x T
SABER_indcpa.o KARA_eval T
SABER_indcpa.o KARA_interpol T
SABER_indcpa.o POL2MSG T
SABER_indcpa.o TC_eval T
SABER_indcpa.o TC_interpol T
SABER_indcpa.o batch_64coefficient_multiplications_new T
SABER_indcpa.o indcpa_kem_dec T
SABER_indcpa.o indcpa_kem_enc T
SABER_indcpa.o indcpa_kem_keypair T
SABER_indcpa.o matrix_vector_mul T
SABER_indcpa.o schoolbook_avx_new2 T
SABER_indcpa.o schoolbook_avx_new3_acc T
SABER_indcpa.o toom_cook_4way_avx_n1 T
SABER_indcpa.o transpose_n1 T
SABER_indcpa.o vector_vector_mul T
cbd.o cbd 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 sha3_256 T
fips202.o sha3_512 T
fips202.o shake128 T
fips202x4.o sha3_256x4 T
fips202x4.o sha3_512x4 T
fips202x4.o shake128x4 T
fips202x4.o shake128x4_squeezeblocks T
fips202x4.o shake256x4 T
kem.o crypto_kem_dec4x T
kem.o crypto_kem_enc4x T
kem.o crypto_kem_keypair4x T
kem4x.o crypto_kem_dec4x T
kem4x.o crypto_kem_enc4x T
kem4x.o crypto_kem_keypair4x T
pack_unpack.o BS2POLVEC T
pack_unpack.o BS2POLVECX4 T
pack_unpack.o BS2POLVECp T
pack_unpack.o BS2POLVECpX4 T
pack_unpack.o BS2POLVECq T
pack_unpack.o BS2POLVECqX4 T
pack_unpack.o POLVEC2BS T
pack_unpack.o POLVEC2BSX4 T
pack_unpack.o POLVECp2BS T
pack_unpack.o POLVECp2BSX4 T
pack_unpack.o POLVECq2BS T
pack_unpack.o POLVECq2BSX4 T
pack_unpack.o SABER_pack10bit T
pack_unpack.o SABER_pack11bit T
pack_unpack.o SABER_pack13bit T
pack_unpack.o SABER_pack13bitX4 T
pack_unpack.o SABER_pack14bit T
pack_unpack.o SABER_pack_3bit T
pack_unpack.o SABER_pack_4bit T
pack_unpack.o SABER_pack_4bitX4 T
pack_unpack.o SABER_pack_6bit T
pack_unpack.o SABER_poly_un_pack13bit T
pack_unpack.o SABER_un_pack10bit T
pack_unpack.o SABER_un_pack11bit T
pack_unpack.o SABER_un_pack13bit T
pack_unpack.o SABER_un_pack14bit T
pack_unpack.o SABER_un_pack3bit T
pack_unpack.o SABER_un_pack4bit T
pack_unpack.o SABER_un_pack4bitX4 T
pack_unpack.o SABER_un_pack6bit T
pack_unpack.o avx_load_16bit_8bit T
pack_unpack.o avx_load_8bit_16bit T
pack_unpack.o avx_store_16bit_KN T
pack_unpack.o avx_store_8bit_bs T
pack_unpack.o old_BS2POLVECpX4 T
pack_unpack.o old_BS2POLVECqX4 T
pack_unpack.o old_POLVECp2BSX4 T
pack_unpack.o old_POLVECq2BSX4 T
poly.o poly_getnoise T
verify.o cmov T
verify.o verify T
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:avx2 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |