Implementation notes: amd64, pmnod003, crypto_kem/titaniumccamed

Computer: pmnod003
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20190910
Operation: crypto_kem
Primitive: titaniumccamed
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
294740285838 0 0226089 848 1672avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
300897489544 0 0233124 880 1640avx2icc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091320190910
302496885424 0 0223129 848 1672avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
303618290240 0 0233273 888 1608avx2icc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091320190910
303743489056 0 0231019 888 1608avx2icc_-xSSE4.1_-O2_-fomit-frame-pointer2019091320190910
303751688880 0 0230703 888 1608avx2icc_-xSSE4.2_-O2_-fomit-frame-pointer2019091320190910
308815088832 0 0230695 888 1608avx2icc_-xSSE4.2_-O3_-fomit-frame-pointer2019091320190910
309997488992 0 0231011 888 1608avx2icc_-xSSE4.1_-O3_-fomit-frame-pointer2019091320190910
317910285367 0 0222937 848 1672avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
318870290808 0 0233943 888 1608avx2icc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2019091320190910
318991890808 0 0233943 888 1608avx2icc_-xAVX_-O2_-fomit-frame-pointer2019091320190910
325086889920 0 0233334 896 1640avx2icc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091320190910
325829490744 0 0233863 888 1608avx2icc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091320190910
326601890744 0 0233863 888 1608avx2icc_-xAVX_-O3_-fomit-frame-pointer2019091320190910
385582489176 0 0232889 888 1640avx2icc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091320190910
390269489872 0 0233353 888 1608avx2icc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091320190910
424991468688 0 0208809 848 1672optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
433978689440 0 0233483 904 1640avx2icc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091320190910
453294046782 0 0184681 848 1672optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
466745459856 0 0203623 888 1640opticc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091320190910
469306262456 0 0206079 888 1640opticc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091320190910
479111461000 0 0204380 880 1608opticc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091320190910
483571265424 0 0208372 880 1608opticc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091320190910
485747456552 0 0198327 888 1608opticc_-xSSE4.2_-O2_-fomit-frame-pointer2019091320190910
488330056824 0 0198771 888 1608opticc_-xSSE4.1_-O2_-fomit-frame-pointer2019091320190910
488501456104 0 0199207 888 1608opticc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2019091320190910
488540246915 0 0184697 848 1672optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
488761456104 0 0199207 888 1608opticc_-xAVX_-O2_-fomit-frame-pointer2019091320190910
496079861736 0 0204855 888 1608opticc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091320190910
498332262928 0 0204931 888 1608opticc_-xSSE4.1_-O3_-fomit-frame-pointer2019091320190910
499065261736 0 0204855 888 1608opticc_-xAVX_-O3_-fomit-frame-pointer2019091320190910
500710662672 0 0204551 888 1608opticc_-xSSE4.2_-O3_-fomit-frame-pointer2019091320190910
512043272240 0 0215541 888 1640opticc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091320190910
514601270936 0 0214749 888 1640opticc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091320190910
37382583253776 0 0197498 896 1640reficc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091320190910
42547414256208 0 0199418 896 1640reficc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091320190910
43957681251487 0 0191689 848 1672refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
44341400235656 0 0173449 848 1672refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
51036536435905 0 0173537 848 1672refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
97982494248360 0 0191383 888 1608reficc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091320190910
98004922248360 0 0191383 888 1608reficc_-xAVX_-O3_-fomit-frame-pointer2019091320190910
98115205449384 0 0191135 888 1608reficc_-xSSE4.2_-O3_-fomit-frame-pointer2019091320190910
98818614249112 0 0191003 888 1608reficc_-xSSE4.1_-O3_-fomit-frame-pointer2019091320190910
106428877048872 0 0192532 896 1640reficc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091320190910
107208055249704 0 0193073 888 1608reficc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091320190910
111736813851328 0 0194892 896 1640reficc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091320190910
111793110655312 0 0198217 888 1608reficc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091320190910
129318654045176 0 0186839 888 1608reficc_-xSSE4.2_-O2_-fomit-frame-pointer2019091320190910
129457925044936 0 0186771 888 1608reficc_-xSSE4.1_-O2_-fomit-frame-pointer2019091320190910
129562864044608 0 0187535 888 1608reficc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2019091320190910
129573453244608 0 0187535 888 1608reficc_-xAVX_-O2_-fomit-frame-pointer2019091320190910

