Implementation notes: amd64, hydra5, crypto_kem/lightsaber2

Computer: hydra5
Architecture: amd64
CPU ID: AuthenticAMD-00300f10-178bfbff
SUPERCOP version: 20191221
Operation: crypto_kem
Primitive: lightsaber2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
34919842603 0 059894 792 1624refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122220191221
35184575331 0 093790 792 1624refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122220191221
38863542603 0 059894 792 1624refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122220191221
39159575499 0 093982 792 1624refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122220191221
70382166416 0 086157 792 1656refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
92802813830 0 029396 784 1624refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122220191221
106979313768 0 030549 792 1656refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
125003213425 0 029181 784 1624refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
128444015926 0 033245 792 1656refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221

Compiler output

Implementation: avx2
Security model: unknown
Compiler: clang -march=native -O2 -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_4/toom-cook_4way.c:1:
SABER_indcpa.c: ././polymul/toom_cook_4/scm_avx.c:50:13: error: always_inline function '_mm256_mullo_epi16' requires target feature 'xsave', but would be inlined into function 'schoolbook_avx_new1' that is compiled without support for 'xsave'
SABER_indcpa.c: c_avx[0] = _mm256_mullo_epi16 (a[0], b[0]);
SABER_indcpa.c: ^
SABER_indcpa.c: ././polymul/toom_cook_4/scm_avx.c:51:13: error: always_inline function '_mm256_mullo_epi16' requires target feature 'xsave', but would be inlined into function 'schoolbook_avx_new1' that is compiled without support for 'xsave'
SABER_indcpa.c: c_avx[1] = _mm256_mullo_epi16 (a[0], b[1]);
SABER_indcpa.c: ^
SABER_indcpa.c: ././polymul/toom_cook_4/scm_avx.c:52:9: error: always_inline function '_mm256_mullo_epi16' requires target feature 'xsave', but would be inlined into function 'schoolbook_avx_new1' that is compiled without support for 'xsave'
SABER_indcpa.c: temp = _mm256_mullo_epi16 (a[1], b[0]);
SABER_indcpa.c: ^
SABER_indcpa.c: ././polymul/toom_cook_4/scm_avx.c:53:13: error: always_inline function '_mm256_add_epi16' requires target feature 'xsave', but would be inlined into function 'schoolbook_avx_new1' that is compiled without support for 'xsave'
SABER_indcpa.c: c_avx[1] = _mm256_add_epi16(c_avx[1], temp);
SABER_indcpa.c: ^
SABER_indcpa.c: ././polymul/toom_cook_4/scm_avx.c:54:13: error: always_inline function '_mm256_mullo_epi16' requires target feature 'xsave', but would be inlined into function 'schoolbook_avx_new1' that is compiled without support for 'xsave'
SABER_indcpa.c: c_avx[2] = _mm256_mullo_epi16 (a[0], b[2]);
SABER_indcpa.c: ^
SABER_indcpa.c: ././polymul/toom_cook_4/scm_avx.c:55:9: error: always_inline function '_mm256_mullo_epi16' requires target feature 'xsave', but would be inlined into function 'schoolbook_avx_new1' that is compiled without support for 'xsave'
SABER_indcpa.c: temp = _mm256_mullo_epi16 (a[1], b[1]);
SABER_indcpa.c: ^
SABER_indcpa.c: ././polymul/toom_cook_4/scm_avx.c:56:13: error: always_inline function '_mm256_add_epi16' requires target feature 'xsave', but would be inlined into function 'schoolbook_avx_new1' that is compiled without support for 'xsave'
SABER_indcpa.c: c_avx[2] = _mm256_add_epi16(c_avx[2], temp);
SABER_indcpa.c: ^
SABER_indcpa.c: ././polymul/toom_cook_4/scm_avx.c:57:9: error: always_inline function '_mm256_mullo_epi16' requires target feature 'xsave', but would be inlined into function 'schoolbook_avx_new1' that is compiled without support for 'xsave'
SABER_indcpa.c: temp = _mm256_mullo_epi16 (a[2], b[0]);
SABER_indcpa.c: ...

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

Compiler output

