Implementation notes: amd64, r24000, crypto_kem/saberx4

Computer: r24000
Microarchitecture: amd64; Coffee Lake (906ea)
Architecture: amd64
CPU ID: GenuineIntel-000906ea-bfebfbff
SUPERCOP version: 20240107
Operation: crypto_kem
Primitive: saberx4
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
474414211847 32 0333287 860 3136T:avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011920240107

Checksum failure

Implementation: T:avx2
Security model: timingleaks
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
c90ec91053a8d4273fa2983ff1dbf75c86589da4954baad9e201a9370a6fe288
Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx2
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx2
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx2
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx2

Test failure

Implementation: T:avx2
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
error 111
*** stack smashing detected ***: terminated

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2

Compiler output

Implementation: T:avx2
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
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: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: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: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:51: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[2] = _mm256_add_epi16(temp, c_avx[2]);
SABER_indcpa.c: ^
SABER_indcpa.c: ././polymul/scm_avx.c:54: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, b3);
SABER_indcpa.c: ^
SABER_indcpa.c: ././polymul/scm_avx.c:58: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[3] = _mm256_add_epi16(temp, c_avx[3]);
SABER_indcpa.c: ^
SABER_indcpa.c: ././polymul/scm_avx.c:60: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, b4);
SABER_indcpa.c: ^
SABER_indcpa.c: ././polymul/scm_avx.c:65: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[4] = _mm256_add_epi16(temp, c_avx[4]);
SABER_indcpa.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:avx2

Namespace violations