Compiler output

Implementation: avx2
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
pack.c: pack.c: In function 'poly_decode':
pack.c: pack.c:65:6: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
pack.c: 65 | bb = b + (i / 8) * Q_BITS;
pack.c: | ^

Number of similar (compiler,implementation) pairs: 9, 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 -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE opt
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE opt
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE opt
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

Compiler output

Implementation: avx2
Security model: unknown
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE
pack.c: pack.c: In function 'poly_decode':
pack.c: pack.c:65:6: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
pack.c: 65 | bb = b + (i / 8) * Q_BITS;
pack.c: | ^
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: crypto_kem_titaniumccamed.a(sampler.o): in function `sampler_zq':
try.c: sampler.c:(.text+0x...): undefined reference to `load_24'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: sampler.c:(.text+0x...): undefined reference to `barrett_zq'
try.c: collect2: error: ld returned 1 exit status

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

Compiler output

Implementation: avx2
Security model: unknown
Compiler: icc -xAVX -O2 -fomit-frame-pointer
pack.c: pack.c(65): warning #2332: a value of type "const unsigned char *" cannot be assigned to an entity of type "unsigned char *" (dropping qualifiers)
pack.c: bb = b + (i / 8) * Q_BITS;
pack.c: ^
pack.c:

Number of similar (compiler,implementation) pairs: 42, namely:
CompilerImplementations
icc -xAVX -O2 -fomit-frame-pointer avx2
icc -xAVX -O3 -fomit-frame-pointer avx2
icc -xCOMMON-AVX512 -O2 -fomit-frame-pointer avx2
icc -xCOMMON-AVX512 -O3 -fomit-frame-pointer avx2
icc -xCORE-AVX-I -O2 -fomit-frame-pointer avx2
icc -xCORE-AVX-I -O3 -fomit-frame-pointer avx2
icc -xCORE-AVX2 -O2 -fomit-frame-pointer avx2
icc -xCORE-AVX2 -O3 -fomit-frame-pointer avx2
icc -xCORE-AVX512 -O2 -fomit-frame-pointer avx2
icc -xCORE-AVX512 -O3 -fomit-frame-pointer avx2
icc -xSSE4.1 -O2 -fomit-frame-pointer avx2
icc -xSSE4.1 -O3 -fomit-frame-pointer avx2
icc -xSSE4.2 -O2 -fomit-frame-pointer avx2
icc -xSSE4.2 -O3 -fomit-frame-pointer avx2
icc -xAVX -O2 -fomit-frame-pointer opt
icc -xAVX -O3 -fomit-frame-pointer opt
icc -xCOMMON-AVX512 -O2 -fomit-frame-pointer opt
icc -xCOMMON-AVX512 -O3 -fomit-frame-pointer opt
icc -xCORE-AVX-I -O2 -fomit-frame-pointer opt
icc -xCORE-AVX-I -O3 -fomit-frame-pointer opt
icc -xCORE-AVX2 -O2 -fomit-frame-pointer opt
icc -xCORE-AVX2 -O3 -fomit-frame-pointer opt
icc -xCORE-AVX512 -O2 -fomit-frame-pointer opt
icc -xCORE-AVX512 -O3 -fomit-frame-pointer opt
icc -xSSE4.1 -O2 -fomit-frame-pointer opt
icc -xSSE4.1 -O3 -fomit-frame-pointer opt
icc -xSSE4.2 -O2 -fomit-frame-pointer opt
icc -xSSE4.2 -O3 -fomit-frame-pointer opt
icc -xAVX -O2 -fomit-frame-pointer ref
icc -xAVX -O3 -fomit-frame-pointer ref
icc -xCOMMON-AVX512 -O2 -fomit-frame-pointer ref
icc -xCOMMON-AVX512 -O3 -fomit-frame-pointer ref
icc -xCORE-AVX-I -O2 -fomit-frame-pointer ref
icc -xCORE-AVX-I -O3 -fomit-frame-pointer ref
icc -xCORE-AVX2 -O2 -fomit-frame-pointer ref
icc -xCORE-AVX2 -O3 -fomit-frame-pointer ref
icc -xCORE-AVX512 -O2 -fomit-frame-pointer ref
icc -xCORE-AVX512 -O3 -fomit-frame-pointer ref
icc -xSSE4.1 -O2 -fomit-frame-pointer ref
icc -xSSE4.1 -O3 -fomit-frame-pointer ref
icc -xSSE4.2 -O2 -fomit-frame-pointer ref
icc -xSSE4.2 -O3 -fomit-frame-pointer ref

