Implementation notes: x86, margaux, crypto_kem/sntrup4591761

Computer: margaux
Architecture: x86
CPU ID: GenuineIntel-000006fb-bfebfbff
SUPERCOP version: 20171218
Operation: crypto_kem
Primitive: sntrup4591761
TimeImplementationCompilerBenchmark dateSUPERCOP version
42453981refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2017122420171218
42457536refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2017122420171218
42458274refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2017122420171218
42458535refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2017122420171218
42462900refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2017122420171218
42468597refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2017122420171218
42468984refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2017122420171218
42469164refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2017122420171218
42680097refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2017122420171218
42683184refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2017122420171218
42685002refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2017122420171218
42685902refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2017122420171218
42686145refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2017122420171218
42686919refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2017122420171218
42689160refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2017122420171218
42707889refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2017122420171218
42831675refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2017122420171218
42905934refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2017122420171218
42915645refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2017122420171218
42916320refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2017122420171218
42929631refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2017122420171218
43077582refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2017122420171218
43086663refgcc -funroll-loops -m32 -O -fomit-frame-pointer2017122420171218
43513389refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2017122420171218
43513632refgcc -m32 -march=core2 -O -fomit-frame-pointer2017122420171218
43514037refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2017122420171218
43514082refgcc -m32 -march=corei7 -O -fomit-frame-pointer2017122420171218
43515324refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2017122420171218
43515594refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2017122420171218
43517709refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2017122420171218
43568631refgcc -m32 -O -fomit-frame-pointer2017122420171218
44183403refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2017122420171218
44185275refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2017122420171218
44186463refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2017122420171218
44194203refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2017122420171218
44478063refgcc -m32 -O3 -fomit-frame-pointer2017122420171218
44479350refgcc -m32 -O2 -fomit-frame-pointer2017122420171218
44495874refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2017122420171218
44498394refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2017122420171218
44525673refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017122420171218
44530767refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2017122420171218
44530992refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2017122420171218
44531289refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2017122420171218
44531541refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2017122420171218
44533503refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2017122420171218
44535195refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2017122420171218
44733474refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2017122420171218
44793792refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2017122420171218
44851554refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2017122420171218
44864892refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2017122420171218
44873541refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2017122420171218
44895771refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2017122420171218
44904690refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2017122420171218
44914491refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2017122420171218
44958807refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2017122420171218
44980128refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2017122420171218
44990064refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2017122420171218
44991261refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2017122420171218
45013662refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2017122420171218
45016353refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2017122420171218
45027837refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2017122420171218
45189693refgcc -m32 -march=barcelona -O -fomit-frame-pointer2017122420171218
45214191refgcc -m32 -march=k6 -O -fomit-frame-pointer2017122420171218
45214263refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2017122420171218
45215757refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2017122420171218
45245646refgcc -m32 -march=k8 -O -fomit-frame-pointer2017122420171218
45385722refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2017122420171218
45389673refgcc -m32 -march=pentium -Os -fomit-frame-pointer2017122420171218
45505764refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2017122420171218
45505917refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2017122420171218
45615951refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2017122420171218
45616329refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2017122420171218
45616599refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2017122420171218
45616896refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017122420171218
45617004refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2017122420171218
45617328refgcc -m32 -march=core2 -Os -fomit-frame-pointer2017122420171218
45620280refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2017122420171218
45623709refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2017122420171218
45637173refgcc -m32 -march=athlon -Os -fomit-frame-pointer2017122420171218
45642897refgcc -m32 -march=k8 -Os -fomit-frame-pointer2017122420171218
45690948refgcc -m32 -Os -fomit-frame-pointer2017122420171218
45759519refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2017122420171218
45761310refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2017122420171218
45769779refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2017122420171218
45798138refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2017122420171218
45801063refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2017122420171218
45806823refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2017122420171218
45850284refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2017122420171218
45850320refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2017122420171218
45850581refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2017122420171218
45928629refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2017122420171218
45929025refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2017122420171218
45998082refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2017122420171218
46028349refgcc -m32 -march=prescott -Os -fomit-frame-pointer2017122420171218
46028799refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2017122420171218
46030680refgcc -m32 -march=nocona -Os -fomit-frame-pointer2017122420171218
46056465refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2017122420171218
46058958refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2017122420171218
46059624refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2017122420171218
46065726refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2017122420171218
46123713refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2017122420171218
46135071refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2017122420171218
46326456refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2017122420171218
46326717refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2017122420171218
46329039refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2017122420171218
46331595refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2017122420171218
46470069refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2017122420171218
46474164refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2017122420171218
46538379refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2017122420171218
46547811refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2017122420171218
46561464refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2017122420171218
46566225refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2017122420171218
46573443refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2017122420171218
46588662refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2017122420171218
46890558refgcc -m32 -march=i386 -Os -fomit-frame-pointer2017122420171218
46895706refgcc -m32 -march=i486 -Os -fomit-frame-pointer2017122420171218
46902735refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2017122420171218
46904274refgcc -m32 -march=k6 -Os -fomit-frame-pointer2017122420171218
46905381refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2017122420171218
47959326refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2017122420171218
48286962refgcc -m32 -march=athlon -O -fomit-frame-pointer2017122420171218
48324312refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2017122420171218
48852873refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2017122420171218
48938328refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2017122420171218
48945267refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2017122420171218
66954195refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2017122420171218
66957201refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2017122420171218
67180203refgcc -m32 -march=prescott -O -fomit-frame-pointer2017122420171218
67180887refgcc -m32 -march=nocona -O -fomit-frame-pointer2017122420171218
67600224refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2017122420171218
67603284refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2017122420171218
68098842refgcc -m32 -march=pentium -O -fomit-frame-pointer2017122420171218
68104071refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2017122420171218
69137109refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2017122420171218
69150339refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2017122420171218
69156864refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2017122420171218
69168978refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2017122420171218
69379515refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2017122420171218
69389154refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2017122420171218
69543900refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2017122420171218
69585246refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2017122420171218
69943068refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2017122420171218
69958710refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2017122420171218
70058619refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2017122420171218
70068816refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2017122420171218
70276158refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2017122420171218
70285779refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2017122420171218
70786296refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2017122420171218
70805178refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2017122420171218
80716194refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2017122420171218
80898525refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2017122420171218
80997813refgcc -m32 -march=i386 -O -fomit-frame-pointer2017122420171218
81205578refgcc -m32 -march=i486 -O -fomit-frame-pointer2017122420171218
83248056refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2017122420171218
83298942refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2017122420171218
83300994refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2017122420171218
83392983refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2017122420171218
83403891refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2017122420171218
83567889refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2017122420171218
83567916refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2017122420171218
83675844refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2017122420171218
85582233refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2017122420171218
86064894refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2017122420171218
87604866refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2017122420171218
88479927refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2017122420171218
88580556refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2017122420171218
88783560refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2017122420171218

