Implementation notes: amd64, scw1b63b1, crypto_kem/ntruhps2048677

Computer: scw1b63b1
Architecture: amd64
CPU ID: GenuineIntel-000506f1-0f8bfbff
SUPERCOP version: 20191017
Operation: crypto_kem
Primitive: ntruhps2048677
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
743548822716 0 097244 816 1608refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122320191017
74558727907 0 080492 816 1608refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122320191017
89261607404 0 079708 816 1608refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122320191017
92871527718 0 078907 784 1576refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122320191017
936153220804 0 092713 792 1576refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122320191017
936924220804 0 092713 792 1576refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122320191017
937701020916 0 093649 792 1576refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122320191017
94582866773 0 078004 808 1576refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122320191017
1060896624822 0 097689 792 1576refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019122320191017

Compiler output

Implementation: avx2
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
poly_s3_inv.c: poly_s3_inv.c:371:11: error: always_inline function '_mm256_set_epi32' requires target feature 'xsave', but would be inlined into function '__poly_S3_inv' that is compiled without support for 'xsave'
poly_s3_inv.c: F0[0] = _mm256_set_epi32(4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295);
poly_s3_inv.c: ^
poly_s3_inv.c: poly_s3_inv.c:372:11: error: always_inline function '_mm256_set_epi32' requires target feature 'xsave', but would be inlined into function '__poly_S3_inv' that is compiled without support for 'xsave'
poly_s3_inv.c: F0[1] = _mm256_set_epi32(4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295);
poly_s3_inv.c: ^
poly_s3_inv.c: poly_s3_inv.c:373:11: error: always_inline function '_mm256_set_epi32' requires target feature 'xsave', but would be inlined into function '__poly_S3_inv' that is compiled without support for 'xsave'
poly_s3_inv.c: F0[2] = _mm256_set_epi32(511,4294967295,511,4294967295,511,4294967295,1023,4294967295);
poly_s3_inv.c: ^
poly_s3_inv.c: poly_s3_inv.c:374:11: error: always_inline function '_mm256_set1_epi32' requires target feature 'xsave', but would be inlined into function '__poly_S3_inv' that is compiled without support for 'xsave'
poly_s3_inv.c: ...
poly_s3_inv.c: R0[2] = _mm256_set1_epi32(0);
poly_s3_inv.c: ^
poly_s3_inv.c: poly_s3_inv.c:390:11: error: always_inline function '_mm256_set1_epi32' requires target feature 'xsave', but would be inlined into function '__poly_S3_inv' that is compiled without support for 'xsave'
poly_s3_inv.c: R1[2] = _mm256_set1_epi32(0);
poly_s3_inv.c: ^
poly_s3_inv.c: poly_s3_inv.c:404:15: error: always_inline function '_mm256_set1_epi32' requires target feature 'xsave', but would be inlined into function '__poly_S3_inv' that is compiled without support for 'xsave'
poly_s3_inv.c: swapvec = _mm256_set1_epi32(swapmask);
poly_s3_inv.c: ^
poly_s3_inv.c: fatal error: too many errors emitted, stopping now [-ferror-limit=]
poly_s3_inv.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
poly_s3_inv.c: poly_s3_inv.c:371:11: error: always_inline function '_mm256_set_epi32' requires target feature 'sse4.2', but would be inlined into function '__poly_S3_inv' that is compiled without support for 'sse4.2'
poly_s3_inv.c: F0[0] = _mm256_set_epi32(4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295);
poly_s3_inv.c: ^
poly_s3_inv.c: poly_s3_inv.c:372:11: error: always_inline function '_mm256_set_epi32' requires target feature 'sse4.2', but would be inlined into function '__poly_S3_inv' that is compiled without support for 'sse4.2'
poly_s3_inv.c: F0[1] = _mm256_set_epi32(4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295);
poly_s3_inv.c: ^
poly_s3_inv.c: poly_s3_inv.c:373:11: error: always_inline function '_mm256_set_epi32' requires target feature 'sse4.2', but would be inlined into function '__poly_S3_inv' that is compiled without support for 'sse4.2'
poly_s3_inv.c: F0[2] = _mm256_set_epi32(511,4294967295,511,4294967295,511,4294967295,1023,4294967295);
poly_s3_inv.c: ^
poly_s3_inv.c: poly_s3_inv.c:374:11: error: always_inline function '_mm256_set1_epi32' requires target feature 'sse4.2', but would be inlined into function '__poly_S3_inv' that is compiled without support for 'sse4.2'
poly_s3_inv.c: ...
poly_s3_inv.c: R0[2] = _mm256_set1_epi32(0);
poly_s3_inv.c: ^
poly_s3_inv.c: poly_s3_inv.c:390:11: error: always_inline function '_mm256_set1_epi32' requires target feature 'sse4.2', but would be inlined into function '__poly_S3_inv' that is compiled without support for 'sse4.2'
poly_s3_inv.c: R1[2] = _mm256_set1_epi32(0);
poly_s3_inv.c: ^
poly_s3_inv.c: poly_s3_inv.c:404:15: error: always_inline function '_mm256_set1_epi32' requires target feature 'sse4.2', but would be inlined into function '__poly_S3_inv' that is compiled without support for 'sse4.2'
poly_s3_inv.c: swapvec = _mm256_set1_epi32(swapmask);
poly_s3_inv.c: ^
poly_s3_inv.c: fatal error: too many errors emitted, stopping now [-ferror-limit=]
poly_s3_inv.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
poly_s3_inv.c: poly_s3_inv.c: In function ‘__poly_S3_inv’:
poly_s3_inv.c: poly_s3_inv.c:371:9: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
poly_s3_inv.c: F0[0] = _mm256_set_epi32(4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295,4294967295);
poly_s3_inv.c: ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
poly_s3_inv.c: poly_s3_inv.c: In function ‘vec256_swap’:
poly_s3_inv.c: poly_s3_inv.c:187:20: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
poly_s3_inv.c: static inline void vec256_swap(vec256 *f,vec256 *g,int len,vec256 mask)
poly_s3_inv.c: ^~~~~~~~~~~
poly_s3_inv.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/6/include/immintrin.h:43:0,
poly_s3_inv.c: from poly_s3_inv.c:12:
poly_s3_inv.c: ...
poly_s3_inv.c: vec256 b1 = _mm256_loadu_si256((vec256 *) b); b += 32; /* 32,33,... */
poly_s3_inv.c: ^~
poly_s3_inv.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/6/include/immintrin.h:41:0,
poly_s3_inv.c: from poly_s3_inv.c:12:
poly_s3_inv.c: /usr/lib/gcc/x86_64-linux-gnu/6/include/avxintrin.h:894:1: error: inlining failed in call to always_inline ‘_mm256_loadu_si256’: target specific option mismatch
poly_s3_inv.c: _mm256_loadu_si256 (__m256i const *__P)
poly_s3_inv.c: ^~~~~~~~~~~~~~~~~~
poly_s3_inv.c: poly_s3_inv.c:39:12: note: called from here
poly_s3_inv.c: vec256 b0 = _mm256_loadu_si256((vec256 *) b); b += 32; /* 0,1,...,31 */
poly_s3_inv.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
owcpa.o owcpa_dec T
owcpa.o owcpa_enc T
owcpa.o owcpa_keypair T
owcpa.o owcpa_samplemsg T
pack3.o poly_S3_frombytes T
pack3.o poly_S3_tobytes T
packq.o poly_Rq_sum_zero_frombytes T
packq.o poly_Rq_sum_zero_tobytes T
packq.o poly_Sq_frombytes T
packq.o poly_Sq_tobytes T
poly.o mod3 T
poly.o poly_Rq_inv T
poly.o poly_Rq_mul T
poly.o poly_Rq_mul_x_minus_1 T
poly.o poly_Rq_to_S3 T
poly.o poly_S3_inv T
poly.o poly_S3_mul T
poly.o poly_Sq_mul T
poly.o poly_Z3_to_Zq T
poly.o poly_lift T
poly.o poly_trinary_Zq_to_Z3 T
sample.o sample_fg T
sample.o sample_fixed_type T
sample.o sample_iid T
sample.o sample_rm 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