Implementation notes: x86, hiphop, crypto_kem/sntrup4591761

Computer: hiphop
Architecture: x86
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20171218
Operation: crypto_kem
Primitive: sntrup4591761
TimeImplementationCompilerBenchmark dateSUPERCOP version
41699684refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2017122020171218
41701740refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2017122020171218
41754184refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2017122020171218
41760312refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017122020171218
41761248refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2017122020171218
41761272refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2017122020171218
41762300refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2017122020171218
41764968refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2017122020171218
41768516refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2017122020171218
41772928refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2017122020171218
41774652refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2017122020171218
41774668refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2017122020171218
41775452refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2017122020171218
41779032refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2017122020171218
41781284refgcc -m32 -O2 -fomit-frame-pointer2017122020171218
41784660refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2017122020171218
41785404refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2017122020171218
41787464refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2017122020171218
41787740refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017122020171218
41790964refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2017122020171218
41791104refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2017122020171218
41793876refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2017122020171218
41794508refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2017122020171218
41810544refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2017122020171218
41818260refgcc -m32 -O3 -fomit-frame-pointer2017122020171218
41833216refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2017122020171218
41868800refgcc -m32 -march=core2 -O -fomit-frame-pointer2017122020171218
41869568refgcc -m32 -march=corei7 -O -fomit-frame-pointer2017122020171218
41872008refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2017122020171218
41872020refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2017122020171218
41875376refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2017122020171218
41876852refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2017122020171218
41891924refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2017122020171218
41895472refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2017122020171218
41900280refgcc -m32 -O -fomit-frame-pointer2017122020171218
41905168refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2017122020171218
41912284refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2017122020171218
41912376refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2017122020171218
41915460refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2017122020171218
41917800refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2017122020171218
41929008refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2017122020171218
41929936refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2017122020171218
41949836refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2017122020171218
43158488refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2017122020171218
43160544refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2017122020171218
43883156refgcc -m32 -march=athlon -O -fomit-frame-pointer2017122020171218
43976252refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2017122020171218
43980104refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2017122020171218
43987424refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2017122020171218
44032420refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2017122020171218
44040532refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2017122020171218
44040780refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2017122020171218
44040936refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2017122020171218
44043000refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2017122020171218
44043184refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2017122020171218
44043204refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2017122020171218
44085720refgcc -funroll-loops -m32 -O -fomit-frame-pointer2017122020171218
44114800refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2017122020171218
44117564refgcc -m32 -march=k8 -O -fomit-frame-pointer2017122020171218
44127696refgcc -m32 -march=barcelona -O -fomit-frame-pointer2017122020171218
44137572refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2017122020171218
44140516refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2017122020171218
44143276refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2017122020171218
44145656refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2017122020171218
44151868refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2017122020171218
44155708refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2017122020171218
44158196refgcc -m32 -march=athlon -Os -fomit-frame-pointer2017122020171218
44166868refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2017122020171218
44170264refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2017122020171218
44170612refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2017122020171218
44171080refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2017122020171218
44171668refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2017122020171218
44172284refgcc -m32 -march=core2 -Os -fomit-frame-pointer2017122020171218
44173580refgcc -m32 -march=k8 -Os -fomit-frame-pointer2017122020171218
44178228refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2017122020171218
44178232refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2017122020171218
44178512refgcc -m32 -march=pentium -Os -fomit-frame-pointer2017122020171218
44179264refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017122020171218
44179888refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2017122020171218
44180204refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2017122020171218
44181348refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2017122020171218
44181528refgcc -m32 -march=k6 -O -fomit-frame-pointer2017122020171218
44181924refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2017122020171218
44182884refgcc -m32 -march=prescott -Os -fomit-frame-pointer2017122020171218
44185516refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2017122020171218
44187336refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2017122020171218
44189300refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2017122020171218
44191920refgcc -m32 -march=nocona -Os -fomit-frame-pointer2017122020171218
44193912refgcc -m32 -march=i386 -Os -fomit-frame-pointer2017122020171218
44195152refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2017122020171218
44195540refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2017122020171218
44197004refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2017122020171218
44208424refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2017122020171218
44209468refgcc -m32 -march=k6 -Os -fomit-frame-pointer2017122020171218
44214552refgcc -m32 -march=i486 -Os -fomit-frame-pointer2017122020171218
44214568refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2017122020171218
44216352refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2017122020171218
44221096refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2017122020171218
44224320refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2017122020171218
44224408refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2017122020171218
44224544refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2017122020171218
44230120refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2017122020171218
44247032refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2017122020171218
44258368refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2017122020171218
44279400refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2017122020171218
44283492refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2017122020171218
44300160refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2017122020171218
44324728refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2017122020171218
44331268refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2017122020171218
44373428refgcc -m32 -Os -fomit-frame-pointer2017122020171218
44433116refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2017122020171218
44986608refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2017122020171218
44990684refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2017122020171218
44992368refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2017122020171218
44994052refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2017122020171218
45346124refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2017122020171218
45346612refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2017122020171218
45346916refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2017122020171218
45346996refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2017122020171218
45347336refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2017122020171218
45349344refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2017122020171218
45792440refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2017122020171218
45813408refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2017122020171218
45824180refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2017122020171218
45846212refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2017122020171218
45878896refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2017122020171218
46313536refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2017122020171218
46319204refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2017122020171218
46321700refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2017122020171218
46321992refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2017122020171218
46323304refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2017122020171218
46323960refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2017122020171218
46375668refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2017122020171218
46393956refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2017122020171218
62427224refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2017122020171218
62428440refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2017122020171218
62447800refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2017122020171218
62449408refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2017122020171218
62589168refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2017122020171218
62592780refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2017122020171218
62593256refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2017122020171218
62593468refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2017122020171218
62707816refgcc -m32 -march=prescott -O -fomit-frame-pointer2017122020171218
62712060refgcc -m32 -march=nocona -O -fomit-frame-pointer2017122020171218
63463116refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2017122020171218
63514844refgcc -m32 -march=pentium -O -fomit-frame-pointer2017122020171218
66807972refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2017122020171218
66821776refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2017122020171218
66838884refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2017122020171218
66920884refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2017122020171218
66986376refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2017122020171218
67057444refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2017122020171218
67070376refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2017122020171218
67072844refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2017122020171218
67229392refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2017122020171218
67260504refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2017122020171218
67335988refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2017122020171218
67360260refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2017122020171218
76352776refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2017122020171218
76359348refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2017122020171218
76373444refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2017122020171218
76418232refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2017122020171218
77324496refgcc -m32 -march=i486 -O -fomit-frame-pointer2017122020171218
77360432refgcc -m32 -march=i386 -O -fomit-frame-pointer2017122020171218
78422980refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2017122020171218
78429404refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2017122020171218
78465452refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2017122020171218
78935760refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2017122020171218
78972832refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2017122020171218
79011340refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2017122020171218
79620100refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2017122020171218
79625844refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2017122020171218
79641360refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2017122020171218
79769652refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2017122020171218
80454856refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2017122020171218
80591668refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2017122020171218

