Implementation notes: x86, rumba7, crypto_kem/sntrup4591761

Computer: rumba7
Architecture: x86
CPU ID: AuthenticAMD-00800f11-178bfbff
SUPERCOP version: 20171218
Operation: crypto_kem
Primitive: sntrup4591761
TimeImplementationCompilerBenchmark dateSUPERCOP version
40300860refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018060820171218
40302540refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2018060820171218
40305330refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2018060820171218
40305450refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2018060820171218
40307220refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2018060820171218
40307280refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2018060820171218
40308240refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2018060820171218
40308870refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2018060820171218
40318680refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2018060820171218
40319400refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2018060820171218
40321440refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2018060820171218
40327260refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2018060820171218
40328520refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2018060820171218
40328580refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2018060820171218
40334850refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2018060820171218
40337550refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2018060820171218
40338030refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2018060820171218
40338060refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2018060820171218
40344450refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018060820171218
40344510refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2018060820171218
40345110refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2018060820171218
40349130refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2018060820171218
40349280refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2018060820171218
40353840refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2018060820171218
40359270refgcc -m32 -O3 -fomit-frame-pointer2018060820171218
40374270refgcc -m32 -O2 -fomit-frame-pointer2018060820171218
40395480refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2018060820171218
40396290refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2018060820171218
40396890refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2018060820171218
40398330refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2018060820171218
40399590refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2018060820171218
40399650refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2018060820171218
40400370refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2018060820171218
40400550refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2018060820171218
40401750refgcc -m32 -O -fomit-frame-pointer2018060820171218
40402080refgcc -m32 -march=corei7 -O -fomit-frame-pointer2018060820171218
40405650refgcc -m32 -march=core2 -O -fomit-frame-pointer2018060820171218
40406400refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2018060820171218
40407450refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2018060820171218
40418790refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2018060820171218
40419630refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2018060820171218
40428990refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2018060820171218
40429590refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2018060820171218
40846770refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2018060820171218
40848420refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2018060820171218
41182380refgcc -funroll-loops -m32 -O -fomit-frame-pointer2018060820171218
41382480refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2018060820171218
41387340refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2018060820171218
41405640refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2018060820171218
41406450refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2018060820171218
41456430refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2018060820171218
41456640refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2018060820171218
41457120refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2018060820171218
41462790refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2018060820171218
41462910refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2018060820171218
41463180refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2018060820171218
41503890refgcc -m32 -march=barcelona -O -fomit-frame-pointer2018060820171218
41518320refgcc -m32 -march=k8 -O -fomit-frame-pointer2018060820171218
41518500refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2018060820171218
41520840refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2018060820171218
41521800refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2018060820171218
41522250refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2018060820171218
41530230refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2018060820171218
41530950refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2018060820171218
41537250refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2018060820171218
41544480refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2018060820171218
41544990refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2018060820171218
41546310refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2018060820171218
41549790refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2018060820171218
41553840refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2018060820171218
41554050refgcc -m32 -march=k6 -O -fomit-frame-pointer2018060820171218
41555490refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2018060820171218
41555640refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2018060820171218
41555670refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2018060820171218
41557740refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2018060820171218
41563650refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018060820171218
41563740refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2018060820171218
41563920refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2018060820171218
41564040refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2018060820171218
41564070refgcc -m32 -march=core2 -Os -fomit-frame-pointer2018060820171218
41564130refgcc -m32 -march=k8 -Os -fomit-frame-pointer2018060820171218
41564250refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2018060820171218
41565300refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2018060820171218
41565330refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2018060820171218
41565870refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2018060820171218
41566710refgcc -m32 -march=k6 -Os -fomit-frame-pointer2018060820171218
41567010refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2018060820171218
41567070refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2018060820171218
41570220refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2018060820171218
41570580refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2018060820171218
41571090refgcc -m32 -march=i386 -Os -fomit-frame-pointer2018060820171218
41571450refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2018060820171218
41571480refgcc -m32 -march=i486 -Os -fomit-frame-pointer2018060820171218
41571660refgcc -m32 -march=prescott -Os -fomit-frame-pointer2018060820171218
41572170refgcc -m32 -Os -fomit-frame-pointer2018060820171218
41572260refgcc -m32 -march=nocona -Os -fomit-frame-pointer2018060820171218
41572350refgcc -m32 -march=athlon -Os -fomit-frame-pointer2018060820171218
41572500refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2018060820171218
41572590refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2018060820171218
41573880refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2018060820171218
41578140refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2018060820171218
41578470refgcc -m32 -march=pentium -Os -fomit-frame-pointer2018060820171218
41581620refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2018060820171218
41581830refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2018060820171218
41582130refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2018060820171218
41871780refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2018060820171218
41877660refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2018060820171218
41892450refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2018060820171218
41896800refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2018060820171218
41916330refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2018060820171218
41923050refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2018060820171218
41923350refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2018060820171218
41926800refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2018060820171218
41930460refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2018060820171218
41930790refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2018060820171218
41936670refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2018060820171218
41937120refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2018060820171218
42046260refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2018060820171218
42047010refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2018060820171218
42047430refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2018060820171218
42051600refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2018060820171218
42053010refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2018060820171218
42053400refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2018060820171218
42289290refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2018060820171218
42299520refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2018060820171218
42299820refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2018060820171218
42300060refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2018060820171218
42304320refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2018060820171218
43620480refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2018060820171218
43624650refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2018060820171218
43657710refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2018060820171218
43704300refgcc -m32 -march=athlon -O -fomit-frame-pointer2018060820171218
43737900refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2018060820171218
47403300refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2018060820171218
73690590refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2018060820171218
73702050refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2018060820171218
73709130refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2018060820171218
73854840refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2018060820171218
73891200refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2018060820171218
73967100refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2018060820171218
77830470refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2018060820171218
77830860refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2018060820171218
77851410refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2018060820171218
77852730refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2018060820171218
77910090refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2018060820171218
77910330refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2018060820171218
77915520refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2018060820171218
77915940refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2018060820171218
77919180refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2018060820171218
77919420refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2018060820171218
77970090refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2018060820171218
77970600refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2018060820171218
77971590refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2018060820171218
77971620refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2018060820171218
78121290refgcc -m32 -march=nocona -O -fomit-frame-pointer2018060820171218
78121770refgcc -m32 -march=prescott -O -fomit-frame-pointer2018060820171218
78180810refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2018060820171218
78181290refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2018060820171218
78245070refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2018060820171218
78245310refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2018060820171218
78951960refgcc -m32 -march=pentium -O -fomit-frame-pointer2018060820171218
78952740refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2018060820171218
79083270refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2018060820171218
79084410refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2018060820171218
81505830refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2018060820171218
81508920refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2018060820171218
81509940refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2018060820171218
81513360refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2018060820171218
81516810refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2018060820171218
81521610refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2018060820171218
81523200refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2018060820171218
81523860refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2018060820171218
82431240refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2018060820171218
82446540refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2018060820171218
82455840refgcc -m32 -march=i486 -O -fomit-frame-pointer2018060820171218
82459350refgcc -m32 -march=i386 -O -fomit-frame-pointer2018060820171218

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