Implementation notes: amd64, pmnod003, crypto_kem/titaniumccastd

Computer: pmnod003
Architecture: amd64
CPU ID: GenuineIntel-00050654-bfebfbff
SUPERCOP version: 20190910
Operation: crypto_kem
Primitive: titaniumccastd
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
233852687779 0 0228001 848 1672avx2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
237310296920 0 0238743 888 1608avx2icc_-xSSE4.2_-O2_-fomit-frame-pointer2019091320190910
237313497080 0 0239059 888 1608avx2icc_-xSSE4.1_-O2_-fomit-frame-pointer2019091320190910
239844485446 0 0223137 848 1672avx2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
240438498256 0 0241772 880 1640avx2icc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091320190910
242864898536 0 0241601 888 1608avx2icc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091320190910
244886897456 0 0239475 888 1608avx2icc_-xSSE4.1_-O3_-fomit-frame-pointer2019091320190910
246077897312 0 0239223 888 1608avx2icc_-xSSE4.2_-O3_-fomit-frame-pointer2019091320190910
249817485188 0 0222777 848 1672avx2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
252568699200 0 0242303 888 1608avx2icc_-xAVX_-O2_-fomit-frame-pointer2019091320190910
253061499200 0 0242303 888 1608avx2icc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2019091320190910
262176698328 0 0241662 896 1640avx2icc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091320190910
264398699648 0 0242831 888 1608avx2icc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091320190910
265632099648 0 0242831 888 1608avx2icc_-xAVX_-O3_-fomit-frame-pointer2019091320190910
314989097752 0 0241201 888 1608avx2icc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091320190910
316759897472 0 0241185 888 1640avx2icc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091320190910
338146074312 0 0214433 848 1672optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
339441497432 0 0241459 904 1640avx2icc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091320190910
353099250108 0 0188025 848 1672optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
355788664688 0 0208431 888 1640opticc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091320190910
357828667256 0 0210871 888 1640opticc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091320190910
372813465720 0 0209124 880 1608opticc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091320190910
372863670016 0 0212972 880 1608opticc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091320190910
375031261344 0 0203143 888 1608opticc_-xSSE4.2_-O2_-fomit-frame-pointer2019091320190910
375318849975 0 0187785 848 1672optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
376244061616 0 0203523 888 1608opticc_-xSSE4.1_-O2_-fomit-frame-pointer2019091320190910
380206860984 0 0204095 888 1608opticc_-xAVX_-O2_-fomit-frame-pointer2019091320190910
380485460984 0 0204095 888 1608opticc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2019091320190910
385904866600 0 0209727 888 1608opticc_-xAVX_-O3_-fomit-frame-pointer2019091320190910
385964266600 0 0209727 888 1608opticc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091320190910
387418467712 0 0209739 888 1608opticc_-xSSE4.1_-O3_-fomit-frame-pointer2019091320190910
387548667472 0 0209359 888 1608opticc_-xSSE4.2_-O3_-fomit-frame-pointer2019091320190910
392703875608 0 0219445 888 1640opticc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091320190910
398433876912 0 0220221 888 1640opticc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091320190910
32234953249584 0 0193338 896 1640reficc_-xCOMMON-AVX512_-O2_-fomit-frame-pointer2019091320190910
37723868852048 0 0195258 896 1640reficc_-xCOMMON-AVX512_-O3_-fomit-frame-pointer2019091320190910
37758285646991 0 0187273 848 1672refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
38122110232488 0 0170313 848 1672refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
44048266632625 0 0170265 848 1672refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091320190910
84695312644504 0 0186395 888 1608reficc_-xSSE4.1_-O3_-fomit-frame-pointer2019091320190910
84791060243744 0 0186751 888 1608reficc_-xAVX_-O3_-fomit-frame-pointer2019091320190910
84823467843744 0 0186751 888 1608reficc_-xCORE-AVX-I_-O3_-fomit-frame-pointer2019091320190910
84846608844792 0 0186527 888 1608reficc_-xSSE4.2_-O3_-fomit-frame-pointer2019091320190910
91455169244632 0 0188308 896 1640reficc_-xCORE-AVX512_-O2_-fomit-frame-pointer2019091320190910
91634158445304 0 0188593 888 1608reficc_-xCORE-AVX2_-O2_-fomit-frame-pointer2019091320190910
96060748647040 0 0190604 896 1640reficc_-xCORE-AVX512_-O3_-fomit-frame-pointer2019091320190910
96135557650928 0 0193801 888 1608reficc_-xCORE-AVX2_-O3_-fomit-frame-pointer2019091320190910
111199190840048 0 0183039 888 1608reficc_-xCORE-AVX-I_-O2_-fomit-frame-pointer2019091320190910
111423305240048 0 0183039 888 1608reficc_-xAVX_-O2_-fomit-frame-pointer2019091320190910
111760394040568 0 0182231 888 1608reficc_-xSSE4.2_-O2_-fomit-frame-pointer2019091320190910
111790834440312 0 0182099 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: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_titaniumccastd.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_titaniumccastd.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_titaniumccastd.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_titaniumccastd.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_titaniumccastd.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_titaniumccastd.a(ntt.o): in function `ntt_2':
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: 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_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: 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: 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_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: 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_titaniumccastd.a(ntt.o): in function `ntt_core':
try.c: ntt.c:(.text+0x...): undefined reference to `barrett_2q2'
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_titaniumccastd.a(ntt.o): in function `intt_core':
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_titaniumccastd.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_titaniumccastd.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