Implementation notes: x86, samba, crypto_sign/luov8117404

Computer: samba
Architecture: x86
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20190803
Operation: crypto_sign
Primitive: luov8117404

Compiler output

Implementation: crypto_sign/luov8117404/avx2
Compiler: gcc -funroll-loops -m32 -O2 -fomit-frame-pointer
LUOV.c: LUOV.c: In function 'calculateQ2':
LUOV.c: LUOV.c:110:12: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
LUOV.c: __m256i rr = _mm256_permute2x128_si256(_mm256_loadu_si256((__m256i *)&r),_mm256_setzero_si256(),0);
LUOV.c: ^~
LUOV.c: LUOV.c: In function 'TransformQ1':
LUOV.c: LUOV.c:250:15: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
LUOV.c: bitcontainer mask = _mm_set_epi64x(0x1fffffffffffff,0xffffffffffffffff);
LUOV.c: ^~~~
LUOV.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
LUOV.c: from LUOV.h:7,
LUOV.c: from LUOV.c:1:
LUOV.c: AVX_Operations.h: In function 'addScalarProductAVX':
LUOV.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:186:1: error: inlining failed in call to always_inline '_mm256_andnot_si256': target specific option mismatch
LUOV.c: _mm256_andnot_si256 (__m256i __A, __m256i __B)
LUOV.c: ^~~~~~~~~~~~~~~~~~~
LUOV.c: In file included from LinearAlgebra.h:9:0,
LUOV.c: from LUOV.h:13,
LUOV.c: from LUOV.c:1:
LUOV.c: AVX_Operations.h:87:7: note: called from here
LUOV.c: avx4 = _mm256_andnot_si256(avx4,aa);
LUOV.c: ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LUOV.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
LUOV.c: from LUOV.h:7,
LUOV.c: from LUOV.c:1:
LUOV.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:231:1: error: inlining failed in call to always_inline '_mm256_cmpeq_epi8': target specific option mismatch
LUOV.c: ...

Number of similar (compiler,implementation) pairs: 88, 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=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=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=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 -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=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=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=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

Compiler output

