Implementation notes: amd64, pmnod003, crypto_kem/titaniumccalite

Computer: pmnod003
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20190910
Operation: crypto_kem
Primitive: titaniumccalite
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
199832070758 0 0211049 848 1672avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
205146072368 0 0214191 888 1608avx2icc_-xSSE4.2_-O2_-fomit-frame-pointer2019091320190910
205416872544 0 0214507 888 1608avx2icc_-xSSE4.1_-O2_-fomit-frame-pointer2019091320190910
205688472904 0 0216484 880 1640avx2icc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091320190910
206569670280 0 0208001 848 1672avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
207122873728 0 0216761 888 1608avx2icc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091320190910
209265872336 0 0214183 888 1608avx2icc_-xSSE4.2_-O3_-fomit-frame-pointer2019091320190910
209706872480 0 0214499 888 1608avx2icc_-xSSE4.1_-O3_-fomit-frame-pointer2019091320190910
217054474056 0 0217175 888 1608avx2icc_-xAVX_-O2_-fomit-frame-pointer2019091320190910
217548874056 0 0217175 888 1608avx2icc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2019091320190910
218521470238 0 0207817 848 1672avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
222153274040 0 0217159 888 1608avx2icc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091320190910
222202674040 0 0217159 888 1608avx2icc_-xAVX_-O3_-fomit-frame-pointer2019091320190910
224111473392 0 0216758 896 1640avx2icc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091320190910
267077272520 0 0216249 888 1640avx2icc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091320190910
267995073344 0 0216841 888 1608avx2icc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091320190910
286493659592 0 0199721 848 1672optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
294520672896 0 0216971 904 1640avx2icc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091320190910
308027239494 0 0177441 848 1672optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
316313851616 0 0195399 888 1640opticc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091320190910
318039453248 0 0196903 888 1640opticc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091320190910
322531853016 0 0196412 880 1608opticc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091320190910
325879455064 0 0198044 880 1608opticc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091320190910
329771848312 0 0190103 888 1608opticc_-xSSE4.2_-O2_-fomit-frame-pointer2019091320190910
331510848568 0 0190483 888 1608opticc_-xSSE4.1_-O2_-fomit-frame-pointer2019091320190910
333073839613 0 0177425 848 1672optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
333663447928 0 0191015 888 1608opticc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2019091320190910
333737447928 0 0191015 888 1608opticc_-xAVX_-O2_-fomit-frame-pointer2019091320190910
339572055800 0 0197803 888 1608opticc_-xSSE4.1_-O3_-fomit-frame-pointer2019091320190910
339606254512 0 0197631 888 1608opticc_-xAVX_-O3_-fomit-frame-pointer2019091320190910
339770055576 0 0197423 888 1608opticc_-xSSE4.2_-O3_-fomit-frame-pointer2019091320190910
339870254512 0 0197631 888 1608opticc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091320190910
348199864488 0 0207773 888 1640opticc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091320190910
350106663000 0 0206845 888 1640opticc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091320190910
24657318047056 0 0190778 896 1640reficc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091320190910
28200519449664 0 0192890 896 1640reficc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091320190910
29762751443615 0 0183817 848 1672refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
30047863029464 0 0167241 848 1672refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
34963715229698 0 0167329 848 1672refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
63032266442920 0 0184671 888 1608reficc_-xSSE4.2_-O3_-fomit-frame-pointer2019091320190910
63745882442040 0 0185095 888 1608reficc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091320190910
63795880242040 0 0185095 888 1608reficc_-xAVX_-O3_-fomit-frame-pointer2019091320190910
63835482642648 0 0184539 888 1608reficc_-xSSE4.1_-O3_-fomit-frame-pointer2019091320190910
70156393241704 0 0185364 896 1640reficc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091320190910
70269403042472 0 0185841 888 1608reficc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091320190910
73787711443232 0 0186828 896 1640reficc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091320190910
74741232245712 0 0188617 888 1608reficc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091320190910
84748023437608 0 0179287 888 1608reficc_-xSSE4.2_-O2_-fomit-frame-pointer2019091320190910
84878371037368 0 0179155 888 1608reficc_-xSSE4.1_-O2_-fomit-frame-pointer2019091320190910
85046007237368 0 0180359 888 1608reficc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2019091320190910
85165920837368 0 0180359 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:63:6: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
pack.c: 63 | 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:63:6: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
pack.c: 63 | 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_titaniumccalite.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(63): 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:63:6: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
pack.c: 63 | 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_titaniumccalite.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_titaniumccalite.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_titaniumccalite.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_titaniumccalite.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_titaniumccalite.a(ntt.o): in function `ntt_butterfly_1024_1536':
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_titaniumccalite.a(ntt.o): in function `ntt_butterfly_1536_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_titaniumccalite.a(ntt.o): in function `ntt_butterfly_512_1280':
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_titaniumccalite.a(ntt.o): in function `ntt_butterfly_1024_1280':
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_titaniumccalite.a(ntt.o): in function `ntt_butterfly_1280_1280_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_titaniumccalite.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_titaniumccalite.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:63:6: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
pack.c: 63 | 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_titaniumccalite.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_titaniumccalite.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