Implementation notes: x86, titan0, crypto_kem/titaniumccasuper

Computer: titan0
Architecture: x86
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20190803
Operation: crypto_kem
Primitive: titaniumccasuper

Compiler output

Implementation: crypto_kem/titaniumccasuper/avx2
Compiler: gcc -funroll-loops -m32 -O2 -fomit-frame-pointer
encrypt.c: encrypt.c: In function 'crypto_encrypt_keypair':
encrypt.c: encrypt.c:63:6: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
encrypt.c: u = _mm256_loadu_si256((__m256i *)(a[i] + j));
encrypt.c: ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
encrypt.c: from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:48,
encrypt.c: from encrypt.c:18:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:925:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
encrypt.c: _mm256_storeu_si256 (__m256i_u *__P, __m256i __A)
encrypt.c: ^~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:66:4: note: called from here
encrypt.c: _mm256_storeu_si256((__m256i *)(a[i] + j), t);
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
encrypt.c: from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:48,
encrypt.c: from encrypt.c:18:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:567:1: error: inlining failed in call to always_inline '_mm256_mul_epu32': target specific option mismatch
encrypt.c: _mm256_mul_epu32 (__m256i __A, __m256i __B)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:65:6: note: called from here
encrypt.c: t = _mm256_mul_epu32(u, v);
encrypt.c: ~~^~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
encrypt.c: from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:48,
encrypt.c: from encrypt.c:18:
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 156, namely:
CompilerImplementations
gcc -funroll-loops -m32 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer avx2
gcc -m32 -O2 -fomit-frame-pointer avx2
gcc -m32 -O3 -fomit-frame-pointer avx2
gcc -m32 -O -fomit-frame-pointer avx2
gcc -m32 -Os -fomit-frame-pointer avx2
gcc -m32 -march=athlon -O2 -fomit-frame-pointer avx2
gcc -m32 -march=athlon -O3 -fomit-frame-pointer avx2
gcc -m32 -march=athlon -O -fomit-frame-pointer avx2
gcc -m32 -march=athlon -Os -fomit-frame-pointer avx2
gcc -m32 -march=core2 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=core2 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=core2 -O -fomit-frame-pointer avx2
gcc -m32 -march=core2 -Os -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer avx2
gcc -m32 -march=corei7 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=corei7 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=corei7 -O -fomit-frame-pointer avx2
gcc -m32 -march=corei7 -Os -fomit-frame-pointer avx2
gcc -m32 -march=i386 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=i386 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=i386 -O -fomit-frame-pointer avx2
gcc -m32 -march=i386 -Os -fomit-frame-pointer avx2
gcc -m32 -march=i486 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=i486 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=i486 -O -fomit-frame-pointer avx2
gcc -m32 -march=i486 -Os -fomit-frame-pointer avx2
gcc -m32 -march=k6-2 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=k6-2 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=k6-2 -O -fomit-frame-pointer avx2
gcc -m32 -march=k6-2 -Os -fomit-frame-pointer avx2
gcc -m32 -march=k6-3 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=k6-3 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=k6-3 -O -fomit-frame-pointer avx2
gcc -m32 -march=k6-3 -Os -fomit-frame-pointer avx2
gcc -m32 -march=k6 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=k6 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=k6 -O -fomit-frame-pointer avx2
gcc -m32 -march=k6 -Os -fomit-frame-pointer avx2
gcc -m32 -march=k8 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=k8 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=k8 -O -fomit-frame-pointer avx2
gcc -m32 -march=k8 -Os -fomit-frame-pointer avx2
gcc -m32 -march=nocona -O2 -fomit-frame-pointer avx2
gcc -m32 -march=nocona -O3 -fomit-frame-pointer avx2
gcc -m32 -march=nocona -O -fomit-frame-pointer avx2
gcc -m32 -march=nocona -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentium-m -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentium-m -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentium-m -O -fomit-frame-pointer avx2
gcc -m32 -march=pentium-m -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentium-mmx -O -fomit-frame-pointer avx2
gcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentium2 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentium2 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentium2 -O -fomit-frame-pointer avx2
gcc -m32 -march=pentium2 -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentium3 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentium3 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentium3 -O -fomit-frame-pointer avx2
gcc -m32 -march=pentium3 -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentium4 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentium4 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentium4 -O -fomit-frame-pointer avx2
gcc -m32 -march=pentium4 -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentium -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentium -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentium -O -fomit-frame-pointer avx2
gcc -m32 -march=pentium -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentiumpro -O -fomit-frame-pointer avx2
gcc -m32 -march=pentiumpro -Os -fomit-frame-pointer avx2
gcc -m32 -march=prescott -O2 -fomit-frame-pointer avx2
gcc -m32 -march=prescott -O3 -fomit-frame-pointer avx2
gcc -m32 -march=prescott -O -fomit-frame-pointer avx2
gcc -m32 -march=prescott -Os -fomit-frame-pointer avx2

