Implementation notes: amd64, rumba7, crypto_kem/titaniumccasuper

Computer: rumba7
Microarchitecture: amd64; Zen (800f11)
Architecture: amd64
CPU ID: AuthenticAMD-00800f11-178bfbff
SUPERCOP version: 20240625
Operation: crypto_kem
Primitive: titaniumccasuper
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
6396463152765 0 36316869 868 1760T:avx2clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
6396585154067 0 36318541 868 1760T:avx2clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
6500395149323 0 36310429 868 1760T:avx2clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
6564815145476 0 36307559 860 1856T:avx2clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
6734494147861 0 64309883 828 1824T:avx2gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
6816269156991 0 64320867 828 1824T:avx2gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
6825699148272 0 64310955 828 1824T:avx2gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
8375606126354 0 36290877 868 1760T:optclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
8403186107176 0 36271557 868 1760T:optclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
8667751105930 0 64269739 828 1824T:optgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
8699127104557 0 36268181 868 1760T:optclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
885804583526 0 36245967 860 1856T:optclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
900079182986 0 64245851 828 1824T:optgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
900888682664 0 36244405 868 1760T:optclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
926140482773 0 64244971 828 1824T:optgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
111811083655687 0 36217373 868 1760T:refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
112009981175089 0 36239069 868 1760T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
112309178493823 0 36258837 868 1760T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
112324929468086 0 36232749 868 1760T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
112675169356597 0 36218863 860 1856T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
112888724368285 0 64232035 828 1824T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
113454457756411 0 64219123 828 1824T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
146070633556343 0 64218339 828 1824T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
331163833055175 0 64216107 820 1792T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625

Compiler output


encrypt.c: encrypt.c:63: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:63:8: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
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:                         v = _mm256_loadu_si256((__m256i *)(s + 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_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:65:8: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
encrypt.c: encrypt.c:66: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:66:4: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
encrypt.c: encrypt.c:78: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:78:8: error: AVX vector return 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:                         v = _mm256_loadu_si256((__m256i *)(e[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_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_titaniumccasuper.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/titaniumccasuper/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_titaniumccasuper.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/titaniumccasuper/opt/work/encrypt.c:63: undefined reference to `barrett_4q'
try.c: /usr/bin/ld: libcrypto_kem_titaniumccasuper.a(ntt.o): in function `ntt_2':
try.c: .../supercop-data/rumba7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/titaniumccasuper/opt/work/ntt.c:725: undefined reference to `barrett_4q'
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/titaniumccasuper/opt/work/ntt.c:726: undefined reference to `barrett_4q'
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/titaniumccasuper/opt/work/ntt.c:737: undefined reference to `barrett_4q'
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/titaniumccasuper/opt/work/ntt.c:738: undefined reference to `montgomery'
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/titaniumccasuper/opt/work/ntt.c:756: undefined reference to `barrett_4q'
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/titaniumccasuper/opt/work/ntt.c:757: undefined reference to `barrett_4q'
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/titaniumccasuper/opt/work/ntt.c:762: undefined reference to `barrett_4q'
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/titaniumccasuper/opt/work/ntt.c:763: undefined reference to `montgomery'
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/titaniumccasuper/opt/work/ntt.c:773: undefined reference to `barrett_4q'
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/titaniumccasuper/opt/work/ntt.c:774: undefined reference to `barrett_4q'
try.c: /usr/bin/ld: libcrypto_kem_titaniumccasuper.a(ntt.o): in function `ntt_core':
try.c: .../supercop-data/rumba7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/titaniumccasuper/opt/work/ntt.c:802: undefined reference to `montgomery'
try.c: /usr/bin/ld: libcrypto_kem_titaniumccasuper.a(ntt.o): in function `intt_core':
try.c: .../supercop-data/rumba7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/titaniumccasuper/opt/work/ntt.c:830: undefined reference to `montgomery'
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/titaniumccasuper/opt/work/ntt.c:842: undefined reference to `montgomery'
try.c: /usr/bin/ld: libcrypto_kem_titaniumccasuper.a(ntt.o): in function `ntt_butterfly_2048_3328':
try.c: .../supercop-data/rumba7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/titaniumccasuper/opt/work/ntt.c:860: undefined reference to `barrett_16q'
try.c: /usr/bin/ld: libcrypto_kem_titaniumccasuper.a(ntt.o): in function `ntt_butterfly_3328_1280':
try.c: .../supercop-data/rumba7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/titaniumccasuper/opt/work/ntt.c:894: undefined reference to `barrett_32q'
try.c: /usr/bin/ld: libcrypto_kem_titaniumccasuper.a(ntt.o): in function `ntt_butterfly_2048_3072':
try.c: .../supercop-data/rumba7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_kem/titaniumccasuper/opt/work/ntt.c:916: undefined reference to `barrett_4q'
try.c: /usr/bin/ld: libcrypto_kem_titaniumccasuper.a(ntt.o): in function `ntt_butterfly_3072_3072_inv':
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)