Implementation notes: amd64, intelnuci7, crypto_kem/ntruhps2048509

Computer: intelnuci7
Architecture: amd64
CPU ID: GenuineIntel-000806e9-bfebfbff
SUPERCOP version: 20191017
Operation: crypto_kem
Primitive: ntruhps2048509
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
90026108841 0 0166765 792 1608avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121220191017
10088697569 0 0152293 792 1608avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121220191017
11340697611 0 0152221 792 1608avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121220191017
13414895913 0 0149573 784 1576avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121220191017
192018237459 0 095228 792 1576refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121220191017
192477437459 0 095228 792 1576refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121220191017
194223853507 0 0111308 792 1576refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121220191017
204359443552 0 0100924 792 1576refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121220191017
22983747704 0 062186 784 1576refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121220191017
277818032857 0 091989 792 1608refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121220191017
28160948276 0 064173 792 1608refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121220191017
54682147976 0 063765 792 1608refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121220191017
59170827069 0 061877 784 1576refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121220191017

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:325:28: warning: implicit conversion from 'long' to 'int' changes value from 4294967295 to -1 [-Wconstant-conversion]
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:325:39: warning: implicit conversion from 'long' to 'int' changes value from 4294967295 to -1 [-Wconstant-conversion]
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:325:50: warning: implicit conversion from 'long' to 'int' changes value from 4294967295 to -1 [-Wconstant-conversion]
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:325:61: warning: implicit conversion from 'long' to 'int' changes value from 4294967295 to -1 [-Wconstant-conversion]
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:325:72: warning: implicit conversion from 'long' to 'int' changes value from 4294967295 to -1 [-Wconstant-conversion]
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:325:83: warning: implicit conversion from 'long' to 'int' changes value from 4294967295 to -1 [-Wconstant-conversion]
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:325:94: warning: implicit conversion from 'long' to 'int' changes value from 4294967295 to -1 [-Wconstant-conversion]
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:325:105: warning: implicit conversion from 'long' to 'int' changes value from 4294967295 to -1 [-Wconstant-conversion]
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:326:39: warning: implicit conversion from 'long' to 'int' changes value from 4294967295 to -1 [-Wconstant-conversion]
poly_s3_inv.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
poly_r2_inv.c: poly_r2_inv.c:21:14: error: always_inline function '_pext_u64' requires target feature 'bmi2', but would be inlined into function 'poly_R2_tobytes' that is compiled without support for 'bmi2'
poly_r2_inv.c: out[i] = _pext_u64(coeff_pointer[2*i], 0x1000100010001);
poly_r2_inv.c: ^
poly_r2_inv.c: poly_r2_inv.c:22:15: error: always_inline function '_pext_u64' requires target feature 'bmi2', but would be inlined into function 'poly_R2_tobytes' that is compiled without support for 'bmi2'
poly_r2_inv.c: out[i] |= _pext_u64(coeff_pointer[2*i+1], 0x1000100010001) << 4;
poly_r2_inv.c: ^
poly_r2_inv.c: poly_r2_inv.c:24:12: error: always_inline function '_pext_u64' requires target feature 'bmi2', but would be inlined into function 'poly_R2_tobytes' that is compiled without support for 'bmi2'
poly_r2_inv.c: out[i] = _pext_u64(coeff_pointer[2*63], 0x1000100010001);
poly_r2_inv.c: ^
poly_r2_inv.c: poly_r2_inv.c:25:13: error: always_inline function '_pext_u64' requires target feature 'bmi2', but would be inlined into function 'poly_R2_tobytes' that is compiled without support for 'bmi2'
poly_r2_inv.c: out[i] |= _pext_u64(coeff_pointer[2*63+1], 0x1) << 4;
poly_r2_inv.c: ^
poly_r2_inv.c: 4 errors generated.

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

Namespace violations

Implementation: avx2
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -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_Sq_mul T
poly.o poly_Z3_to_Zq T
poly.o poly_lift T
poly.o poly_trinary_Zq_to_Z3 T
poly_r2_inv.o poly_R2_frombytes T
poly_r2_inv.o poly_R2_inv T
poly_r2_inv.o poly_R2_tobytes T
poly_r2_mul.o poly_R2_mul T
poly_rq_mul.o poly_Rq_mul T
poly_rq_mul_x_minus_1.o poly_Rq_mul_x_minus_1 T
poly_rq_to_s3.o poly_Rq_to_S3 T
poly_s3_inv.o __poly_S3_inv T
poly_s3_inv.o poly_S3_inv T
poly_s3_mul.o poly_S3_mul T
sample.o sample_fg T
sample.o sample_fixed_type T
sample.o sample_iid T
sample.o sample_rm T
square_126_509_shufbytes.o square_126_509 T
square_15_509_shufbytes.o square_15_509 T
square_1_509_patience.o square_1_509 T
square_252_509_shufbytes.o square_252_509 T
square_30_509_shufbytes.o square_30_509 T
square_3_509_patience.o square_3_509 T
square_63_509_shufbytes.o square_63_509 T
square_6_509_patience.o square_6_509 T
verify.o cmov T
verify.o verify T

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