Test failure

Implementation: crypto_kem/sntrup4591761/ref
Compiler: gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer
error 111

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

Compiler output

Implementation: crypto_kem/sntrup4591761/avx
Compiler: gcc -funroll-loops -m32 -O2 -fomit-frame-pointer
int32_sort.c: int32_sort.c: In function 'minmax02through1315':
int32_sort.c: int32_sort.c:15:3: error: unknown type name '__m256i'
int32_sort.c: __m256i a = _mm256_loadu_si256((__m256i *) x);
int32_sort.c: ^
int32_sort.c: int32_sort.c:15:35: error: '__m256i' undeclared (first use in this function)
int32_sort.c: __m256i a = _mm256_loadu_si256((__m256i *) x);
int32_sort.c: ^
int32_sort.c: int32_sort.c:15:35: note: each undeclared identifier is reported only once for each function it appears in
int32_sort.c: int32_sort.c:15:44: error: expected expression before ')' token
int32_sort.c: __m256i a = _mm256_loadu_si256((__m256i *) x);
int32_sort.c: ^
int32_sort.c: int32_sort.c:16:11: error: expected ';' before 'b'
int32_sort.c: __m256i b = _mm256_loadu_si256((__m256i *) (x + 8));
int32_sort.c: ^
int32_sort.c: int32_sort.c:17:11: error: expected ';' before 'c'
int32_sort.c: __m256i c = _mm256_unpacklo_epi64(a,b); /* a01b01a45b45 */
int32_sort.c: ^
int32_sort.c: int32_sort.c:18:11: error: expected ';' before 'd'
int32_sort.c: __m256i d = _mm256_unpackhi_epi64(a,b); /* a23b23a67b67 */
int32_sort.c: ^
int32_sort.c: int32_sort.c:19:11: error: expected ';' before 'g'
int32_sort.c: __m256i g = _mm256_min_epi32(c,d);
int32_sort.c: ^
int32_sort.c: int32_sort.c:20:11: error: expected ';' before 'h'
int32_sort.c: __m256i h = _mm256_max_epi32(c,d);
int32_sort.c: ...

