Implementation notes: amd64, scw1b63b1, crypto_kem/saber2

Computer: scw1b63b1
Architecture: amd64
CPU ID: GenuineIntel-000506f1-0f8bfbff
SUPERCOP version: 20191017
Operation: crypto_kem
Primitive: saber2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
52075431451 0 049084 800 1624refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122320191017
52463831307 0 048116 800 1624refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122320191017
52617431307 0 048116 800 1624refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122320191017
58367233892 0 051708 800 1624refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122320191017
153672412625 0 028606 792 1624refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122320191017
165901264334 0 083603 824 1656refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122320191017
201099812775 0 029883 824 1656refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122320191017
208294413777 0 031139 824 1656refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122320191017
227502812099 0 028107 816 1624refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122320191017

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: c_avx[4] = _mm256_mullo_epi16 (a[0], b[4]);
SABER_indcpa.c: ^
SABER_indcpa.c: ././polymul/toom_cook_4/scm_avx.c:67: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[3]);
SABER_indcpa.c: ^
SABER_indcpa.c: ././polymul/toom_cook_4/scm_avx.c:68: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[4] = _mm256_add_epi16(c_avx[4], temp);
SABER_indcpa.c: ^
SABER_indcpa.c: fatal error: too many errors emitted, stopping now [-ferror-limit=]
SABER_indcpa.c: 20 errors generated.

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 'sse4.2', but would be inlined into function 'schoolbook_avx_new1' that is compiled without support for 'sse4.2'
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 'sse4.2', but would be inlined into function 'schoolbook_avx_new1' that is compiled without support for 'sse4.2'
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 'sse4.2', but would be inlined into function 'schoolbook_avx_new1' that is compiled without support for 'sse4.2'
SABER_indcpa.c: temp = _mm256_mullo_epi16 (a[1], b[0]);
SABER_indcpa.c: ...
SABER_indcpa.c: c_avx[4] = _mm256_mullo_epi16 (a[0], b[4]);
SABER_indcpa.c: ^
SABER_indcpa.c: ././polymul/toom_cook_4/scm_avx.c:67:9: error: always_inline function '_mm256_mullo_epi16' requires target feature 'sse4.2', but would be inlined into function 'schoolbook_avx_new1' that is compiled without support for 'sse4.2'
SABER_indcpa.c: temp = _mm256_mullo_epi16 (a[1], b[3]);
SABER_indcpa.c: ^
SABER_indcpa.c: ././polymul/toom_cook_4/scm_avx.c:68:13: error: always_inline function '_mm256_add_epi16' requires target feature 'sse4.2', but would be inlined into function 'schoolbook_avx_new1' that is compiled without support for 'sse4.2'
SABER_indcpa.c: c_avx[4] = _mm256_add_epi16(c_avx[4], temp);
SABER_indcpa.c: ^
SABER_indcpa.c: fatal error: too many errors emitted, stopping now [-ferror-limit=]
SABER_indcpa.c: 20 errors generated.

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/6/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/6/include/avxintrin.h:1270:1: error: inlining failed in call to always_inline ‘_mm256_set_epi64x’: target specific option mismatch
SABER_indcpa.c: ...
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/6/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: ./polymul/toom_cook_4/scm_avx.c:50:13: note: called from here
SABER_indcpa.c: c_avx[0] = _mm256_mullo_epi16 (a[0], b[0]);
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