Implementation: avx2
Security model: unknown
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_4/toom-cook_4way.c:1:
SABER_indcpa.c: ././polymul/toom_cook_4/scm_avx.c:50:13: error: always_inline function '_mm256_mullo_epi16' requires target feature 'avx2', but would be inlined into function 'schoolbook_avx_new1' that is compiled without support for 'avx2'
SABER_indcpa.c: c_avx[0] = _mm256_mullo_epi16 (a[0], b[0]);
SABER_indcpa.c: ^
SABER_indcpa.c: ././polymul/toom_cook_4/scm_avx.c:51:13: error: always_inline function '_mm256_mullo_epi16' requires target feature 'avx2', but would be inlined into function 'schoolbook_avx_new1' that is compiled without support for 'avx2'
SABER_indcpa.c: c_avx[1] = _mm256_mullo_epi16 (a[0], b[1]);
SABER_indcpa.c: ^
SABER_indcpa.c: ././polymul/toom_cook_4/scm_avx.c:52:9: error: always_inline function '_mm256_mullo_epi16' requires target feature 'avx2', but would be inlined into function 'schoolbook_avx_new1' that is compiled without support for 'avx2'
SABER_indcpa.c: temp = _mm256_mullo_epi16 (a[1], b[0]);
SABER_indcpa.c: ^
SABER_indcpa.c: ././polymul/toom_cook_4/scm_avx.c:53:13: error: always_inline function '_mm256_add_epi16' requires target feature 'avx2', but would be inlined into function 'schoolbook_avx_new1' that is compiled without support for 'avx2'
SABER_indcpa.c: c_avx[1] = _mm256_add_epi16(c_avx[1], temp);
SABER_indcpa.c: ^
SABER_indcpa.c: ././polymul/toom_cook_4/scm_avx.c:54:13: error: always_inline function '_mm256_mullo_epi16' requires target feature 'avx2', but would be inlined into function 'schoolbook_avx_new1' that is compiled without support for 'avx2'
SABER_indcpa.c: c_avx[2] = _mm256_mullo_epi16 (a[0], b[2]);
SABER_indcpa.c: ^
SABER_indcpa.c: ././polymul/toom_cook_4/scm_avx.c:55:9: error: always_inline function '_mm256_mullo_epi16' requires target feature 'avx2', but would be inlined into function 'schoolbook_avx_new1' that is compiled without support for 'avx2'
SABER_indcpa.c: temp = _mm256_mullo_epi16 (a[1], b[1]);
SABER_indcpa.c: ^
SABER_indcpa.c: ././polymul/toom_cook_4/scm_avx.c:56:13: error: always_inline function '_mm256_add_epi16' requires target feature 'avx2', but would be inlined into function 'schoolbook_avx_new1' that is compiled without support for 'avx2'
SABER_indcpa.c: c_avx[2] = _mm256_add_epi16(c_avx[2], temp);
SABER_indcpa.c: ^
SABER_indcpa.c: ././polymul/toom_cook_4/scm_avx.c:57:9: error: always_inline function '_mm256_mullo_epi16' requires target feature 'avx2', but would be inlined into function 'schoolbook_avx_new1' that is compiled without support for 'avx2'
SABER_indcpa.c: temp = _mm256_mullo_epi16 (a[2], b[0]);
SABER_indcpa.c: ...

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

Compiler output

Implementation: avx2
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
SABER_indcpa.c: In file included from ./polymul/toom_cook_4/toom-cook_4way.c:1:0,
SABER_indcpa.c: from SABER_indcpa.c:8:
SABER_indcpa.c: ./polymul/toom_cook_4/scm_avx.c: In function 'schoolbook_avx_new1':
SABER_indcpa.c: ./polymul/toom_cook_4/scm_avx.c:50:11: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
SABER_indcpa.c: c_avx[0] = _mm256_mullo_epi16 (a[0], b[0]);
SABER_indcpa.c: ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
SABER_indcpa.c: from SABER_indcpa.h:4,
SABER_indcpa.c: from SABER_indcpa.c:4:
SABER_indcpa.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:1295:1: error: inlining failed in call to always_inline '_mm256_set_epi64x': target specific option mismatch
SABER_indcpa.c: _mm256_set_epi64x (long long __A, long long __B, long long __C,
SABER_indcpa.c: ^~~~~~~~~~~~~~~~~
SABER_indcpa.c: In file included from ./polymul/toom_cook_4/toom-cook_4way.c:1:0,
SABER_indcpa.c: from SABER_indcpa.c:8:
SABER_indcpa.c: ./polymul/toom_cook_4/scm_avx.c:535:24: note: called from here
SABER_indcpa.c: c_avx[2*SCM_SIZE-1] = _mm256_set_epi64x(0, 0, 0, 0);
SABER_indcpa.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
SABER_indcpa.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
SABER_indcpa.c: from SABER_indcpa.h:4,
SABER_indcpa.c: from SABER_indcpa.c:4:
SABER_indcpa.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:553:1: error: inlining failed in call to always_inline '_mm256_mullo_epi16': target specific option mismatch
SABER_indcpa.c: _mm256_mullo_epi16 (__m256i __A, __m256i __B)
SABER_indcpa.c: ^~~~~~~~~~~~~~~~~~
SABER_indcpa.c: In file included from ./polymul/toom_cook_4/toom-cook_4way.c:1:0,
SABER_indcpa.c: from SABER_indcpa.c:8:
SABER_indcpa.c: ...

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

Namespace violations

Implementation: ref
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
SABER_indcpa.o GenMatrix T
SABER_indcpa.o InnerProd T
SABER_indcpa.o MatrixVectorMul T
SABER_indcpa.o POL2MSG T
SABER_indcpa.o clock1 C
SABER_indcpa.o clock2 C
SABER_indcpa.o clock_cl_mv C
SABER_indcpa.o clock_cl_sm C
SABER_indcpa.o clock_kp_mv C
SABER_indcpa.o clock_kp_sm 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 karatsuba_simple T
SABER_indcpa.o pol_mul T
SABER_indcpa.o print_poly2 T
SABER_indcpa.o reduce T
SABER_indcpa.o toom_cook_4way 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
kem.o clock1 C
kem.o clock2 C
kem.o clock_cl_mv C
kem.o clock_cl_sm C
kem.o clock_kp_mv C
kem.o clock_kp_sm C
pack_unpack.o BS2POL T
pack_unpack.o BS2POLVEC T
pack_unpack.o BS2POLVECp T
pack_unpack.o BS2POLVECq T
pack_unpack.o POLVEC2BS T
pack_unpack.o POLVECp2BS T
pack_unpack.o POLVECq2BS T
pack_unpack.o SABER_pack_3bit T
pack_unpack.o SABER_pack_4bit T
pack_unpack.o SABER_pack_6bit T
pack_unpack.o SABER_un_pack3bit T
pack_unpack.o SABER_un_pack4bit T
pack_unpack.o SABER_un_pack6bit T
poly.o GenSecret T
verify.o cmov T
verify.o verify T

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE ref