Implementation notes: amd64, pmnod003, crypto_kem/titaniumccatoy

Computer: pmnod003
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20190910
Operation: crypto_kem
Primitive: titaniumccatoy
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
153887459038 0 0199225 848 1672avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
157518262024 0 0205556 880 1640avx2icc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091320190910
158413861664 0 0203519 888 1608avx2icc_-xSSE4.2_-O2_-fomit-frame-pointer2019091320190910
158615059184 0 0196873 848 1672avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
159520462896 0 0205961 888 1608avx2icc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091320190910
159642861824 0 0203771 888 1608avx2icc_-xSSE4.1_-O2_-fomit-frame-pointer2019091320190910
161833661632 0 0203511 888 1608avx2icc_-xSSE4.2_-O3_-fomit-frame-pointer2019091320190910
162136661776 0 0203827 888 1608avx2icc_-xSSE4.1_-O3_-fomit-frame-pointer2019091320190910
166085659156 0 0196681 848 1672avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
168469463112 0 0206247 888 1608avx2icc_-xAVX_-O2_-fomit-frame-pointer2019091320190910
169017863112 0 0206247 888 1608avx2icc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2019091320190910
171769063032 0 0206167 888 1608avx2icc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091320190910
171779863032 0 0206167 888 1608avx2icc_-xAVX_-O3_-fomit-frame-pointer2019091320190910
173838062656 0 0206022 896 1640avx2icc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091320190910
209891461672 0 0205385 888 1640avx2icc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091320190910
210160650591 0 0190689 848 1672optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
212712462544 0 0205977 888 1608avx2icc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091320190910
229527435171 0 0173097 848 1672optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
233129048072 0 0191823 888 1640opticc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091320190910
233447050544 0 0194167 888 1640opticc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091320190910
236597662192 0 0206235 904 1640avx2icc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091320190910
238534848712 0 0192076 880 1608opticc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091320190910
240422253024 0 0195956 880 1608opticc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091320190910
241453044240 0 0186015 888 1608opticc_-xSSE4.2_-O2_-fomit-frame-pointer2019091320190910
242198244496 0 0186395 888 1608opticc_-xSSE4.1_-O2_-fomit-frame-pointer2019091320190910
244246043808 0 0186895 888 1608opticc_-xAVX_-O2_-fomit-frame-pointer2019091320190910
244549443808 0 0186895 888 1608opticc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2019091320190910
245496835259 0 0173017 848 1672optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
249360449464 0 0192567 888 1608opticc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091320190910
249985449464 0 0192567 888 1608opticc_-xAVX_-O3_-fomit-frame-pointer2019091320190910
249998050368 0 0192199 888 1608opticc_-xSSE4.2_-O3_-fomit-frame-pointer2019091320190910
250256250592 0 0192579 888 1608opticc_-xSSE4.1_-O3_-fomit-frame-pointer2019091320190910
254809261464 0 0204733 888 1640opticc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091320190910
256638460240 0 0204021 888 1640opticc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091320190910
12914207244448 0 0188202 896 1640reficc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091320190910
14954880845896 0 0189106 896 1640reficc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091320190910
16166994035732 0 0175977 848 1672refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
16308851024153 0 0161953 848 1672refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
18991267424306 0 0161937 848 1672refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
32400866837840 0 0179731 888 1608reficc_-xSSE4.1_-O3_-fomit-frame-pointer2019091320190910
32403051637144 0 0180135 888 1608reficc_-xAVX_-O3_-fomit-frame-pointer2019091320190910
32420495437144 0 0180135 888 1608reficc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091320190910
32427122638144 0 0179927 888 1608reficc_-xSSE4.2_-O3_-fomit-frame-pointer2019091320190910
36721407437440 0 0180793 888 1608reficc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091320190910
36986991037232 0 0180860 896 1640reficc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091320190910
38702842842856 0 0185809 888 1608reficc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091320190910
38856836039440 0 0183052 896 1640reficc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091320190910
44015954233664 0 0175499 888 1608reficc_-xSSE4.1_-O2_-fomit-frame-pointer2019091320190910
44379098433904 0 0175567 888 1608reficc_-xSSE4.2_-O2_-fomit-frame-pointer2019091320190910
44624204633432 0 0176407 888 1608reficc_-xAVX_-O2_-fomit-frame-pointer2019091320190910
44688849033432 0 0176407 888 1608reficc_-xCORE-AVX-I_-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_titaniumccatoy.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_titaniumccatoy.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_titaniumccatoy.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_titaniumccatoy.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_titaniumccatoy.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_titaniumccatoy.a(ntt.o): in function `ntt_butterfly_768_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_titaniumccatoy.a(ntt.o): in function `ntt_butterfly_1280_512':
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_titaniumccatoy.a(ntt.o): in function `ntt_butterfly_768_1024':
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_titaniumccatoy.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_titaniumccatoy.a(ntt.o): in function `ntt_butterfly_512_512_inv':
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: 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_titaniumccatoy.a(ntt.o): in function `ntt_butterfly_512_256':
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_titaniumccatoy.a(ntt.o): in function `ntt_butterfly_1024_1280':
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_titaniumccatoy.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_titaniumccatoy.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