Implementation notes: amd64, pmnod076, crypto_kem/ntskem1380

Computer: pmnod076
Architecture: amd64
CPU ID: GenuineIntel-00050657-bfebfbff
SUPERCOP version: 20191017
Operation: crypto_kem
Primitive: ntskem1380
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
92121299261 84 16129343 992 1640avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
96503681971 84 16109335 992 1640avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
96815283412 84 16110919 992 1640avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
97166690402 84 16120503 992 1640sse2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
102091075429 84 16102959 992 1640sse2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
104102275559 84 16102006 984 1608avx2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
108472274170 84 16101559 992 1640sse2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
117910669495 84 1695974 984 1608sse2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
157309696686 84 16128343 992 1640optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
1580346184648 108 16218677 1048 1608opticc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102420191017
1581256184648 108 16218677 1048 1608opticc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102420191017
1583492184648 108 16218677 1048 1608opticc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102420191017
1587044162672 108 16197909 1048 1640opticc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer2019102420191017
1589770161968 108 16196565 1048 1640opticc_-march=skylake-avx512_-mtune=skylake-avx512_-O3_-fomit-frame-pointer2019102420191017
1596234184648 108 16218677 1048 1608opticc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102420191017
1600602175120 108 16210005 1048 1640opticc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer2019102420191017
160429269101 84 1698271 992 1640optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
1616974155544 108 16189941 1048 1608opticc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102420191017
1620582155544 108 16189941 1048 1608opticc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102420191017
1626380155560 108 16189957 1048 1608opticc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102420191017
1627718155560 108 16189957 1048 1608opticc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102420191017
1635014149016 108 16183693 1048 1640opticc_-march=skylake-avx512_-mtune=skylake-avx512_-O2_-fomit-frame-pointer2019102420191017
1681158144640 108 16177437 1048 1608opticc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102420191017
1686532144032 108 16178077 1048 1608opticc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102420191017
1689036147080 108 16179933 1048 1608opticc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102420191017
1689532144032 108 16178077 1048 1608opticc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102420191017
169161867703 84 1696631 992 1640optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
1695186144032 108 16178077 1048 1608opticc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102420191017
1696360144032 108 16178077 1048 1608opticc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102420191017
1712774146144 108 16180221 1048 1608opticc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102420191017
1713260146144 108 16180221 1048 1608opticc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102420191017
1720498146144 108 16180221 1048 1608opticc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102420191017
1723648146144 108 16180221 1048 1608opticc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102420191017
180841063231 84 1691142 984 1608optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
12083412104040 100 16139269 1016 1640reficc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer2019102420191017
12145520103152 100 16137573 1016 1608reficc_-march=broadwell_-mtune=broadwell_-O2_-fomit-frame-pointer2019102420191017
12211872130184 100 16164173 1016 1608reficc_-march=haswell_-mtune=haswell_-O3_-fomit-frame-pointer2019102420191017
12213582103152 100 16137573 1016 1608reficc_-march=skylake_-mtune=skylake_-O2_-fomit-frame-pointer2019102420191017
12222566130184 100 16164173 1016 1608reficc_-march=core-avx2_-mtune=core-avx2_-O3_-fomit-frame-pointer2019102420191017
1222364095200 100 16129901 1016 1640reficc_-march=skylake-avx512_-mtune=skylake-avx512_-O2_-fomit-frame-pointer2019102420191017
12251606130184 100 16164173 1016 1608reficc_-march=broadwell_-mtune=broadwell_-O3_-fomit-frame-pointer2019102420191017
12257608130184 100 16164173 1016 1608reficc_-march=skylake_-mtune=skylake_-O3_-fomit-frame-pointer2019102420191017
12261872103168 100 16137589 1016 1608reficc_-march=core-avx2_-mtune=core-avx2_-O2_-fomit-frame-pointer2019102420191017
12282582103168 100 16137589 1016 1608reficc_-march=haswell_-mtune=haswell_-O2_-fomit-frame-pointer2019102420191017
12375136115568 100 16150445 1016 1640reficc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer2019102420191017
12384028106896 100 16141453 1016 1640reficc_-march=skylake-avx512_-mtune=skylake-avx512_-O3_-fomit-frame-pointer2019102420191017
1253360089336 100 16122125 1016 1608reficc_-march=corei7_-mtune=corei7_-O2_-fomit-frame-pointer2019102420191017
1256812291704 100 16124549 1016 1608reficc_-march=corei7_-mtune=corei7_-O3_-fomit-frame-pointer2019102420191017
1257985690488 100 16124557 1016 1608reficc_-march=corei7-avx_-mtune=corei7-avx_-O3_-fomit-frame-pointer2019102420191017
1258424490488 100 16124557 1016 1608reficc_-march=ivybridge_-mtune=ivybridge_-O3_-fomit-frame-pointer2019102420191017
1259497690488 100 16124557 1016 1608reficc_-march=core-avx-i_-mtune=core-avx-i_-O3_-fomit-frame-pointer2019102420191017
1262243290488 100 16124557 1016 1608reficc_-march=sandybridge_-mtune=sandybridge_-O3_-fomit-frame-pointer2019102420191017
1262582887768 100 16121805 1016 1608reficc_-march=core-avx-i_-mtune=core-avx-i_-O2_-fomit-frame-pointer2019102420191017
1262670887768 100 16121805 1016 1608reficc_-march=corei7-avx_-mtune=corei7-avx_-O2_-fomit-frame-pointer2019102420191017
1264431887768 100 16121805 1016 1608reficc_-march=ivybridge_-mtune=ivybridge_-O2_-fomit-frame-pointer2019102420191017
1267708435823 76 1667631 960 1640refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
1268874024855 76 1653991 960 1640refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
1269675087768 100 16121805 1016 1608reficc_-march=sandybridge_-mtune=sandybridge_-O2_-fomit-frame-pointer2019102420191017
1300046423301 76 1652215 960 1640refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017
1564269419989 76 1647862 952 1608refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019102420191017