Compiler output

Implementation: crypto_kem/sntrup4591761/avx
Compiler: gcc -funroll-loops -m32 -O2 -fomit-frame-pointer
int32_sort.c: int32_sort.c: In function 'minmax8':
int32_sort.c: int32_sort.c:329:11: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
int32_sort.c: __m256i a = _mm256_loadu_si256((__m256i *) x);
int32_sort.c: ^
int32_sort.c: int32_sort.c: In function 'minmax4':
int32_sort.c: int32_sort.c:361:11: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
int32_sort.c: __m128i a = _mm_loadu_si128((__m128i *) x);
int32_sort.c: ^
int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:41:0,
int32_sort.c: from int32_sort.c:2:
int32_sort.c: int32_sort.c: In function 'minmax02through1315':
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:900:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
int32_sort.c: _mm256_storeu_si256 (__m256i *__P, __m256i __A)
int32_sort.c: ^
int32_sort.c: int32_sort.c:24:3: error: called from here
int32_sort.c: _mm256_storeu_si256((__m256i *) (x + 8),b);
int32_sort.c: ^
int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:41:0,
int32_sort.c: from int32_sort.c:2:
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:900:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
int32_sort.c: _mm256_storeu_si256 (__m256i *__P, __m256i __A)
int32_sort.c: ^
int32_sort.c: int32_sort.c:23:3: error: called from here
int32_sort.c: _mm256_storeu_si256((__m256i *) x,a);
int32_sort.c: ^
int32_sort.c: ...