Implementation: crypto_sign/luov8117404/portable
Compiler: gcc -funroll-loops -m32 -O2 -fomit-frame-pointer
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190803/supercop-data/samba/x86/lib/libkeccak.a(KeccakHash.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190803/supercop-data/samba/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-20190803/supercop-data/samba/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: 352, namely:
CompilerImplementations
gcc -funroll-loops -m32 -O2 -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -O3 -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -O -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -Os -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer portable ref
gcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer portable ref
gcc -m32 -O2 -fomit-frame-pointer portable ref
gcc -m32 -O3 -fomit-frame-pointer portable ref
gcc -m32 -O -fomit-frame-pointer portable ref
gcc -m32 -Os -fomit-frame-pointer portable ref
gcc -m32 -march=athlon -O2 -fomit-frame-pointer portable ref
gcc -m32 -march=athlon -O3 -fomit-frame-pointer portable ref
gcc -m32 -march=athlon -O -fomit-frame-pointer portable ref
gcc -m32 -march=athlon -Os -fomit-frame-pointer portable ref
gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer portable ref
gcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer portable ref
gcc -m32 -march=core-avx-i -O -fomit-frame-pointer portable ref
gcc -m32 -march=core-avx-i -Os -fomit-frame-pointer portable ref
gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer avx2 portable ref
gcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer avx2 portable ref
gcc -m32 -march=core-avx2 -O -fomit-frame-pointer avx2 portable ref
gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer avx2 portable ref
gcc -m32 -march=core2 -O2 -fomit-frame-pointer portable ref
gcc -m32 -march=core2 -O3 -fomit-frame-pointer portable ref
gcc -m32 -march=core2 -O -fomit-frame-pointer portable ref
gcc -m32 -march=core2 -Os -fomit-frame-pointer portable ref
gcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer portable ref
gcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer portable ref
gcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer portable ref
gcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer portable ref
gcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer portable ref
gcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer portable ref
gcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer portable ref
gcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer portable ref
gcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer portable ref
gcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer portable ref
gcc -m32 -march=corei7-avx -O -fomit-frame-pointer portable ref
gcc -m32 -march=corei7-avx -Os -fomit-frame-pointer portable ref
gcc -m32 -march=corei7 -O2 -fomit-frame-pointer portable ref
gcc -m32 -march=corei7 -O3 -fomit-frame-pointer portable ref
gcc -m32 -march=corei7 -O -fomit-frame-pointer portable ref
gcc -m32 -march=corei7 -Os -fomit-frame-pointer portable ref
gcc -m32 -march=i386 -O2 -fomit-frame-pointer portable ref
gcc -m32 -march=i386 -O3 -fomit-frame-pointer portable ref
gcc -m32 -march=i386 -O -fomit-frame-pointer portable ref
gcc -m32 -march=i386 -Os -fomit-frame-pointer portable ref
gcc -m32 -march=i486 -O2 -fomit-frame-pointer portable ref
gcc -m32 -march=i486 -O3 -fomit-frame-pointer portable ref
gcc -m32 -march=i486 -O -fomit-frame-pointer portable ref
gcc -m32 -march=i486 -Os -fomit-frame-pointer portable ref
gcc -m32 -march=k6-2 -O2 -fomit-frame-pointer portable ref
gcc -m32 -march=k6-2 -O3 -fomit-frame-pointer portable ref
gcc -m32 -march=k6-2 -O -fomit-frame-pointer portable ref
gcc -m32 -march=k6-2 -Os -fomit-frame-pointer portable ref
gcc -m32 -march=k6-3 -O2 -fomit-frame-pointer portable ref
gcc -m32 -march=k6-3 -O3 -fomit-frame-pointer portable ref
gcc -m32 -march=k6-3 -O -fomit-frame-pointer portable ref
gcc -m32 -march=k6-3 -Os -fomit-frame-pointer portable ref
gcc -m32 -march=k6 -O2 -fomit-frame-pointer portable ref
gcc -m32 -march=k6 -O3 -fomit-frame-pointer portable ref
gcc -m32 -march=k6 -O -fomit-frame-pointer portable ref
gcc -m32 -march=k6 -Os -fomit-frame-pointer portable ref
gcc -m32 -march=k8 -O2 -fomit-frame-pointer portable ref
gcc -m32 -march=k8 -O3 -fomit-frame-pointer portable ref
gcc -m32 -march=k8 -O -fomit-frame-pointer portable ref
gcc -m32 -march=k8 -Os -fomit-frame-pointer portable ref
gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer avx2 portable ref
gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer avx2 portable ref
gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer avx2 portable ref
gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer avx2 portable ref
gcc -m32 -march=nocona -O2 -fomit-frame-pointer portable ref
gcc -m32 -march=nocona -O3 -fomit-frame-pointer portable ref
gcc -m32 -march=nocona -O -fomit-frame-pointer portable ref
gcc -m32 -march=nocona -Os -fomit-frame-pointer portable ref
gcc -m32 -march=pentium-m -O2 -fomit-frame-pointer portable ref
gcc -m32 -march=pentium-m -O3 -fomit-frame-pointer portable ref
gcc -m32 -march=pentium-m -O -fomit-frame-pointer portable ref
gcc -m32 -march=pentium-m -Os -fomit-frame-pointer portable ref
gcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer portable ref
gcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer portable ref
gcc -m32 -march=pentium-mmx -O -fomit-frame-pointer portable ref
gcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer portable ref
gcc -m32 -march=pentium2 -O2 -fomit-frame-pointer portable ref
gcc -m32 -march=pentium2 -O3 -fomit-frame-pointer portable ref
gcc -m32 -march=pentium2 -O -fomit-frame-pointer portable ref
gcc -m32 -march=pentium2 -Os -fomit-frame-pointer portable ref
gcc -m32 -march=pentium3 -O2 -fomit-frame-pointer portable ref
gcc -m32 -march=pentium3 -O3 -fomit-frame-pointer portable ref
gcc -m32 -march=pentium3 -O -fomit-frame-pointer portable ref
gcc -m32 -march=pentium3 -Os -fomit-frame-pointer portable ref
gcc -m32 -march=pentium4 -O2 -fomit-frame-pointer portable ref
gcc -m32 -march=pentium4 -O3 -fomit-frame-pointer portable ref
gcc -m32 -march=pentium4 -O -fomit-frame-pointer portable ref
gcc -m32 -march=pentium4 -Os -fomit-frame-pointer portable ref
gcc -m32 -march=pentium -O2 -fomit-frame-pointer portable ref
gcc -m32 -march=pentium -O3 -fomit-frame-pointer portable ref
gcc -m32 -march=pentium -O -fomit-frame-pointer portable ref
gcc -m32 -march=pentium -Os -fomit-frame-pointer portable ref
gcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer portable ref
gcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer portable ref
gcc -m32 -march=pentiumpro -O -fomit-frame-pointer portable ref
gcc -m32 -march=pentiumpro -Os -fomit-frame-pointer portable ref
gcc -m32 -march=prescott -O2 -fomit-frame-pointer portable ref
gcc -m32 -march=prescott -O3 -fomit-frame-pointer portable ref
gcc -m32 -march=prescott -O -fomit-frame-pointer portable ref
gcc -m32 -march=prescott -Os -fomit-frame-pointer portable ref

Compiler output

Implementation: crypto_sign/luov8117404/avx2
Compiler: gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer
LUOV.c: LUOV.c: In function 'calculateQ2':
LUOV.c: LUOV.c:110:12: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
LUOV.c: __m256i rr = _mm256_permute2x128_si256(_mm256_loadu_si256((__m256i *)&r),_mm256_setzero_si256(),0);
LUOV.c: ^~
LUOV.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
LUOV.c: from LUOV.h:7,
LUOV.c: from LUOV.c:1:
LUOV.c: AVX_Operations.h: In function 'addScalarProductAVX':
LUOV.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:186:1: error: inlining failed in call to always_inline '_mm256_andnot_si256': target specific option mismatch
LUOV.c: _mm256_andnot_si256 (__m256i __A, __m256i __B)
LUOV.c: ^~~~~~~~~~~~~~~~~~~
LUOV.c: In file included from LinearAlgebra.h:9:0,
LUOV.c: from LUOV.h:13,
LUOV.c: from LUOV.c:1:
LUOV.c: AVX_Operations.h:87:7: note: called from here
LUOV.c: avx4 = _mm256_andnot_si256(avx4,aa);
LUOV.c: ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LUOV.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
LUOV.c: from LUOV.h:7,
LUOV.c: from LUOV.c:1:
LUOV.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:231:1: error: inlining failed in call to always_inline '_mm256_cmpeq_epi8': target specific option mismatch
LUOV.c: _mm256_cmpeq_epi8 (__m256i __A, __m256i __B)
LUOV.c: ^~~~~~~~~~~~~~~~~
LUOV.c: In file included from LinearAlgebra.h:9:0,
LUOV.c: from LUOV.h:13,
LUOV.c: ...

Number of similar (compiler,implementation) pairs: 68, namely:
CompilerImplementations
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=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=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=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 -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=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=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=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_sign/luov8117404/avx2
Compiler: gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
LUOV.c: LUOV.c: In function 'calculateQ2':
LUOV.c: LUOV.c:110:12: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
LUOV.c: __m256i rr = _mm256_permute2x128_si256(_mm256_loadu_si256((__m256i *)&r),_mm256_setzero_si256(),0);
LUOV.c: ^~
LUOV.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
LUOV.c: from LUOV.h:7,
LUOV.c: from LUOV.c:1:
LUOV.c: AVX_Operations.h: In function 'addScalarProductAVX':
LUOV.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:186:1: error: inlining failed in call to always_inline '_mm256_andnot_si256': target specific option mismatch
LUOV.c: _mm256_andnot_si256 (__m256i __A, __m256i __B)
LUOV.c: ^~~~~~~~~~~~~~~~~~~
LUOV.c: In file included from LinearAlgebra.h:9:0,
LUOV.c: from LUOV.h:13,
LUOV.c: from LUOV.c:1:
LUOV.c: AVX_Operations.h:87:7: note: called from here
LUOV.c: avx4 = _mm256_andnot_si256(avx4,aa);
LUOV.c: ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LUOV.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
LUOV.c: from LUOV.h:7,
LUOV.c: from LUOV.c:1:
LUOV.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:231:1: error: inlining failed in call to always_inline '_mm256_cmpeq_epi8': target specific option mismatch
LUOV.c: _mm256_cmpeq_epi8 (__m256i __A, __m256i __B)
LUOV.c: ^~~~~~~~~~~~~~~~~
LUOV.c: In file included from LinearAlgebra.h:9:0,
LUOV.c: from LUOV.h:13,
LUOV.c: ...
LUOV.c: LUOV.c: In function 'calculateQ2':
LUOV.c: LUOV.c:110:12: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
LUOV.c: __m256i rr = _mm256_permute2x128_si256(_mm256_loadu_si256((__m256i *)&r),_mm256_setzero_si256(),0);
LUOV.c: ^~
LUOV.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
LUOV.c: from LUOV.h:7,
LUOV.c: from LUOV.c:1:
LUOV.c: AVX_Operations.h: In function 'addScalarProductAVX':
LUOV.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:186:1: error: inlining failed in call to always_inline '_mm256_andnot_si256': target specific option mismatch
LUOV.c: _mm256_andnot_si256 (__m256i __A, __m256i __B)
LUOV.c: ^~~~~~~~~~~~~~~~~~~
LUOV.c: In file included from LinearAlgebra.h:9:0,
LUOV.c: from LUOV.h:13,
LUOV.c: from LUOV.c:1:
LUOV.c: AVX_Operations.h:87:7: note: called from here
LUOV.c: avx4 = _mm256_andnot_si256(avx4,aa);
LUOV.c: ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LUOV.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
LUOV.c: from LUOV.h:7,
LUOV.c: from LUOV.c:1:
LUOV.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:231:1: error: inlining failed in call to always_inline '_mm256_cmpeq_epi8': target specific option mismatch
LUOV.c: _mm256_cmpeq_epi8 (__m256i __A, __m256i __B)
LUOV.c: ^~~~~~~~~~~~~~~~~
LUOV.c: In file included from LinearAlgebra.h:9:0,
LUOV.c: from LUOV.h:13,
LUOV.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_sign/luov8117404/portable
Compiler: gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190803/supercop-data/samba/x86/lib/libkeccak.a(KeccakHash.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190803/supercop-data/samba/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-20190803/supercop-data/samba/x86/lib/libkeccak.a(KeccakP-1600-opt64.o)' is incompatible with i386 output
try.c: collect2: error: ld returned 1 exit status
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190803/supercop-data/samba/x86/lib/libkeccak.a(KeccakHash.o)' is incompatible with i386 output
try.c: /usr/bin/ld: i386:x86-64 architecture of input file `/home/djb/supercop-20190803/supercop-data/samba/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-20190803/supercop-data/samba/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: 8, namely:
CompilerImplementations
gcc -m32 -march=barcelona -O2 -fomit-frame-pointer portable ref
gcc -m32 -march=barcelona -O3 -fomit-frame-pointer portable ref
gcc -m32 -march=barcelona -O -fomit-frame-pointer portable ref
gcc -m32 -march=barcelona -Os -fomit-frame-pointer portable ref

Compiler output

Implementation: crypto_sign/luov8117404/avx2
Compiler: gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer
LUOV.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
LUOV.c: from LUOV.h:7,
LUOV.c: from LUOV.c:1:
LUOV.c: AVX_Operations.h: In function 'addScalarProductAVX':
LUOV.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:186:1: error: inlining failed in call to always_inline '_mm256_andnot_si256': target specific option mismatch
LUOV.c: _mm256_andnot_si256 (__m256i __A, __m256i __B)
LUOV.c: ^~~~~~~~~~~~~~~~~~~
LUOV.c: In file included from LinearAlgebra.h:9:0,
LUOV.c: from LUOV.h:13,
LUOV.c: from LUOV.c:1:
LUOV.c: AVX_Operations.h:87:7: note: called from here
LUOV.c: avx4 = _mm256_andnot_si256(avx4,aa);
LUOV.c: ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LUOV.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
LUOV.c: from LUOV.h:7,
LUOV.c: from LUOV.c:1:
LUOV.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:231:1: error: inlining failed in call to always_inline '_mm256_cmpeq_epi8': target specific option mismatch
LUOV.c: _mm256_cmpeq_epi8 (__m256i __A, __m256i __B)
LUOV.c: ^~~~~~~~~~~~~~~~~
LUOV.c: In file included from LinearAlgebra.h:9:0,
LUOV.c: from LUOV.h:13,
LUOV.c: from LUOV.c:1:
LUOV.c: AVX_Operations.h:86:7: note: called from here
LUOV.c: avx4 = _mm256_cmpeq_epi8(avx4,_mm256_setzero_si256());
LUOV.c: ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
LUOV.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