Implementation notes: amd64, rumba7, crypto_kem/titaniumccalite

Computer: rumba7
Microarchitecture: amd64; Zen (800f11)
Architecture: amd64
CPU ID: AuthenticAMD-00800f11-178bfbff
SUPERCOP version: 20240625
Operation: crypto_kem
Primitive: titaniumccalite
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
296623869055 0 36230197 868 1760T:avx2clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
2970491119167 0 36283877 868 1760T:avx2clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
298230065260 0 36227383 860 1856T:avx2clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
299888369697 0 36234133 868 1760T:avx2clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
320019473388 0 64237211 828 1824T:avx2gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
322093871210 0 64233211 828 1824T:avx2gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
325833271573 0 64234243 828 1824T:avx2gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
358320937536 0 36199911 860 1856T:optclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
361402785831 0 36250293 868 1760T:optclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
364886968789 0 36232885 868 1760T:optclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
376725237493 0 36199245 868 1760T:optclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
377636755821 0 36219837 868 1760T:optclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
391572659967 0 64223739 828 1824T:optgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
406636041284 0 64204099 828 1824T:optgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
409315340344 0 64202499 828 1824T:optgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
29576191230017 0 36191693 868 1760T:refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
29614523956263 0 36220269 868 1760T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
29678743929814 0 36192071 860 1856T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
29695046982279 0 36247149 868 1760T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
29695411745734 0 36210237 868 1760T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
29809084844097 0 64207827 828 1824T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
29982233030581 0 64193283 828 1824T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
40168274430710 0 64192715 828 1824T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
81448881529267 0 64190203 820 1792T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625

Compiler output


encrypt.c: encrypt.c:64:8: error: always_inline function '_mm256_loadu_si256' requires target feature 'avx', but would be inlined into function 'crypto_encrypt_keypair' that is compiled without support for 'avx'
encrypt.c:                         u = _mm256_loadu_si256((__m256i *)(a[i] + j));
encrypt.c:                             ^
encrypt.c: encrypt.c:64:8: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
encrypt.c: encrypt.c:65:8: error: always_inline function '_mm256_loadu_si256' requires target feature 'avx', but would be inlined into function 'crypto_encrypt_keypair' that is compiled without support for 'avx'
encrypt.c:                         v = _mm256_loadu_si256((__m256i *)(s + j));
encrypt.c:                             ^
encrypt.c: encrypt.c:65:8: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
encrypt.c: encrypt.c:66:8: error: always_inline function '_mm256_mul_epu32' requires target feature 'avx2', but would be inlined into function 'crypto_encrypt_keypair' that is compiled without support for 'avx2'
encrypt.c:                         t = _mm256_mul_epu32(u, v);
encrypt.c:                             ^
encrypt.c: encrypt.c:66:8: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
encrypt.c: encrypt.c:67:4: error: always_inline function '_mm256_storeu_si256' requires target feature 'avx', but would be inlined into function 'crypto_encrypt_keypair' that is compiled without support for 'avx'
encrypt.c:                         _mm256_storeu_si256((__m256i *)(a[i] + j), t);
encrypt.c:                         ^
encrypt.c: encrypt.c:67:4: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
encrypt.c: encrypt.c:79:8: error: always_inline function '_mm256_loadu_si256' requires target feature 'avx', but would be inlined into function 'crypto_encrypt_keypair' that is compiled without support for 'avx'
encrypt.c:                         u = _mm256_loadu_si256((__m256i *)(a[i] + j));
encrypt.c:                             ^
encrypt.c: encrypt.c:79:8: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
encrypt.c: encrypt.c:80:8: error: always_inline function '_mm256_loadu_si256' requires target feature 'avx', but would be inlined into function 'crypto_encrypt_keypair' that is compiled without support for 'avx'
encrypt.c:                         v = _mm256_loadu_si256((__m256i *)(e[i] + j));
encrypt.c:                             ^
encrypt.c: encrypt.c:80:8: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
encrypt.c: encrypt.c:81:8: error: always_inline function '_mm256_add_epi64' requires target feature 'avx2', but would be inlined into function 'crypto_encrypt_keypair' that is compiled without support for 'avx2'
encrypt.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:avx2clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