Number of similar (compiler,implementation) pairs: 157, 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=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=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=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=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=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=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 -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 -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=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 -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 -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 -O -fomit-frame-pointer avx
gcc -m32 -march=corei7 -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=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=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
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=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=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=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
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 'minmax02through1315':
int32_sort.c: int32_sort.c:15:3: error: unknown type name '__m256i'
int32_sort.c: __m256i a = _mm256_loadu_si256((__m256i *) x);
int32_sort.c: ^
int32_sort.c: int32_sort.c:15:35: error: '__m256i' undeclared (first use in this function)
int32_sort.c: __m256i a = _mm256_loadu_si256((__m256i *) x);
int32_sort.c: ^
int32_sort.c: int32_sort.c:15:35: note: each undeclared identifier is reported only once for each function it appears in
int32_sort.c: int32_sort.c:15:44: error: expected expression before ')' token
int32_sort.c: __m256i a = _mm256_loadu_si256((__m256i *) x);
int32_sort.c: ^
int32_sort.c: int32_sort.c:16:11: error: expected ';' before 'b'
int32_sort.c: __m256i b = _mm256_loadu_si256((__m256i *) (x + 8));
int32_sort.c: ^
int32_sort.c: int32_sort.c:17:11: error: expected ';' before 'c'
int32_sort.c: __m256i c = _mm256_unpacklo_epi64(a,b); /* a01b01a45b45 */
int32_sort.c: ^
int32_sort.c: int32_sort.c:18:11: error: expected ';' before 'd'
int32_sort.c: __m256i d = _mm256_unpackhi_epi64(a,b); /* a23b23a67b67 */
int32_sort.c: ^
int32_sort.c: int32_sort.c:19:11: error: expected ';' before 'g'
int32_sort.c: __m256i g = _mm256_min_epi32(c,d);
int32_sort.c: ^
int32_sort.c: int32_sort.c:20:11: error: expected ';' before 'h'
int32_sort.c: __m256i h = _mm256_max_epi32(c,d);
int32_sort.c: ...
int32_sort.c: int32_sort.c: In function 'minmax02through1315':
int32_sort.c: int32_sort.c:15:3: error: unknown type name '__m256i'
int32_sort.c: __m256i a = _mm256_loadu_si256((__m256i *) x);
int32_sort.c: ^
int32_sort.c: int32_sort.c:15:35: error: '__m256i' undeclared (first use in this function)
int32_sort.c: __m256i a = _mm256_loadu_si256((__m256i *) x);
int32_sort.c: ^
int32_sort.c: int32_sort.c:15:35: note: each undeclared identifier is reported only once for each function it appears in
int32_sort.c: int32_sort.c:15:44: error: expected expression before ')' token
int32_sort.c: __m256i a = _mm256_loadu_si256((__m256i *) x);
int32_sort.c: ^
int32_sort.c: int32_sort.c:16:11: error: expected ';' before 'b'
int32_sort.c: __m256i b = _mm256_loadu_si256((__m256i *) (x + 8));
int32_sort.c: ^
int32_sort.c: int32_sort.c:17:11: error: expected ';' before 'c'
int32_sort.c: __m256i c = _mm256_unpacklo_epi64(a,b); /* a01b01a45b45 */
int32_sort.c: ^
int32_sort.c: int32_sort.c:18:11: error: expected ';' before 'd'
int32_sort.c: __m256i d = _mm256_unpackhi_epi64(a,b); /* a23b23a67b67 */
int32_sort.c: ^
int32_sort.c: int32_sort.c:19:11: error: expected ';' before 'g'
int32_sort.c: __m256i g = _mm256_min_epi32(c,d);
int32_sort.c: ^
int32_sort.c: int32_sort.c:20:11: error: expected ';' before 'h'
int32_sort.c: __m256i h = _mm256_max_epi32(c,d);
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: int32_sort.c: In function 'minmax02through1315':
int32_sort.c: int32_sort.c:17:15: error: incompatible types when initializing type '__m256i' using type 'int'
int32_sort.c: __m256i c = _mm256_unpacklo_epi64(a,b); /* a01b01a45b45 */
int32_sort.c: ^
int32_sort.c: int32_sort.c:18:15: error: incompatible types when initializing type '__m256i' using type 'int'
int32_sort.c: __m256i d = _mm256_unpackhi_epi64(a,b); /* a23b23a67b67 */
int32_sort.c: ^
int32_sort.c: int32_sort.c:19:15: error: incompatible types when initializing type '__m256i' using type 'int'
int32_sort.c: __m256i g = _mm256_min_epi32(c,d);
int32_sort.c: ^
int32_sort.c: int32_sort.c:20:15: error: incompatible types when initializing type '__m256i' using type 'int'
int32_sort.c: __m256i h = _mm256_max_epi32(c,d);
int32_sort.c: ^
int32_sort.c: int32_sort.c:21:5: error: incompatible types when assigning to type '__m256i' from type 'int'
int32_sort.c: a = _mm256_unpacklo_epi64(g,h);
int32_sort.c: ^
int32_sort.c: int32_sort.c:22:5: error: incompatible types when assigning to type '__m256i' from type 'int'
int32_sort.c: b = _mm256_unpackhi_epi64(g,h);
int32_sort.c: ^
int32_sort.c: int32_sort.c: In function 'minmax02134657':
int32_sort.c: int32_sort.c:31:15: error: incompatible types when initializing type '__m256i' using type 'int'
int32_sort.c: __m256i b = _mm256_shuffle_epi32(a,0x4e);
int32_sort.c: ^
int32_sort.c: int32_sort.c:32:15: error: incompatible types when initializing type '__m256i' using type 'int'
int32_sort.c: __m256i c = _mm256_cmpgt_epi32(a,b);
int32_sort.c: ...

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -m32 -march=core-avx-i -O2 -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 -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: 3, namely:
CompilerImplementations
gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer avx
gcc -m32 -march=core-avx2 -O -fomit-frame-pointer avx
gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer avx