Number of similar (compiler,implementation) pairs: 88, namely:
CompilerImplementations
gcc -funroll-loops -m32 -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -O -fomit-frame-pointer avx
gcc -funroll-loops -m32 -Os -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer avx
gcc -m32 -O2 -fomit-frame-pointer avx
gcc -m32 -O3 -fomit-frame-pointer avx
gcc -m32 -O -fomit-frame-pointer avx
gcc -m32 -Os -fomit-frame-pointer avx
gcc -m32 -march=athlon -O2 -fomit-frame-pointer avx
gcc -m32 -march=athlon -O3 -fomit-frame-pointer avx
gcc -m32 -march=athlon -O -fomit-frame-pointer avx
gcc -m32 -march=athlon -Os -fomit-frame-pointer avx
gcc -m32 -march=i386 -O2 -fomit-frame-pointer avx
gcc -m32 -march=i386 -O3 -fomit-frame-pointer avx
gcc -m32 -march=i386 -O -fomit-frame-pointer avx
gcc -m32 -march=i386 -Os -fomit-frame-pointer avx
gcc -m32 -march=i486 -O2 -fomit-frame-pointer avx
gcc -m32 -march=i486 -O3 -fomit-frame-pointer avx
gcc -m32 -march=i486 -O -fomit-frame-pointer avx
gcc -m32 -march=i486 -Os -fomit-frame-pointer avx
gcc -m32 -march=k6-2 -O2 -fomit-frame-pointer avx
gcc -m32 -march=k6-2 -O3 -fomit-frame-pointer avx
gcc -m32 -march=k6-2 -O -fomit-frame-pointer avx
gcc -m32 -march=k6-2 -Os -fomit-frame-pointer avx
gcc -m32 -march=k6-3 -O2 -fomit-frame-pointer avx
gcc -m32 -march=k6-3 -O3 -fomit-frame-pointer avx
gcc -m32 -march=k6-3 -O -fomit-frame-pointer avx
gcc -m32 -march=k6-3 -Os -fomit-frame-pointer avx
gcc -m32 -march=k6 -O2 -fomit-frame-pointer avx
gcc -m32 -march=k6 -O3 -fomit-frame-pointer avx
gcc -m32 -march=k6 -O -fomit-frame-pointer avx
gcc -m32 -march=k6 -Os -fomit-frame-pointer avx
gcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer avx
gcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer avx
gcc -m32 -march=pentium-mmx -O -fomit-frame-pointer avx
gcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer avx
gcc -m32 -march=pentium2 -O2 -fomit-frame-pointer avx
gcc -m32 -march=pentium2 -O3 -fomit-frame-pointer avx
gcc -m32 -march=pentium2 -O -fomit-frame-pointer avx
gcc -m32 -march=pentium2 -Os -fomit-frame-pointer avx
gcc -m32 -march=pentium -O2 -fomit-frame-pointer avx
gcc -m32 -march=pentium -O3 -fomit-frame-pointer avx
gcc -m32 -march=pentium -O -fomit-frame-pointer avx
gcc -m32 -march=pentium -Os -fomit-frame-pointer avx
gcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer avx
gcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer avx
gcc -m32 -march=pentiumpro -O -fomit-frame-pointer avx
gcc -m32 -march=pentiumpro -Os -fomit-frame-pointer avx

Compiler output

Implementation: crypto_kem/sntrup4591761/avx
Compiler: gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer
int32_sort.c: int32_sort.c: In function 'minmax8':
int32_sort.c: int32_sort.c:329:11: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
int32_sort.c: __m256i a = _mm256_loadu_si256((__m256i *) x);
int32_sort.c: ^
int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:41:0,
int32_sort.c: from int32_sort.c:2:
int32_sort.c: int32_sort.c: In function 'minmax02through1315':
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:900:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
int32_sort.c: _mm256_storeu_si256 (__m256i *__P, __m256i __A)
int32_sort.c: ^
int32_sort.c: int32_sort.c:24:3: error: called from here
int32_sort.c: _mm256_storeu_si256((__m256i *) (x + 8),b);
int32_sort.c: ^
int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:41:0,
int32_sort.c: from int32_sort.c:2:
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:900:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
int32_sort.c: _mm256_storeu_si256 (__m256i *__P, __m256i __A)
int32_sort.c: ^
int32_sort.c: int32_sort.c:23:3: error: called from here
int32_sort.c: _mm256_storeu_si256((__m256i *) x,a);
int32_sort.c: ^
int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
int32_sort.c: from int32_sort.c:2:
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:878:1: error: inlining failed in call to always_inline '_mm256_unpackhi_epi64': target specific option mismatch
int32_sort.c: _mm256_unpackhi_epi64 (__m256i __A, __m256i __B)
int32_sort.c: ...

