Implementation notes: x86, samba, crypto_core/mult3sntrup761

Computer: samba
Architecture: x86
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20190803
Operation: crypto_core
Primitive: mult3sntrup761
TimeImplementationCompilerBenchmark dateSUPERCOP version
8448avxgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019073020190729
8455avxgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019073020190729
14230avxgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019073020190729
14542avxgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019073020190729
15317avxgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019073020190729
15477avxgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019073020190729
26760avxgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019073020190729
26820avxgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019073020190729
649668refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2019073020190729
650645refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2019073020190729
660504refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2019073020190729
664401refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2019073020190729
673484refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2019073020190729
683343refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2019073020190729
688724refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2019073020190729
689030refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2019073020190729
689148refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2019073020190729
690415refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2019073020190729
700040refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2019073020190729
721268refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2019073020190729
724532refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2019073020190729
735554refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2019073020190729
962324refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2019073020190729
966084refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2019073020190729
966295refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019073020190729
969133refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2019073020190729
970418refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2019073020190729
971498refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2019073020190729
971561refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2019073020190729
972532refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019073020190729
1009566refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2019073020190729
1042313refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2019073020190729
1065653refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2019073020190729
1078333refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019073020190729
1078627refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019073020190729
1079893refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2019073020190729
1082830refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2019073020190729
1086953refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2019073020190729
1109667refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2019073020190729
1111683refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2019073020190729
1112538refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2019073020190729
1112771refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2019073020190729
1161087refgcc -m32 -O3 -fomit-frame-pointer2019073020190729
1166179refgcc -m32 -O2 -fomit-frame-pointer2019073020190729
1194075refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019073020190729
1194097refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019073020190729
1198942refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2019073020190729
1200218refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2019073020190729
1206899refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2019073020190729
1209421refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2019073020190729
1214208refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2019073020190729
1214464refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2019073020190729
1218351refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2019073020190729
1235316refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2019073020190729
1236897refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2019073020190729
1237230refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2019073020190729
1237674refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2019073020190729
1240329refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2019073020190729
1271056refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2019073020190729
1287321refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2019073020190729
1729778refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2019073020190729
1730197refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2019073020190729
1730482refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2019073020190729
1739531refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2019073020190729
1740690refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2019073020190729
1744212refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2019073020190729
1746564refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2019073020190729
1746645refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2019073020190729
1752135refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2019073020190729
1752229refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2019073020190729
1753216refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2019073020190729
1753610refgcc -funroll-loops -m32 -O -fomit-frame-pointer2019073020190729
1757787refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2019073020190729
1760379refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2019073020190729
1880032refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2019073020190729
1889492refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2019073020190729
1889536refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2019073020190729
1889597refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019073020190729
1893449refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019073020190729
1893528refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2019073020190729
1894079refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2019073020190729
1900583refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2019073020190729
1982832refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2019073020190729
1982877refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2019073020190729
1982905refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2019073020190729
1983082refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2019073020190729
2000655refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2019073020190729
2001479refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2019073020190729
2003770refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2019073020190729
2003780refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2019073020190729
2003908refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2019073020190729
2010697refgcc -m32 -march=i386 -Os -fomit-frame-pointer2019073020190729
2012558refgcc -m32 -march=i486 -Os -fomit-frame-pointer2019073020190729
2013748refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2019073020190729
2014234refgcc -m32 -march=prescott -Os -fomit-frame-pointer2019073020190729
2015471refgcc -m32 -march=nocona -Os -fomit-frame-pointer2019073020190729
2027323refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2019073020190729
2027573refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2019073020190729
2028898refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2019073020190729
2028994refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2019073020190729
2035255refgcc -m32 -march=k8 -Os -fomit-frame-pointer2019073020190729
2037373refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2019073020190729
2045230refgcc -m32 -march=athlon -Os -fomit-frame-pointer2019073020190729
2045472refgcc -m32 -Os -fomit-frame-pointer2019073020190729
2049782refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019073020190729
2049848refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019073020190729
2065994refgcc -m32 -march=k6 -Os -fomit-frame-pointer2019073020190729
2065996refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2019073020190729
2066455refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2019073020190729
2080902refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2019073020190729
2083186refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019073020190729
2096548refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2019073020190729
2096591refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2019073020190729
2096613refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2019073020190729
2106679refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019073020190729
2106915refgcc -m32 -march=pentium -Os -fomit-frame-pointer2019073020190729
2107326refgcc -m32 -march=core2 -Os -fomit-frame-pointer2019073020190729
2107597refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2019073020190729
2107754refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2019073020190729
2386649refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2019073020190729
2388594refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2019073020190729
2389353refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019073020190729
2389440refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2019073020190729
2394959refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2019073020190729
2395438refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2019073020190729
2395575refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2019073020190729
2395887refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019073020190729
2396409refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2019073020190729
2396426refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2019073020190729
2404423refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2019073020190729
2410140refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2019073020190729
2410180refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2019073020190729
2410703refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2019073020190729
2410742refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2019073020190729
2410748refgcc -m32 -march=core2 -O -fomit-frame-pointer2019073020190729
2410958refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019073020190729
2411266refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2019073020190729
2411623refgcc -m32 -march=corei7 -O -fomit-frame-pointer2019073020190729
2413203refgcc -m32 -march=barcelona -O -fomit-frame-pointer2019073020190729
2413314refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019073020190729
2413676refgcc -m32 -march=k8 -O -fomit-frame-pointer2019073020190729
2415025refgcc -m32 -O -fomit-frame-pointer2019073020190729
2415359refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2019073020190729
2415948refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2019073020190729
2415996refgcc -m32 -march=k6 -O -fomit-frame-pointer2019073020190729
2416018refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2019073020190729
2416062refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2019073020190729
2416169refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2019073020190729
2430293refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2019073020190729
2430996refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2019073020190729
2441421refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2019073020190729
2442623refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2019073020190729
2471297refgcc -m32 -march=athlon -O -fomit-frame-pointer2019073020190729
2481227refgcc -m32 -march=i386 -O -fomit-frame-pointer2019073020190729
2482762refgcc -m32 -march=i486 -O -fomit-frame-pointer2019073020190729
2482891refgcc -m32 -march=nocona -O -fomit-frame-pointer2019073020190729
2483879refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2019073020190729
2484222refgcc -m32 -march=prescott -O -fomit-frame-pointer2019073020190729
2484976refgcc -m32 -march=pentium -O -fomit-frame-pointer2019073020190729
2574129refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2019073020190729
2574173refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2019073020190729
2574603refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2019073020190729
2574726refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2019073020190729
2576345refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2019073020190729
2579180refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2019073020190729
2579236refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2019073020190729
2579278refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2019073020190729
2611964refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2019073020190729
2612157refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019073020190729
2617151refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019073020190729
2617403refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2019073020190729
2645166refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2019073020190729
2645206refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2019073020190729
2645242refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2019073020190729
2660468refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2019073020190729
2660638refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2019073020190729
2660664refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2019073020190729
2670857refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2019073020190729
2671083refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2019073020190729
2671120refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2019073020190729
3069700refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2019073020190729
3078276refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2019073020190729
3082016refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2019073020190729
3083931refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2019073020190729