Compiler output

Implementation: opt
Security model: unknown
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE
pack.c: pack.c: In function 'poly_decode':
pack.c: pack.c:65:6: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
pack.c: 65 | bb = b + (i / 8) * Q_BITS;
pack.c: | ^
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: crypto_kem_titaniumccamed.a(encrypt.o): in function `crypto_encrypt_keypair':
try.c: encrypt.c:(.text+0x...): undefined reference to `barrett_4q2'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: encrypt.c:(.text+0x...): undefined reference to `barrett_4q'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: crypto_kem_titaniumccamed.a(encrypt.o): in function `crypto_encrypt':
try.c: encrypt.c:(.text+0x...): undefined reference to `barrett_4q2'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: encrypt.c:(.text+0x...): undefined reference to `barrett_4q2'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: crypto_kem_titaniumccamed.a(encrypt.o): in function `crypto_encrypt_open':
try.c: encrypt.c:(.text+0x...): undefined reference to `barrett_4q2'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: crypto_kem_titaniumccamed.a(fastrandombytes.o): in function `fastrandombytes':
try.c: fastrandombytes.c:(.text+0x...): undefined reference to `load_32'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: fastrandombytes.c:(.text+0x...): undefined reference to `store_32'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: crypto_kem_titaniumccamed.a(ntt.o): in function `ntt_butterfly_1280_2048':
try.c: ntt.c:(.text+0x...): undefined reference to `barrett_16q'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: crypto_kem_titaniumccamed.a(ntt.o): in function `ntt_butterfly_2048_768':
try.c: ntt.c:(.text+0x...): undefined reference to `barrett_16q'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: crypto_kem_titaniumccamed.a(ntt.o): in function `ntt_butterfly_512_1792':
try.c: ntt.c:(.text+0x...): undefined reference to `barrett_4q'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: crypto_kem_titaniumccamed.a(ntt.o): in function `ntt_butterfly_1280_1792':
try.c: ntt.c:(.text+0x...): undefined reference to `barrett_16q'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: crypto_kem_titaniumccamed.a(ntt.o): in function `ntt_butterfly_1792_1792_inv':
try.c: ntt.c:(.text+0x...): undefined reference to `barrett_16q'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: crypto_kem_titaniumccamed.a(ntt.o): in function `ntt_butterfly_768_768_inv':
try.c: ntt.c:(.text+0x...): undefined reference to `barrett_8q'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: crypto_kem_titaniumccamed.a(ntt.o): in function `ntt_butterfly_512_768':
try.c: ntt.c:(.text+0x...): undefined reference to `barrett_4q'
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE opt

Compiler output

Implementation: ref
Security model: unknown
Compiler: gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE
pack.c: pack.c: In function 'poly_decode':
pack.c: pack.c:65:6: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
pack.c: 65 | bb = b + (i / 8) * Q_BITS;
pack.c: | ^
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: crypto_kem_titaniumccamed.a(fastrandombytes.o): in function `fastrandombytes':
try.c: fastrandombytes.c:(.text+0x...): undefined reference to `load_32'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: fastrandombytes.c:(.text+0x...): undefined reference to `store_32'
try.c: /software/compilers/gcc/gcc-9.2.0-full+isl+binutils/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: crypto_kem_titaniumccamed.a(sampler.o): in function `sampler_zq':
try.c: sampler.c:(.text+0x...): undefined reference to `load_24'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE ref