Implementation: T:avx2
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
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 H1_avx C
SABER_indcpa.o H2_avx C
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 avx_epi32_01 C
SABER_indcpa.o avx_epi32_03 C
SABER_indcpa.o avx_epi32_07 C
SABER_indcpa.o avx_epi32_0f C
SABER_indcpa.o avx_epi32_1f C
SABER_indcpa.o avx_epi32_3f C
SABER_indcpa.o avx_epi32_7f C
SABER_indcpa.o avx_epi32_ff C
SABER_indcpa.o avx_epi64_01 C
SABER_indcpa.o avx_epi64_03 C
SABER_indcpa.o avx_epi64_07 C
SABER_indcpa.o avx_epi64_0f C
SABER_indcpa.o avx_epi64_1f C
SABER_indcpa.o avx_epi64_3f C
SABER_indcpa.o avx_epi64_7f C
SABER_indcpa.o avx_epi64_ff C
SABER_indcpa.o batch_64coefficient_multiplications_new T
SABER_indcpa.o clock1 C
SABER_indcpa.o clock2 C
SABER_indcpa.o clock_BS2POLVEC_E C
SABER_indcpa.o clock_BS2POLVEC_S C
SABER_indcpa.o clock_E C
SABER_indcpa.o clock_S C
SABER_indcpa.o clock_after_shift C
SABER_indcpa.o clock_after_store C
SABER_indcpa.o clock_after_temp_loop C
SABER_indcpa.o clock_arith C
SABER_indcpa.o clock_before_shift C
SABER_indcpa.o clock_before_store C
SABER_indcpa.o clock_before_temp_loop C
SABER_indcpa.o clock_bs2polq C
SABER_indcpa.o clock_bs2polqE C
SABER_indcpa.o clock_bs2polqS C
SABER_indcpa.o clock_inBS2POLq C
SABER_indcpa.o clock_load C
SABER_indcpa.o clock_matrix C
SABER_indcpa.o clock_mul C
SABER_indcpa.o clock_outBS2POLq C
SABER_indcpa.o clock_samp C
SABER_indcpa.o clock_secret C
SABER_indcpa.o count_mul C
SABER_indcpa.o floor_round C
SABER_indcpa.o indcpa_kem_dec T
SABER_indcpa.o indcpa_kem_enc T
SABER_indcpa.o indcpa_kem_keypair T
SABER_indcpa.o init_aux_avx T
SABER_indcpa.o int0_avx C
SABER_indcpa.o int30_avx C
SABER_indcpa.o int45_avx C
SABER_indcpa.o inv15_avx C
SABER_indcpa.o inv3_avx C
SABER_indcpa.o inv9_avx C
SABER_indcpa.o load_values T
SABER_indcpa.o mask C
SABER_indcpa.o mask_ar D
SABER_indcpa.o mask_load C
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 avx_epi32_01 C
kem.o avx_epi32_03 C
kem.o avx_epi32_07 C
kem.o avx_epi32_0f C
kem.o avx_epi32_1f C
kem.o avx_epi32_3f C
kem.o avx_epi32_7f C
kem.o avx_epi32_ff C
kem.o avx_epi64_01 C
kem.o avx_epi64_03 C
kem.o avx_epi64_07 C
kem.o avx_epi64_0f C
kem.o avx_epi64_1f C
kem.o avx_epi64_3f C
kem.o avx_epi64_7f C
kem.o avx_epi64_ff C
kem.o clock1 C
kem.o clock2 C
kem.o clock_BS2POLVEC_E C
kem.o clock_BS2POLVEC_S C
kem.o clock_E C
kem.o clock_S C
kem.o clock_after_shift C
kem.o clock_after_store C
kem.o clock_after_temp_loop C
kem.o clock_arith C
kem.o clock_before_shift C
kem.o clock_before_store C
kem.o clock_before_temp_loop C
kem.o clock_bs2polq C
kem.o clock_bs2polqE C
kem.o clock_bs2polqS C
kem.o clock_inBS2POLq C
kem.o clock_load C
kem.o clock_matrix C
kem.o clock_mul C
kem.o clock_outBS2POLq C
kem.o clock_samp C
kem.o clock_secret C
kem.o count_mul C
kem.o crypto_kem_dec4x T
kem.o crypto_kem_enc4x T
kem.o crypto_kem_keypair4x T
kem.o int0_avx C
kem.o int30_avx C
kem.o int45_avx C
kem.o inv15_avx C
kem.o inv3_avx C
kem.o inv9_avx C
kem.o mask C
kem4x.o avx_epi32_01 C
kem4x.o avx_epi32_03 C
kem4x.o avx_epi32_07 C
kem4x.o avx_epi32_0f C
kem4x.o avx_epi32_1f C
kem4x.o avx_epi32_3f C
kem4x.o avx_epi32_7f C
kem4x.o avx_epi32_ff C
kem4x.o avx_epi64_01 C
kem4x.o avx_epi64_03 C
kem4x.o avx_epi64_07 C
kem4x.o avx_epi64_0f C
kem4x.o avx_epi64_1f C
kem4x.o avx_epi64_3f C
kem4x.o avx_epi64_7f C
kem4x.o avx_epi64_ff C
kem4x.o clock1 C
kem4x.o clock2 C
kem4x.o clock_BS2POLVEC_E C
kem4x.o clock_BS2POLVEC_S C
kem4x.o clock_E C
kem4x.o clock_S C
kem4x.o clock_after_shift C
kem4x.o clock_after_store C
kem4x.o clock_after_temp_loop C
kem4x.o clock_arith C
kem4x.o clock_before_shift C
kem4x.o clock_before_store C
kem4x.o clock_before_temp_loop C
kem4x.o clock_bs2polq C
kem4x.o clock_bs2polqE C
kem4x.o clock_bs2polqS C
kem4x.o clock_inBS2POLq C
kem4x.o clock_load C
kem4x.o clock_matrix C
kem4x.o clock_mul C
kem4x.o clock_outBS2POLq C
kem4x.o clock_samp C
kem4x.o clock_secret C
kem4x.o count_mul C
kem4x.o crypto_kem_dec4x T
kem4x.o crypto_kem_enc4x T
kem4x.o crypto_kem_keypair4x T
kem4x.o int0_avx C
kem4x.o int30_avx C
kem4x.o int45_avx C
kem4x.o inv15_avx C
kem4x.o inv3_avx C
kem4x.o inv9_avx C
kem4x.o mask C
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 clock_matrix C
poly.o clock_mul C
poly.o clock_secret C
poly.o count_mul C
poly.o poly_getnoise T
verify.o cmov T
verify.o verify T

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:avx2