Compiler output

Implementation: crypto_kem/titaniumccasuper/opt
Compiler: gcc -funroll-loops -m32 -O2 -fomit-frame-pointer
pack.c: pack.c: In function 'poly_decode':
pack.c: pack.c:67:6: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
pack.c: bb = b + (i / 8) * Q_BITS;
pack.c: ^
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(SimpleFIPS202.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(SP800-185.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-times2-SIMD128.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-times4-on2.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-times8-on2.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakSpongeWidth1600.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-opt64.o)' is incompatible with i386 output
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 264, namely:
CompilerImplementations
gcc -funroll-loops -m32 -O2 -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -O3 -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -O -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer opt ref
gcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer opt ref
gcc -m32 -O2 -fomit-frame-pointer opt ref
gcc -m32 -O3 -fomit-frame-pointer opt ref
gcc -m32 -O -fomit-frame-pointer opt ref
gcc -m32 -march=athlon -O2 -fomit-frame-pointer opt ref
gcc -m32 -march=athlon -O3 -fomit-frame-pointer opt ref
gcc -m32 -march=athlon -O -fomit-frame-pointer opt ref
gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer opt ref
gcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer opt ref
gcc -m32 -march=core-avx-i -O -fomit-frame-pointer opt ref
gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer avx2 opt ref
gcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer avx2 opt ref
gcc -m32 -march=core-avx2 -O -fomit-frame-pointer avx2 opt ref
gcc -m32 -march=core2 -O2 -fomit-frame-pointer opt ref
gcc -m32 -march=core2 -O3 -fomit-frame-pointer opt ref
gcc -m32 -march=core2 -O -fomit-frame-pointer opt ref
gcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer opt ref
gcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer opt ref
gcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer opt ref
gcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer opt ref
gcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer opt ref
gcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer opt ref
gcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer opt ref
gcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer opt ref
gcc -m32 -march=corei7-avx -O -fomit-frame-pointer opt ref
gcc -m32 -march=corei7 -O2 -fomit-frame-pointer opt ref
gcc -m32 -march=corei7 -O3 -fomit-frame-pointer opt ref
gcc -m32 -march=corei7 -O -fomit-frame-pointer opt ref
gcc -m32 -march=i386 -O2 -fomit-frame-pointer opt ref
gcc -m32 -march=i386 -O3 -fomit-frame-pointer opt ref
gcc -m32 -march=i386 -O -fomit-frame-pointer opt ref
gcc -m32 -march=i486 -O2 -fomit-frame-pointer opt ref
gcc -m32 -march=i486 -O3 -fomit-frame-pointer opt ref
gcc -m32 -march=i486 -O -fomit-frame-pointer opt ref
gcc -m32 -march=k6-2 -O2 -fomit-frame-pointer opt ref
gcc -m32 -march=k6-2 -O3 -fomit-frame-pointer opt ref
gcc -m32 -march=k6-2 -O -fomit-frame-pointer opt ref
gcc -m32 -march=k6-3 -O2 -fomit-frame-pointer opt ref
gcc -m32 -march=k6-3 -O3 -fomit-frame-pointer opt ref
gcc -m32 -march=k6-3 -O -fomit-frame-pointer opt ref
gcc -m32 -march=k6 -O2 -fomit-frame-pointer opt ref
gcc -m32 -march=k6 -O3 -fomit-frame-pointer opt ref
gcc -m32 -march=k6 -O -fomit-frame-pointer opt ref
gcc -m32 -march=k8 -O2 -fomit-frame-pointer opt ref
gcc -m32 -march=k8 -O3 -fomit-frame-pointer opt ref
gcc -m32 -march=k8 -O -fomit-frame-pointer opt ref
gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer avx2 opt ref
gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer avx2 opt ref
gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer avx2 opt ref
gcc -m32 -march=nocona -O2 -fomit-frame-pointer opt ref
gcc -m32 -march=nocona -O3 -fomit-frame-pointer opt ref
gcc -m32 -march=nocona -O -fomit-frame-pointer opt ref
gcc -m32 -march=pentium-m -O2 -fomit-frame-pointer opt ref
gcc -m32 -march=pentium-m -O3 -fomit-frame-pointer opt ref
gcc -m32 -march=pentium-m -O -fomit-frame-pointer opt ref
gcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer opt ref
gcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer opt ref
gcc -m32 -march=pentium-mmx -O -fomit-frame-pointer opt ref
gcc -m32 -march=pentium2 -O2 -fomit-frame-pointer opt ref
gcc -m32 -march=pentium2 -O3 -fomit-frame-pointer opt ref
gcc -m32 -march=pentium2 -O -fomit-frame-pointer opt ref
gcc -m32 -march=pentium3 -O2 -fomit-frame-pointer opt ref
gcc -m32 -march=pentium3 -O3 -fomit-frame-pointer opt ref
gcc -m32 -march=pentium3 -O -fomit-frame-pointer opt ref
gcc -m32 -march=pentium4 -O2 -fomit-frame-pointer opt ref
gcc -m32 -march=pentium4 -O3 -fomit-frame-pointer opt ref
gcc -m32 -march=pentium4 -O -fomit-frame-pointer opt ref
gcc -m32 -march=pentium -O2 -fomit-frame-pointer opt ref
gcc -m32 -march=pentium -O3 -fomit-frame-pointer opt ref
gcc -m32 -march=pentium -O -fomit-frame-pointer opt ref
gcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer opt ref
gcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer opt ref
gcc -m32 -march=pentiumpro -O -fomit-frame-pointer opt ref
gcc -m32 -march=prescott -O2 -fomit-frame-pointer opt ref
gcc -m32 -march=prescott -O3 -fomit-frame-pointer opt ref
gcc -m32 -march=prescott -O -fomit-frame-pointer opt ref

Compiler output

Implementation: crypto_kem/titaniumccasuper/opt
Compiler: gcc -funroll-loops -m32 -Os -fomit-frame-pointer
pack.c: pack.c: In function 'poly_decode':
pack.c: pack.c:67:6: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
pack.c: bb = b + (i / 8) * Q_BITS;
pack.c: ^
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(SimpleFIPS202.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(SP800-185.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-times2-SIMD128.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-times4-on2.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-times8-on2.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakSpongeWidth1600.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-opt64.o)' is incompatible with i386 output
try.c: crypto_kem_titaniumccasuper.a(encrypt.o): In function `crypto_encrypt_keypair':
try.c: encrypt.c:(.text+0x...): undefined reference to `barrett_4q'
try.c: crypto_kem_titaniumccasuper.a(fastrandombytes.o): In function `fastrandombytes':
try.c: fastrandombytes.c:(.text+0x...): undefined reference to `load_32'
try.c: fastrandombytes.c:(.text+0x...): undefined reference to `store_32'
try.c: crypto_kem_titaniumccasuper.a(ntt.o): In function `ntt_2':
try.c: ntt.c:(.text+0x...): undefined reference to `barrett_4q'
try.c: ntt.c:(.text+0x...): undefined reference to `barrett_4q'
try.c: ntt.c:(.text+0x...): undefined reference to `barrett_4q'
try.c: ntt.c:(.text+0x...): undefined reference to `montgomery'
try.c: ntt.c:(.text+0x...): undefined reference to `barrett_4q'
try.c: ntt.c:(.text+0x...): undefined reference to `barrett_4q'
try.c: ntt.c:(.text+0x...): undefined reference to `barrett_4q'
try.c: ntt.c:(.text+0x...): undefined reference to `montgomery'
try.c: ntt.c:(.text+0x...): undefined reference to `barrett_4q'
try.c: ntt.c:(.text+0x...): undefined reference to `barrett_4q'
try.c: crypto_kem_titaniumccasuper.a(ntt.o): In function `ntt_core':
try.c: ntt.c:(.text+0x...): undefined reference to `montgomery'
try.c: ...

Number of similar (compiler,implementation) pairs: 43, namely:
CompilerImplementations
gcc -funroll-loops -m32 -Os -fomit-frame-pointer opt
gcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer opt
gcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer opt
gcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer opt
gcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer opt
gcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer opt
gcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer opt
gcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer opt
gcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer opt
gcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer opt
gcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer opt
gcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer opt
gcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer opt
gcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer opt
gcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer opt
gcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer opt
gcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer opt
gcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer opt
gcc -m32 -Os -fomit-frame-pointer opt
gcc -m32 -march=athlon -Os -fomit-frame-pointer opt
gcc -m32 -march=core-avx-i -Os -fomit-frame-pointer opt
gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer opt
gcc -m32 -march=core2 -Os -fomit-frame-pointer opt
gcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer opt
gcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer opt
gcc -m32 -march=corei7-avx -Os -fomit-frame-pointer opt
gcc -m32 -march=corei7 -Os -fomit-frame-pointer opt
gcc -m32 -march=i386 -Os -fomit-frame-pointer opt
gcc -m32 -march=i486 -Os -fomit-frame-pointer opt
gcc -m32 -march=k6-2 -Os -fomit-frame-pointer opt
gcc -m32 -march=k6-3 -Os -fomit-frame-pointer opt
gcc -m32 -march=k6 -Os -fomit-frame-pointer opt
gcc -m32 -march=k8 -Os -fomit-frame-pointer opt
gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer opt
gcc -m32 -march=nocona -Os -fomit-frame-pointer opt
gcc -m32 -march=pentium-m -Os -fomit-frame-pointer opt
gcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer opt
gcc -m32 -march=pentium2 -Os -fomit-frame-pointer opt
gcc -m32 -march=pentium3 -Os -fomit-frame-pointer opt
gcc -m32 -march=pentium4 -Os -fomit-frame-pointer opt
gcc -m32 -march=pentium -Os -fomit-frame-pointer opt
gcc -m32 -march=pentiumpro -Os -fomit-frame-pointer opt
gcc -m32 -march=prescott -Os -fomit-frame-pointer opt

Compiler output

Implementation: crypto_kem/titaniumccasuper/ref
Compiler: gcc -funroll-loops -m32 -Os -fomit-frame-pointer
pack.c: pack.c: In function 'poly_decode':
pack.c: pack.c:67:6: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
pack.c: bb = b + (i / 8) * Q_BITS;
pack.c: ^
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(SimpleFIPS202.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(SP800-185.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-times2-SIMD128.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-times4-on2.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-times8-on2.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakSpongeWidth1600.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-opt64.o)' is incompatible with i386 output
try.c: crypto_kem_titaniumccasuper.a(fastrandombytes.o): In function `fastrandombytes':
try.c: fastrandombytes.c:(.text+0x...): undefined reference to `load_32'
try.c: fastrandombytes.c:(.text+0x...): undefined reference to `store_32'
try.c: crypto_kem_titaniumccasuper.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: 43, namely:
CompilerImplementations
gcc -funroll-loops -m32 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer ref
gcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer ref
gcc -m32 -Os -fomit-frame-pointer ref
gcc -m32 -march=athlon -Os -fomit-frame-pointer ref
gcc -m32 -march=core-avx-i -Os -fomit-frame-pointer ref
gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer ref
gcc -m32 -march=core2 -Os -fomit-frame-pointer ref
gcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer ref
gcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer ref
gcc -m32 -march=corei7-avx -Os -fomit-frame-pointer ref
gcc -m32 -march=corei7 -Os -fomit-frame-pointer ref
gcc -m32 -march=i386 -Os -fomit-frame-pointer ref
gcc -m32 -march=i486 -Os -fomit-frame-pointer ref
gcc -m32 -march=k6-2 -Os -fomit-frame-pointer ref
gcc -m32 -march=k6-3 -Os -fomit-frame-pointer ref
gcc -m32 -march=k6 -Os -fomit-frame-pointer ref
gcc -m32 -march=k8 -Os -fomit-frame-pointer ref
gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer ref
gcc -m32 -march=nocona -Os -fomit-frame-pointer ref
gcc -m32 -march=pentium-m -Os -fomit-frame-pointer ref
gcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer ref
gcc -m32 -march=pentium2 -Os -fomit-frame-pointer ref
gcc -m32 -march=pentium3 -Os -fomit-frame-pointer ref
gcc -m32 -march=pentium4 -Os -fomit-frame-pointer ref
gcc -m32 -march=pentium -Os -fomit-frame-pointer ref
gcc -m32 -march=pentiumpro -Os -fomit-frame-pointer ref
gcc -m32 -march=prescott -Os -fomit-frame-pointer ref

Compiler output

Implementation: crypto_kem/titaniumccasuper/avx2
Compiler: gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
encrypt.c: encrypt.c: In function 'crypto_encrypt_keypair':
encrypt.c: encrypt.c:63:6: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
encrypt.c: u = _mm256_loadu_si256((__m256i *)(a[i] + j));
encrypt.c: ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
encrypt.c: from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:48,
encrypt.c: from encrypt.c:18:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:925:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
encrypt.c: _mm256_storeu_si256 (__m256i_u *__P, __m256i __A)
encrypt.c: ^~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:66:4: note: called from here
encrypt.c: _mm256_storeu_si256((__m256i *)(a[i] + j), t);
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
encrypt.c: from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:48,
encrypt.c: from encrypt.c:18:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:567:1: error: inlining failed in call to always_inline '_mm256_mul_epu32': target specific option mismatch
encrypt.c: _mm256_mul_epu32 (__m256i __A, __m256i __B)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:65:6: note: called from here
encrypt.c: t = _mm256_mul_epu32(u, v);
encrypt.c: ~~^~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
encrypt.c: from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:48,
encrypt.c: from encrypt.c:18:
encrypt.c: ...
encrypt.c: encrypt.c: In function 'crypto_encrypt_keypair':
encrypt.c: encrypt.c:63:6: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
encrypt.c: u = _mm256_loadu_si256((__m256i *)(a[i] + j));
encrypt.c: ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
encrypt.c: from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:48,
encrypt.c: from encrypt.c:18:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:925:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
encrypt.c: _mm256_storeu_si256 (__m256i_u *__P, __m256i __A)
encrypt.c: ^~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:66:4: note: called from here
encrypt.c: _mm256_storeu_si256((__m256i *)(a[i] + j), t);
encrypt.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
encrypt.c: from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:48,
encrypt.c: from encrypt.c:18:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:567:1: error: inlining failed in call to always_inline '_mm256_mul_epu32': target specific option mismatch
encrypt.c: _mm256_mul_epu32 (__m256i __A, __m256i __B)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:65:6: note: called from here
encrypt.c: t = _mm256_mul_epu32(u, v);
encrypt.c: ~~^~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
encrypt.c: from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:48,
encrypt.c: from encrypt.c:18:
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m32 -march=barcelona -O2 -fomit-frame-pointer avx2
gcc -m32 -march=barcelona -O3 -fomit-frame-pointer avx2
gcc -m32 -march=barcelona -O -fomit-frame-pointer avx2
gcc -m32 -march=barcelona -Os -fomit-frame-pointer avx2

Compiler output

Implementation: crypto_kem/titaniumccasuper/opt
Compiler: gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
pack.c: pack.c: In function 'poly_decode':
pack.c: pack.c:67:6: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
pack.c: bb = b + (i / 8) * Q_BITS;
pack.c: ^
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(SimpleFIPS202.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(SP800-185.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-times2-SIMD128.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-times4-on2.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-times8-on2.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakSpongeWidth1600.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-opt64.o)' is incompatible with i386 output
try.c: collect2: error: ld returned 1 exit status
pack.c: pack.c: In function 'poly_decode':
pack.c: pack.c:67:6: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
pack.c: bb = b + (i / 8) * Q_BITS;
pack.c: ^
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(SimpleFIPS202.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(SP800-185.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-times2-SIMD128.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-times4-on2.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-times8-on2.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakSpongeWidth1600.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-opt64.o)' is incompatible with i386 output
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -m32 -march=barcelona -O2 -fomit-frame-pointer opt ref
gcc -m32 -march=barcelona -O3 -fomit-frame-pointer opt ref
gcc -m32 -march=barcelona -O -fomit-frame-pointer opt ref

Compiler output

Implementation: crypto_kem/titaniumccasuper/opt
Compiler: gcc -m32 -march=barcelona -Os -fomit-frame-pointer
pack.c: pack.c: In function 'poly_decode':
pack.c: pack.c:67:6: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
pack.c: bb = b + (i / 8) * Q_BITS;
pack.c: ^
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(SimpleFIPS202.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(SP800-185.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-times2-SIMD128.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-times4-on2.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-times8-on2.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakSpongeWidth1600.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-opt64.o)' is incompatible with i386 output
try.c: crypto_kem_titaniumccasuper.a(encrypt.o): In function `crypto_encrypt_keypair':
try.c: encrypt.c:(.text+0x...): undefined reference to `barrett_4q'
try.c: crypto_kem_titaniumccasuper.a(fastrandombytes.o): In function `fastrandombytes':
try.c: fastrandombytes.c:(.text+0x...): undefined reference to `load_32'
try.c: fastrandombytes.c:(.text+0x...): undefined reference to `store_32'
try.c: crypto_kem_titaniumccasuper.a(ntt.o): In function `ntt_2':
try.c: ntt.c:(.text+0x...): undefined reference to `barrett_4q'
try.c: ntt.c:(.text+0x...): undefined reference to `barrett_4q'
try.c: ntt.c:(.text+0x...): undefined reference to `barrett_4q'
try.c: ntt.c:(.text+0x...): undefined reference to `montgomery'
try.c: ntt.c:(.text+0x...): undefined reference to `barrett_4q'
try.c: ntt.c:(.text+0x...): undefined reference to `barrett_4q'
try.c: ntt.c:(.text+0x...): undefined reference to `barrett_4q'
try.c: ntt.c:(.text+0x...): undefined reference to `montgomery'
try.c: ntt.c:(.text+0x...): undefined reference to `barrett_4q'
try.c: ntt.c:(.text+0x...): undefined reference to `barrett_4q'
try.c: crypto_kem_titaniumccasuper.a(ntt.o): In function `ntt_core':
try.c: ntt.c:(.text+0x...): undefined reference to `montgomery'
try.c: ...
pack.c: pack.c: In function 'poly_decode':
pack.c: pack.c:67:6: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
pack.c: bb = b + (i / 8) * Q_BITS;
pack.c: ^
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(SimpleFIPS202.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(SP800-185.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-times2-SIMD128.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-times4-on2.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-times8-on2.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakSpongeWidth1600.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-opt64.o)' is incompatible with i386 output
try.c: crypto_kem_titaniumccasuper.a(encrypt.o): In function `crypto_encrypt_keypair':
try.c: encrypt.c:(.text+0x...): undefined reference to `barrett_4q'
try.c: crypto_kem_titaniumccasuper.a(fastrandombytes.o): In function `fastrandombytes':
try.c: fastrandombytes.c:(.text+0x...): undefined reference to `load_32'
try.c: fastrandombytes.c:(.text+0x...): undefined reference to `store_32'
try.c: crypto_kem_titaniumccasuper.a(ntt.o): In function `ntt_2':
try.c: ntt.c:(.text+0x...): undefined reference to `barrett_4q'
try.c: ntt.c:(.text+0x...): undefined reference to `barrett_4q'
try.c: ntt.c:(.text+0x...): undefined reference to `barrett_4q'
try.c: ntt.c:(.text+0x...): undefined reference to `montgomery'
try.c: ntt.c:(.text+0x...): undefined reference to `barrett_4q'
try.c: ntt.c:(.text+0x...): undefined reference to `barrett_4q'
try.c: ntt.c:(.text+0x...): undefined reference to `barrett_4q'
try.c: ntt.c:(.text+0x...): undefined reference to `montgomery'
try.c: ntt.c:(.text+0x...): undefined reference to `barrett_4q'
try.c: ntt.c:(.text+0x...): undefined reference to `barrett_4q'
try.c: crypto_kem_titaniumccasuper.a(ntt.o): In function `ntt_core':
try.c: ntt.c:(.text+0x...): undefined reference to `montgomery'
try.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -m32 -march=barcelona -Os -fomit-frame-pointer opt

Compiler output

Implementation: crypto_kem/titaniumccasuper/ref
Compiler: gcc -m32 -march=barcelona -Os -fomit-frame-pointer
pack.c: pack.c: In function 'poly_decode':
pack.c: pack.c:67:6: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
pack.c: bb = b + (i / 8) * Q_BITS;
pack.c: ^
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(SimpleFIPS202.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(SP800-185.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-times2-SIMD128.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-times4-on2.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-times8-on2.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakSpongeWidth1600.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-opt64.o)' is incompatible with i386 output
try.c: crypto_kem_titaniumccasuper.a(fastrandombytes.o): In function `fastrandombytes':
try.c: fastrandombytes.c:(.text+0x...): undefined reference to `load_32'
try.c: fastrandombytes.c:(.text+0x...): undefined reference to `store_32'
try.c: crypto_kem_titaniumccasuper.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
pack.c: pack.c: In function 'poly_decode':
pack.c: pack.c:67:6: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
pack.c: bb = b + (i / 8) * Q_BITS;
pack.c: ^
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(SimpleFIPS202.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(SP800-185.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-times2-SIMD128.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-times4-on2.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-times8-on2.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakSpongeWidth1600.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-opt64.o)' is incompatible with i386 output
try.c: crypto_kem_titaniumccasuper.a(fastrandombytes.o): In function `fastrandombytes':
try.c: fastrandombytes.c:(.text+0x...): undefined reference to `load_32'
try.c: fastrandombytes.c:(.text+0x...): undefined reference to `store_32'
try.c: crypto_kem_titaniumccasuper.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 -m32 -march=barcelona -Os -fomit-frame-pointer ref

Compiler output

Implementation: crypto_kem/titaniumccasuper/avx2
Compiler: gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
encrypt.c: from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:48,
encrypt.c: from encrypt.c:18:
encrypt.c: encrypt.c: In function 'crypto_encrypt_keypair':
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:567:1: error: inlining failed in call to always_inline '_mm256_mul_epu32': target specific option mismatch
encrypt.c: _mm256_mul_epu32 (__m256i __A, __m256i __B)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:65:6: note: called from here
encrypt.c: t = _mm256_mul_epu32(u, v);
encrypt.c: ~~^~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
encrypt.c: from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:48,
encrypt.c: from encrypt.c:18:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:567:1: error: inlining failed in call to always_inline '_mm256_mul_epu32': target specific option mismatch
encrypt.c: _mm256_mul_epu32 (__m256i __A, __m256i __B)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:65:6: note: called from here
encrypt.c: t = _mm256_mul_epu32(u, v);
encrypt.c: ~~^~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
encrypt.c: from /usr/lib/gcc/x86_64-linux-gnu/7/include/x86intrin.h:48,
encrypt.c: from encrypt.c:18:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:822:1: error: inlining failed in call to always_inline '_mm256_sub_epi64': target specific option mismatch
encrypt.c: _mm256_sub_epi64 (__m256i __A, __m256i __B)
encrypt.c: ^~~~~~~~~~~~~~~~
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer avx2
gcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer avx2
gcc -m32 -march=core-avx-i -O -fomit-frame-pointer avx2
gcc -m32 -march=core-avx-i -Os -fomit-frame-pointer avx2
gcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer avx2
gcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer avx2
gcc -m32 -march=corei7-avx -O -fomit-frame-pointer avx2
gcc -m32 -march=corei7-avx -Os -fomit-frame-pointer avx2

Compiler output

Implementation: crypto_kem/titaniumccasuper/avx2
Compiler: gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer
pack.c: pack.c: In function 'poly_decode':
pack.c: pack.c:67:6: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
pack.c: bb = b + (i / 8) * Q_BITS;
pack.c: ^
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(SimpleFIPS202.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(SP800-185.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-times2-SIMD128.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-times4-on2.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-times8-on2.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakSpongeWidth1600.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190110/supercop-data/titan0/x86/lib/libkeccak.a(KeccakP-1600-opt64.o)' is incompatible with i386 output
try.c: crypto_kem_titaniumccasuper.a(sampler.o): In function `sampler_zq':
try.c: sampler.c:(.text+0x...): undefined reference to `load_24'
try.c: sampler.c:(.text+0x...): undefined reference to `barrett_zq'
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer avx2
gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer avx2