Number of similar (compiler,implementation) pairs: 68, namely:
CompilerImplementations
gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer avx
gcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer avx
gcc -m32 -march=core2 -O2 -fomit-frame-pointer avx
gcc -m32 -march=core2 -O3 -fomit-frame-pointer avx
gcc -m32 -march=core2 -O -fomit-frame-pointer avx
gcc -m32 -march=core2 -Os -fomit-frame-pointer avx
gcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer avx
gcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer avx
gcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer avx
gcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer avx
gcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer avx
gcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer avx
gcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer avx
gcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer avx
gcc -m32 -march=corei7 -O2 -fomit-frame-pointer avx
gcc -m32 -march=corei7 -O3 -fomit-frame-pointer avx
gcc -m32 -march=corei7 -O -fomit-frame-pointer avx
gcc -m32 -march=corei7 -Os -fomit-frame-pointer avx
gcc -m32 -march=k8 -O2 -fomit-frame-pointer avx
gcc -m32 -march=k8 -O3 -fomit-frame-pointer avx
gcc -m32 -march=k8 -O -fomit-frame-pointer avx
gcc -m32 -march=k8 -Os -fomit-frame-pointer avx
gcc -m32 -march=nocona -O2 -fomit-frame-pointer avx
gcc -m32 -march=nocona -O3 -fomit-frame-pointer avx
gcc -m32 -march=nocona -O -fomit-frame-pointer avx
gcc -m32 -march=nocona -Os -fomit-frame-pointer avx
gcc -m32 -march=pentium-m -O2 -fomit-frame-pointer avx
gcc -m32 -march=pentium-m -O3 -fomit-frame-pointer avx
gcc -m32 -march=pentium-m -O -fomit-frame-pointer avx
gcc -m32 -march=pentium-m -Os -fomit-frame-pointer avx
gcc -m32 -march=pentium3 -O2 -fomit-frame-pointer avx
gcc -m32 -march=pentium3 -O3 -fomit-frame-pointer avx
gcc -m32 -march=pentium3 -O -fomit-frame-pointer avx
gcc -m32 -march=pentium3 -Os -fomit-frame-pointer avx
gcc -m32 -march=pentium4 -O2 -fomit-frame-pointer avx
gcc -m32 -march=pentium4 -O3 -fomit-frame-pointer avx
gcc -m32 -march=pentium4 -O -fomit-frame-pointer avx
gcc -m32 -march=pentium4 -Os -fomit-frame-pointer avx
gcc -m32 -march=prescott -O2 -fomit-frame-pointer avx
gcc -m32 -march=prescott -O3 -fomit-frame-pointer avx
gcc -m32 -march=prescott -O -fomit-frame-pointer avx
gcc -m32 -march=prescott -Os -fomit-frame-pointer avx

Compiler output

Implementation: crypto_kem/sntrup4591761/avx
Compiler: gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
int32_sort.c: int32_sort.c: In function 'minmax8':
int32_sort.c: int32_sort.c:329:11: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
int32_sort.c: __m256i a = _mm256_loadu_si256((__m256i *) x);
int32_sort.c: ^
int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:41:0,
int32_sort.c: from int32_sort.c:2:
int32_sort.c: int32_sort.c: In function 'minmax02through1315':
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:900:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
int32_sort.c: _mm256_storeu_si256 (__m256i *__P, __m256i __A)
int32_sort.c: ^
int32_sort.c: int32_sort.c:24:3: error: called from here
int32_sort.c: _mm256_storeu_si256((__m256i *) (x + 8),b);
int32_sort.c: ^
int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:41:0,
int32_sort.c: from int32_sort.c:2:
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:900:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
int32_sort.c: _mm256_storeu_si256 (__m256i *__P, __m256i __A)
int32_sort.c: ^
int32_sort.c: int32_sort.c:23:3: error: called from here
int32_sort.c: _mm256_storeu_si256((__m256i *) x,a);
int32_sort.c: ^
int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
int32_sort.c: from int32_sort.c:2:
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:878:1: error: inlining failed in call to always_inline '_mm256_unpackhi_epi64': target specific option mismatch
int32_sort.c: _mm256_unpackhi_epi64 (__m256i __A, __m256i __B)
int32_sort.c: ...
int32_sort.c: int32_sort.c: In function 'minmax8':
int32_sort.c: int32_sort.c:329:11: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
int32_sort.c: __m256i a = _mm256_loadu_si256((__m256i *) x);
int32_sort.c: ^
int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:41:0,
int32_sort.c: from int32_sort.c:2:
int32_sort.c: int32_sort.c: In function 'minmax02through1315':
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:900:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
int32_sort.c: _mm256_storeu_si256 (__m256i *__P, __m256i __A)
int32_sort.c: ^
int32_sort.c: int32_sort.c:24:3: error: called from here
int32_sort.c: _mm256_storeu_si256((__m256i *) (x + 8),b);
int32_sort.c: ^
int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:41:0,
int32_sort.c: from int32_sort.c:2:
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:900:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
int32_sort.c: _mm256_storeu_si256 (__m256i *__P, __m256i __A)
int32_sort.c: ^
int32_sort.c: int32_sort.c:23:3: error: called from here
int32_sort.c: _mm256_storeu_si256((__m256i *) x,a);
int32_sort.c: ^
int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
int32_sort.c: from int32_sort.c:2:
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:878:1: error: inlining failed in call to always_inline '_mm256_unpackhi_epi64': target specific option mismatch
int32_sort.c: _mm256_unpackhi_epi64 (__m256i __A, __m256i __B)
int32_sort.c: ...

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