Compiler output

Implementation: crypto_core/mult3sntrup761/round1
Compiler: gcc -funroll-loops -m32 -O2 -fomit-frame-pointer
mult.c: mult.c: In function '_mm_load_cvtepi8_epi16':
mult.c: mult.c:58:1: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
mult.c: {
mult.c: ^
mult.c: mult.c: In function 'add':
mult.c: mult.c:81:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
mult.c: {
mult.c: ^
mult.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:85:0,
mult.c: from mult.c:2:
mult.c: mult.c: In function 'fastadd':
mult.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/fmaintrin.h:63:1: error: inlining failed in call to always_inline '_mm256_fmadd_ps': target specific option mismatch
mult.c: _mm256_fmadd_ps (__m256 __A, __m256 __B, __m256 __C)
mult.c: ^~~~~~~~~~~~~~~
mult.c: mult.c:87:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mult.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
mult.c: from mult.c:2:
mult.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:1310:1: error: inlining failed in call to always_inline '_mm256_set1_ps': target specific option mismatch
mult.c: _mm256_set1_ps (float __A)
mult.c: ^~~~~~~~~~~~~~
mult.c: mult.c:87:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

Compiler output

Implementation: crypto_core/mult3sntrup761/avx
Compiler: gcc -funroll-loops -m32 -O2 -fomit-frame-pointer
mult768.c: mult768.c: In function 'squeeze_3_x16':
mult768.c: mult768.c:19:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
mult768.c: {
mult768.c: ^
mult768.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
mult768.c: from mult768.c:2:
mult768.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:808:1: error: inlining failed in call to always_inline '_mm256_sub_epi16': target specific option mismatch
mult768.c: _mm256_sub_epi16 (__m256i __A, __m256i __B)
mult768.c: ^~~~~~~~~~~~~~~~
mult768.c: mult768.c:12:17: note: called from here
mult768.c: #define sub_x16 _mm256_sub_epi16
mult768.c: ^
mult768.c: mult768.c:20:10: note: in expansion of macro 'sub_x16'
mult768.c: return sub_x16(x,mullo_x16(mulhrs_x16(x,const_x16(10923)),const_x16(3)));
mult768.c: ^~~~~~~
mult768.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
mult768.c: from mult768.c:2:
mult768.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:553:1: error: inlining failed in call to always_inline '_mm256_mullo_epi16': target specific option mismatch
mult768.c: _mm256_mullo_epi16 (__m256i __A, __m256i __B)
mult768.c: ^~~~~~~~~~~~~~~~~~
mult768.c: mult768.c:12:17: note: called from here
mult768.c: #define sub_x16 _mm256_sub_epi16
mult768.c: ^
mult768.c: mult768.c:20:10: note: in expansion of macro 'sub_x16'
mult768.c: return sub_x16(x,mullo_x16(mulhrs_x16(x,const_x16(10923)),const_x16(3)));
mult768.c: ...

Number of similar (compiler,implementation) pairs: 156, 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 -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=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=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_core/mult3sntrup761/round1
Compiler: gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer
mult.c: mult.c: In function 'add':
mult.c: mult.c:81:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
mult.c: {
mult.c: ^
mult.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:85:0,
mult.c: from mult.c:2:
mult.c: mult.c: In function 'fastadd':
mult.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/fmaintrin.h:63:1: error: inlining failed in call to always_inline '_mm256_fmadd_ps': target specific option mismatch
mult.c: _mm256_fmadd_ps (__m256 __A, __m256 __B, __m256 __C)
mult.c: ^~~~~~~~~~~~~~~
mult.c: mult.c:87:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mult.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
mult.c: from mult.c:2:
mult.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:1310:1: error: inlining failed in call to always_inline '_mm256_set1_ps': target specific option mismatch
mult.c: _mm256_set1_ps (float __A)
mult.c: ^~~~~~~~~~~~~~
mult.c: mult.c:87:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

Compiler output

Implementation: crypto_core/mult3sntrup761/round1
Compiler: gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
mult.c: mult.c: In function 'add':
mult.c: mult.c:81:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
mult.c: {
mult.c: ^
mult.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:85:0,
mult.c: from mult.c:2:
mult.c: mult.c: In function 'fastadd':
mult.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/fmaintrin.h:63:1: error: inlining failed in call to always_inline '_mm256_fmadd_ps': target specific option mismatch
mult.c: _mm256_fmadd_ps (__m256 __A, __m256 __B, __m256 __C)
mult.c: ^~~~~~~~~~~~~~~
mult.c: mult.c:87:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mult.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
mult.c: from mult.c:2:
mult.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:1310:1: error: inlining failed in call to always_inline '_mm256_set1_ps': target specific option mismatch
mult.c: _mm256_set1_ps (float __A)
mult.c: ^~~~~~~~~~~~~~
mult.c: mult.c:87:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mult.c: mult.c: In function 'add':
mult.c: mult.c:81:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
mult.c: {
mult.c: ^
mult.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:85:0,
mult.c: from mult.c:2:
mult.c: mult.c: In function 'fastadd':
mult.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/fmaintrin.h:63:1: error: inlining failed in call to always_inline '_mm256_fmadd_ps': target specific option mismatch
mult.c: _mm256_fmadd_ps (__m256 __A, __m256 __B, __m256 __C)
mult.c: ^~~~~~~~~~~~~~~
mult.c: mult.c:87:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mult.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
mult.c: from mult.c:2:
mult.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:1310:1: error: inlining failed in call to always_inline '_mm256_set1_ps': target specific option mismatch
mult.c: _mm256_set1_ps (float __A)
mult.c: ^~~~~~~~~~~~~~
mult.c: mult.c:87:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

Compiler output

Implementation: crypto_core/mult3sntrup761/avx
Compiler: gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
mult768.c: mult768.c: In function 'squeeze_3_x16':
mult768.c: mult768.c:19:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
mult768.c: {
mult768.c: ^
mult768.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
mult768.c: from mult768.c:2:
mult768.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:808:1: error: inlining failed in call to always_inline '_mm256_sub_epi16': target specific option mismatch
mult768.c: _mm256_sub_epi16 (__m256i __A, __m256i __B)
mult768.c: ^~~~~~~~~~~~~~~~
mult768.c: mult768.c:12:17: note: called from here
mult768.c: #define sub_x16 _mm256_sub_epi16
mult768.c: ^
mult768.c: mult768.c:20:10: note: in expansion of macro 'sub_x16'
mult768.c: return sub_x16(x,mullo_x16(mulhrs_x16(x,const_x16(10923)),const_x16(3)));
mult768.c: ^~~~~~~
mult768.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
mult768.c: from mult768.c:2:
mult768.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:553:1: error: inlining failed in call to always_inline '_mm256_mullo_epi16': target specific option mismatch
mult768.c: _mm256_mullo_epi16 (__m256i __A, __m256i __B)
mult768.c: ^~~~~~~~~~~~~~~~~~
mult768.c: mult768.c:12:17: note: called from here
mult768.c: #define sub_x16 _mm256_sub_epi16
mult768.c: ^
mult768.c: mult768.c:20:10: note: in expansion of macro 'sub_x16'
mult768.c: return sub_x16(x,mullo_x16(mulhrs_x16(x,const_x16(10923)),const_x16(3)));
mult768.c: ...
mult768.c: mult768.c: In function 'squeeze_3_x16':
mult768.c: mult768.c:19:1: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
mult768.c: {
mult768.c: ^
mult768.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
mult768.c: from mult768.c:2:
mult768.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:808:1: error: inlining failed in call to always_inline '_mm256_sub_epi16': target specific option mismatch
mult768.c: _mm256_sub_epi16 (__m256i __A, __m256i __B)
mult768.c: ^~~~~~~~~~~~~~~~
mult768.c: mult768.c:12:17: note: called from here
mult768.c: #define sub_x16 _mm256_sub_epi16
mult768.c: ^
mult768.c: mult768.c:20:10: note: in expansion of macro 'sub_x16'
mult768.c: return sub_x16(x,mullo_x16(mulhrs_x16(x,const_x16(10923)),const_x16(3)));
mult768.c: ^~~~~~~
mult768.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
mult768.c: from mult768.c:2:
mult768.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:553:1: error: inlining failed in call to always_inline '_mm256_mullo_epi16': target specific option mismatch
mult768.c: _mm256_mullo_epi16 (__m256i __A, __m256i __B)
mult768.c: ^~~~~~~~~~~~~~~~~~
mult768.c: mult768.c:12:17: note: called from here
mult768.c: #define sub_x16 _mm256_sub_epi16
mult768.c: ^
mult768.c: mult768.c:20:10: note: in expansion of macro 'sub_x16'
mult768.c: return sub_x16(x,mullo_x16(mulhrs_x16(x,const_x16(10923)),const_x16(3)));
mult768.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_core/mult3sntrup761/round1
Compiler: gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer
mult.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:85:0,
mult.c: from mult.c:2:
mult.c: mult.c: In function 'fastadd':
mult.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/fmaintrin.h:63:1: error: inlining failed in call to always_inline '_mm256_fmadd_ps': target specific option mismatch
mult.c: _mm256_fmadd_ps (__m256 __A, __m256 __B, __m256 __C)
mult.c: ^~~~~~~~~~~~~~~
mult.c: mult.c:87:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mult.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:85:0,
mult.c: from mult.c:2:
mult.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/fmaintrin.h:63:1: error: inlining failed in call to always_inline '_mm256_fmadd_ps': target specific option mismatch
mult.c: _mm256_fmadd_ps (__m256 __A, __m256 __B, __m256 __C)
mult.c: ^~~~~~~~~~~~~~~
mult.c: mult.c:87:10: note: called from here
mult.c: return _mm256_fmadd_ps(y,v1_float,x);
mult.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

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

Compiler output

Implementation: crypto_core/mult3sntrup761/avx
Compiler: gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer
mult768.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
mult768.c: from mult768.c:2:
mult768.c: mult768.c: In function 'squeeze_3_x16':
mult768.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:808:1: error: inlining failed in call to always_inline '_mm256_sub_epi16': target specific option mismatch
mult768.c: _mm256_sub_epi16 (__m256i __A, __m256i __B)
mult768.c: ^~~~~~~~~~~~~~~~
mult768.c: mult768.c:12:17: note: called from here
mult768.c: #define sub_x16 _mm256_sub_epi16
mult768.c: ^
mult768.c: mult768.c:20:10: note: in expansion of macro 'sub_x16'
mult768.c: return sub_x16(x,mullo_x16(mulhrs_x16(x,const_x16(10923)),const_x16(3)));
mult768.c: ^~~~~~~
mult768.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
mult768.c: from mult768.c:2:
mult768.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:553:1: error: inlining failed in call to always_inline '_mm256_mullo_epi16': target specific option mismatch
mult768.c: _mm256_mullo_epi16 (__m256i __A, __m256i __B)
mult768.c: ^~~~~~~~~~~~~~~~~~
mult768.c: mult768.c:12:17: note: called from here
mult768.c: #define sub_x16 _mm256_sub_epi16
mult768.c: ^
mult768.c: mult768.c:20:10: note: in expansion of macro 'sub_x16'
mult768.c: return sub_x16(x,mullo_x16(mulhrs_x16(x,const_x16(10923)),const_x16(3)));
mult768.c: ^~~~~~~
mult768.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
mult768.c: from mult768.c:2:
mult768.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_core/mult3sntrup761/round1
Compiler: gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer
mult.c: mult.c: In function 'mult24x8_float':
mult.c: mult.c:46:3: error: 'asm' operand has impossible constraints
mult.c: __asm__( \
mult.c: ^
mult.c: mult.c:146:3: note: in expansion of macro 'MULSTEP_fromzero'
mult.c: MULSTEP_fromzero(0,h0,h1,h2,h3,h4)
mult.c: ^~~~~~~~~~~~~~~~
mult.c: mult.c:33:3: error: 'asm' operand has impossible constraints
mult.c: __asm__( \
mult.c: ^
mult.c: mult.c:148: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:33:3: error: 'asm' operand has impossible constraints
mult.c: __asm__( \
mult.c: ^
mult.c: mult.c:149: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:33:3: error: 'asm' operand has impossible constraints
mult.c: __asm__( \
mult.c: ^
mult.c: mult.c:150: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 round1
gcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer round1
gcc -m32 -march=core-avx2 -O -fomit-frame-pointer round1
gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer round1
gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer round1
gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer round1
gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer round1
gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer round1