Test failure

Implementation: opt
Security model: unknown
Compiler: icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer opt
icc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer opt
icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer ref
icc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer ref

Compiler output

Implementation: avx2
Security model: unknown
Compiler: icc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer
nts_kem.c: nts_kem.c(717): error: expression must have integral type
nts_kem.c: v[i] = ~v[i];
nts_kem.c: ^
nts_kem.c:
nts_kem.c: compilation aborted for nts_kem.c (code 2)

Number of similar (compiler,implementation) pairs: 38, namely:
CompilerImplementations
icc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer avx2
icc -march=broadwell -mtune=broadwell -O3 -fomit-frame-pointer avx2
icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer avx2
icc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer avx2
icc -march=core-avx2 -mtune=core-avx2 -O2 -fomit-frame-pointer avx2
icc -march=core-avx2 -mtune=core-avx2 -O3 -fomit-frame-pointer avx2
icc -march=haswell -mtune=haswell -O2 -fomit-frame-pointer avx2
icc -march=haswell -mtune=haswell -O3 -fomit-frame-pointer avx2
icc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer avx2
icc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer avx2
icc -march=skylake-avx512 -mtune=skylake-avx512 -O2 -fomit-frame-pointer avx2
icc -march=skylake-avx512 -mtune=skylake-avx512 -O3 -fomit-frame-pointer avx2
icc -march=skylake -mtune=skylake -O2 -fomit-frame-pointer avx2
icc -march=skylake -mtune=skylake -O3 -fomit-frame-pointer avx2
icc -march=broadwell -mtune=broadwell -O2 -fomit-frame-pointer sse2
icc -march=broadwell -mtune=broadwell -O3 -fomit-frame-pointer sse2
icc -march=cannonlake -mtune=cannonlake -O2 -fomit-frame-pointer sse2
icc -march=cannonlake -mtune=cannonlake -O3 -fomit-frame-pointer sse2
icc -march=core-avx-i -mtune=core-avx-i -O2 -fomit-frame-pointer sse2
icc -march=core-avx-i -mtune=core-avx-i -O3 -fomit-frame-pointer sse2
icc -march=core-avx2 -mtune=core-avx2 -O2 -fomit-frame-pointer sse2
icc -march=core-avx2 -mtune=core-avx2 -O3 -fomit-frame-pointer sse2
icc -march=corei7-avx -mtune=corei7-avx -O2 -fomit-frame-pointer sse2
icc -march=corei7-avx -mtune=corei7-avx -O3 -fomit-frame-pointer sse2
icc -march=corei7 -mtune=corei7 -O2 -fomit-frame-pointer sse2
icc -march=corei7 -mtune=corei7 -O3 -fomit-frame-pointer sse2
icc -march=haswell -mtune=haswell -O2 -fomit-frame-pointer sse2
icc -march=haswell -mtune=haswell -O3 -fomit-frame-pointer sse2
icc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer sse2
icc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer sse2
icc -march=ivybridge -mtune=ivybridge -O2 -fomit-frame-pointer sse2
icc -march=ivybridge -mtune=ivybridge -O3 -fomit-frame-pointer sse2
icc -march=sandybridge -mtune=sandybridge -O2 -fomit-frame-pointer sse2
icc -march=sandybridge -mtune=sandybridge -O3 -fomit-frame-pointer sse2
icc -march=skylake-avx512 -mtune=skylake-avx512 -O2 -fomit-frame-pointer sse2
icc -march=skylake-avx512 -mtune=skylake-avx512 -O3 -fomit-frame-pointer sse2
icc -march=skylake -mtune=skylake -O2 -fomit-frame-pointer sse2
icc -march=skylake -mtune=skylake -O3 -fomit-frame-pointer sse2