Compiler output

Implementation: crypto_kem/sntrup4591761/avx
Compiler: gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer
int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
int32_sort.c: from int32_sort.c:2:
int32_sort.c: int32_sort.c: In function 'minmax02through1315':
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:878:1: error: inlining failed in call to always_inline '_mm256_unpackhi_epi64': target specific option mismatch
int32_sort.c: _mm256_unpackhi_epi64 (__m256i __A, __m256i __B)
int32_sort.c: ^
int32_sort.c: int32_sort.c:22:5: error: called from here
int32_sort.c: b = _mm256_unpackhi_epi64(g,h);
int32_sort.c: ^
int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
int32_sort.c: from int32_sort.c:2:
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:906:1: error: inlining failed in call to always_inline '_mm256_unpacklo_epi64': target specific option mismatch
int32_sort.c: _mm256_unpacklo_epi64 (__m256i __A, __m256i __B)
int32_sort.c: ^
int32_sort.c: int32_sort.c:21:5: error: called from here
int32_sort.c: a = _mm256_unpacklo_epi64(g,h);
int32_sort.c: ^
int32_sort.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/immintrin.h:43:0,
int32_sort.c: from int32_sort.c:2:
int32_sort.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avx2intrin.h:363:1: error: inlining failed in call to always_inline '_mm256_max_epi32': target specific option mismatch
int32_sort.c: _mm256_max_epi32 (__m256i __A, __m256i __B)
int32_sort.c: ^
int32_sort.c: int32_sort.c:20:11: error: called from here
int32_sort.c: __m256i h = _mm256_max_epi32(c,d);
int32_sort.c: ^
int32_sort.c: ...

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

Compiler output

Implementation: crypto_kem/sntrup4591761/avx
Compiler: gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer
mult.c: mult.c: In function 'mult24x8_float':
mult.c: mult.c:49:3: error: 'asm' operand has impossible constraints
mult.c: __asm__( \
mult.c: ^
mult.c: mult.c:149:3: note: in expansion of macro 'MULSTEP_fromzero'
mult.c: MULSTEP_fromzero(0,h0,h1,h2,h3,h4)
mult.c: ^
mult.c: mult.c:36:3: error: 'asm' operand has impossible constraints
mult.c: __asm__( \
mult.c: ^
mult.c: mult.c:151:5: note: in expansion of macro 'MULSTEP_noload'
mult.c: MULSTEP_noload(j + 1,h1,h2,h3,h4,h0)
mult.c: ^
mult.c: mult.c:36:3: error: 'asm' operand has impossible constraints
mult.c: __asm__( \
mult.c: ^
mult.c: mult.c:152:5: note: in expansion of macro 'MULSTEP_noload'
mult.c: MULSTEP_noload(j + 2,h2,h3,h4,h0,h1)
mult.c: ^
mult.c: mult.c:36:3: error: 'asm' operand has impossible constraints
mult.c: __asm__( \
mult.c: ^
mult.c: mult.c:153:5: note: in expansion of macro 'MULSTEP_noload'
mult.c: MULSTEP_noload(j + 3,h3,h4,h0,h1,h2)
mult.c: ^
mult.c: ...

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