Implementation notes: amd64, pmnod003, crypto_kem/titaniumccahi

Computer: pmnod003
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20190910
Operation: crypto_kem
Primitive: titaniumccahi
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
3351272107838 0 0248065 848 1672avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
3454998107559 0 0245297 848 1672avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
3548398117256 0 0260788 880 1640avx2icc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091320190910
3558754117712 0 0260777 888 1608avx2icc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091320190910
3648880107605 0 0245225 848 1672avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
3660870117744 0 0259639 888 1608avx2icc_-xSSE4.2_-O3_-fomit-frame-pointer2019091320190910
3671938117888 0 0259955 888 1608avx2icc_-xSSE4.1_-O3_-fomit-frame-pointer2019091320190910
3686016117936 0 0259899 888 1608avx2icc_-xSSE4.1_-O2_-fomit-frame-pointer2019091320190910
3686960117792 0 0259647 888 1608avx2icc_-xSSE4.2_-O2_-fomit-frame-pointer2019091320190910
3687016119992 0 0263143 888 1608avx2icc_-xAVX_-O2_-fomit-frame-pointer2019091320190910
3765520119992 0 0263143 888 1608avx2icc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2019091320190910
3772188119896 0 0263063 888 1608avx2icc_-xAVX_-O3_-fomit-frame-pointer2019091320190910
3780370119896 0 0263063 888 1608avx2icc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091320190910
3800646117328 0 0260678 896 1640avx2icc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091320190910
4417182117120 0 0260601 888 1608avx2icc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091320190910
4426242116664 0 0260425 888 1640avx2icc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091320190910
456433072127 0 0212281 848 1672optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
4684330116624 0 0260651 904 1640avx2icc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091320190910
493728855662 0 0193601 848 1672optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
530470670440 0 0214143 888 1640opticc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091320190910
535142072904 0 0216543 888 1640opticc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091320190910
535472656478 0 0194257 848 1672optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
545606671384 0 0214748 880 1608opticc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091320190910
550842666584 0 0209671 888 1608opticc_-xAVX_-O2_-fomit-frame-pointer2019091320190910
551021667032 0 0208823 888 1608opticc_-xSSE4.2_-O2_-fomit-frame-pointer2019091320190910
551185266584 0 0209671 888 1608opticc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2019091320190910
552059067176 0 0209075 888 1608opticc_-xSSE4.1_-O2_-fomit-frame-pointer2019091320190910
554192675640 0 0218620 880 1608opticc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091320190910
560716672128 0 0215279 888 1608opticc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091320190910
566994072128 0 0215279 888 1608opticc_-xAVX_-O3_-fomit-frame-pointer2019091320190910
571411473192 0 0215195 888 1608opticc_-xSSE4.1_-O3_-fomit-frame-pointer2019091320190910
572152473080 0 0214943 888 1608opticc_-xSSE4.2_-O3_-fomit-frame-pointer2019091320190910
588423082464 0 0225749 888 1640opticc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091320190910
597153281152 0 0224949 888 1640opticc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091320190910
56785648263632 0 0207354 896 1640reficc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091320190910
64936215465552 0 0208762 896 1640reficc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091320190910
83181903052900 0 0193113 848 1672refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
83381689042818 0 0180641 848 1672refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
93511155043024 0 0180657 848 1672refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
151315009057456 0 0199239 888 1608reficc_-xSSE4.2_-O3_-fomit-frame-pointer2019091320190910
152209730656696 0 0199751 888 1608reficc_-xAVX_-O3_-fomit-frame-pointer2019091320190910
152239397256696 0 0199751 888 1608reficc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091320190910
152594438657184 0 0199107 888 1608reficc_-xSSE4.1_-O3_-fomit-frame-pointer2019091320190910
162380617057704 0 0201041 888 1608reficc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091320190910
164701426456896 0 0200540 896 1640reficc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091320190910
170560511658728 0 0202324 896 1640reficc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091320190910
170565910463416 0 0206305 888 1608reficc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091320190910
198637894853128 0 0194807 888 1608reficc_-xSSE4.2_-O2_-fomit-frame-pointer2019091320190910
198699805052856 0 0195831 888 1608reficc_-xAVX_-O2_-fomit-frame-pointer2019091320190910
198790830252856 0 0195831 888 1608reficc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2019091320190910
198829783652888 0 0194675 888 1608reficc_-xSSE4.1_-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:47:6: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
pack.c: 47 | bb = b + (i / 2) * Q_BITS_PACK;
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:47:6: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
pack.c: 47 | bb = b + (i / 2) * Q_BITS_PACK;
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_titaniumccahi.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(47): 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 / 2) * Q_BITS_PACK;
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:47:6: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
pack.c: 47 | bb = b + (i / 2) * Q_BITS_PACK;
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_titaniumccahi.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_titaniumccahi.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_titaniumccahi.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_titaniumccahi.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_titaniumccahi.a(ntt.o): in function `ntt_butterfly_1536_2560':
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_titaniumccahi.a(ntt.o): in function `ntt_butterfly_2560_1024':
try.c: ntt.c:(.text+0x...): undefined reference to `barrett_32q'
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_titaniumccahi.a(ntt.o): in function `ntt_butterfly_768_2304':
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_titaniumccahi.a(ntt.o): in function `ntt_butterfly_1536_2304':
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_titaniumccahi.a(ntt.o): in function `ntt_butterfly_2304_2304_inv':
try.c: ntt.c:(.text+0x...): undefined reference to `barrett_32q'
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_titaniumccahi.a(ntt.o): in function `ntt_butterfly_1024_1024_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_titaniumccahi.a(ntt.o): in function `ntt_butterfly_768_1024':
try.c: ntt.c:(.text+0x...): undefined reference to `barrett_8q'
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:47:6: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
pack.c: 47 | bb = b + (i / 2) * Q_BITS_PACK;
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_titaniumccahi.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_titaniumccahi.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