Compiler output

Implementation: avx2
Security model: unknown
Compiler: icc -march=core-avx-i -mtune=core-avx-i -O2 -fomit-frame-pointer
nts_kem.c: nts_kem.c(373): error: a value of type "union __m256i" cannot be assigned to an entity of type "vector"
nts_kem.c: Q[i][NTS_KEM_PARAM_R_VEC-1] = _mm256_setzero_si256();
nts_kem.c: ^
nts_kem.c:
nts_kem.c: nts_kem.c(409): error: a value of type "union __m256i" cannot be assigned to an entity of type "vector"
nts_kem.c: c_c[i] = _mm256_setzero_si256();
nts_kem.c: ^
nts_kem.c:
nts_kem.c: nts_kem.c(517): error: a value of type "union __m256i" cannot be used to initialize an entity of type "vector"
nts_kem.c: vector allones = _mm256_set1_epi64x(-1);
nts_kem.c: ^
nts_kem.c:
nts_kem.c: nts_kem.c(592): warning #167: argument of type "vector (*)[13]" is incompatible with parameter of type "__m256i (*)[13]"
nts_kem.c: bitslice_fft(evals, sigma);
nts_kem.c: ^
nts_kem.c:
nts_kem.c: nts_kem.c(608): warning #167: argument of type "vector *" is incompatible with parameter of type "const __m256i *"
nts_kem.c: error[i] = vector_ff_or(evals[i]);
nts_kem.c: ^
nts_kem.c:
nts_kem.c: nts_kem.c(608): error: a value of type "__m256i" cannot be assigned to an entity of type "vector"
nts_kem.c: error[i] = vector_ff_or(evals[i]);
nts_kem.c: ^
nts_kem.c:
nts_kem.c: nts_kem.c(609): error: argument of type "vector" is incompatible with parameter of type "union __m256i"
nts_kem.c: ...

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
icc -march=core-avx-i -mtune=core-avx-i -O2 -fomit-frame-pointer avx2
icc -march=core-avx-i -mtune=core-avx-i -O3 -fomit-frame-pointer avx2
icc -march=corei7-avx -mtune=corei7-avx -O2 -fomit-frame-pointer avx2
icc -march=corei7-avx -mtune=corei7-avx -O3 -fomit-frame-pointer avx2
icc -march=corei7 -mtune=corei7 -O2 -fomit-frame-pointer avx2
icc -march=corei7 -mtune=corei7 -O3 -fomit-frame-pointer avx2
icc -march=ivybridge -mtune=ivybridge -O2 -fomit-frame-pointer avx2
icc -march=ivybridge -mtune=ivybridge -O3 -fomit-frame-pointer avx2
icc -march=sandybridge -mtune=sandybridge -O2 -fomit-frame-pointer avx2
icc -march=sandybridge -mtune=sandybridge -O3 -fomit-frame-pointer avx2