try.c: /usr/bin/ld: libcrypto_kem_titaniumccalite.a(sampler.o): in function `sampler_zq':
try.c: .../supercop-data/rumba7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/titaniumccalite/avx2/work/sampler.c:160: undefined reference to `barrett_zq'
try.c: collect2: error: ld returned 1 exit status

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:avx2gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Compiler output


try.c: /usr/bin/ld: libcrypto_kem_titaniumccalite.a(encrypt.o): in function `crypto_encrypt_keypair':
try.c: .../supercop-data/rumba7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/titaniumccalite/opt/work/encrypt.c:56: undefined reference to `barrett_4q2'
try.c: /usr/bin/ld: .../supercop-data/rumba7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/titaniumccalite/opt/work/encrypt.c:64: undefined reference to `barrett_4q'
try.c: /usr/bin/ld: libcrypto_kem_titaniumccalite.a(encrypt.o): in function `crypto_encrypt':
try.c: .../supercop-data/rumba7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/titaniumccalite/opt/work/encrypt.c:146: undefined reference to `barrett_4q2'
try.c: /usr/bin/ld: .../supercop-data/rumba7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/titaniumccalite/opt/work/encrypt.c:156: undefined reference to `barrett_4q2'
try.c: /usr/bin/ld: libcrypto_kem_titaniumccalite.a(encrypt.o): in function `crypto_encrypt_open':
try.c: .../supercop-data/rumba7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/titaniumccalite/opt/work/encrypt.c:200: undefined reference to `barrett_4q2'
try.c: /usr/bin/ld: libcrypto_kem_titaniumccalite.a(ntt.o): in function `ntt_butterfly_1024_1536':
try.c: .../supercop-data/rumba7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/titaniumccalite/opt/work/ntt.c:342: undefined reference to `barrett_8q'
try.c: /usr/bin/ld: libcrypto_kem_titaniumccalite.a(ntt.o): in function `ntt_butterfly_1536_768':
try.c: .../supercop-data/rumba7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/titaniumccalite/opt/work/ntt.c:362: undefined reference to `barrett_16q'
try.c: /usr/bin/ld: libcrypto_kem_titaniumccalite.a(ntt.o): in function `ntt_butterfly_512_1280':
try.c: .../supercop-data/rumba7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/titaniumccalite/opt/work/ntt.c:375: undefined reference to `barrett_4q'
try.c: /usr/bin/ld: libcrypto_kem_titaniumccalite.a(ntt.o): in function `ntt_butterfly_1024_1280':
try.c: .../supercop-data/rumba7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/titaniumccalite/opt/work/ntt.c:392: undefined reference to `barrett_8q'
try.c: /usr/bin/ld: libcrypto_kem_titaniumccalite.a(ntt.o): in function `ntt_butterfly_1280_1280_inv':
try.c: .../supercop-data/rumba7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/titaniumccalite/opt/work/ntt.c:410: undefined reference to `barrett_16q'
try.c: /usr/bin/ld: libcrypto_kem_titaniumccalite.a(ntt.o): in function `ntt_butterfly_768_768_inv':
try.c: .../supercop-data/rumba7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/titaniumccalite/opt/work/ntt.c:426: undefined reference to `barrett_8q'
try.c: /usr/bin/ld: libcrypto_kem_titaniumccalite.a(ntt.o): in function `ntt_butterfly_512_768':
try.c: .../supercop-data/rumba7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/titaniumccalite/opt/work/ntt.c:439: undefined reference to `barrett_4q'
try.c: /usr/bin/ld: libcrypto_kem_titaniumccalite.a(ntt.o): in function `ntt_butterfly_768_256':
try.c: .../supercop-data/rumba7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/titaniumccalite/opt/work/ntt.c:447: undefined reference to `barrett_8q'
try.c: /usr/bin/ld: libcrypto_kem_titaniumccalite.a(ntt.o): in function `ntt_butterfly_1280_1536':
try.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:optgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)