Implementation notes: x86, samba, crypto_core/multsntrup761

Computer: samba
Architecture: x86
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20190803
Operation: crypto_core
Primitive: multsntrup761
TimeImplementationCompilerBenchmark dateSUPERCOP version
16670avxgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019073020190729
16671avxgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019073020190729
18931avxgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019073020190729
18943avxgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019073020190729
18948avxgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019073020190729
18980avxgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019073020190729
23427avxgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019073020190729
23961avxgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019073020190729
226296refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2019073020190729
226625refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2019073020190729
229950refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019073020190729
229960refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019073020190729
235985refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2019073020190729
235993refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2019073020190729
236063refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2019073020190729
255760refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2019073020190729
709246refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2019073020190729
709573refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2019073020190729
750966refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2019073020190729
760404refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2019073020190729
760607refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2019073020190729
765435refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2019073020190729
766954refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2019073020190729
767678refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2019073020190729
769716refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2019073020190729
772111refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2019073020190729
773439refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2019073020190729
773839refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2019073020190729
781623refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2019073020190729
782572refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2019073020190729
784184refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2019073020190729
784349refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2019073020190729
785413refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2019073020190729
786589refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019073020190729
789956refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2019073020190729
791121refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2019073020190729
793707refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2019073020190729
794474refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2019073020190729
795412refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2019073020190729
796095refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2019073020190729
796244refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2019073020190729
796619refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2019073020190729
796790refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019073020190729
797970refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2019073020190729
798686refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2019073020190729
803320refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019073020190729
804220refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2019073020190729
813710refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2019073020190729
815339refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2019073020190729
815937refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2019073020190729
826088refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019073020190729
826615refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2019073020190729
949206refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2019073020190729
951170refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2019073020190729
952801refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2019073020190729
988250refgcc -funroll-loops -m32 -O -fomit-frame-pointer2019073020190729
988315refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2019073020190729
989494refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2019073020190729
989655refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2019073020190729
990250refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2019073020190729
990853refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2019073020190729
991970refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2019073020190729
994768refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2019073020190729
1005353refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2019073020190729
1016797refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2019073020190729
1017504refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2019073020190729
1024553refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2019073020190729
1025958refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2019073020190729
1045895refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2019073020190729
1046593refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2019073020190729
1055867refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2019073020190729
1058919refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2019073020190729
1149990refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2019073020190729
1151165refgcc -m32 -march=core2 -Os -fomit-frame-pointer2019073020190729
1170070refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2019073020190729
1178875refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2019073020190729
1199811refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2019073020190729
1200412refgcc -m32 -march=nocona -Os -fomit-frame-pointer2019073020190729
1200528refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019073020190729
1200571refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019073020190729
1200820refgcc -m32 -O2 -fomit-frame-pointer2019073020190729
1201028refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2019073020190729
1201071refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2019073020190729
1201077refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2019073020190729
1201097refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2019073020190729
1201278refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2019073020190729
1202081refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2019073020190729
1202182refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2019073020190729
1202769refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2019073020190729
1203033refgcc -m32 -O3 -fomit-frame-pointer2019073020190729
1204096refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2019073020190729
1204411refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2019073020190729
1204437refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2019073020190729
1204988refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2019073020190729
1205066refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2019073020190729
1205091refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2019073020190729
1205191refgcc -m32 -march=prescott -Os -fomit-frame-pointer2019073020190729
1205787refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2019073020190729
1206114refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019073020190729
1206756refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2019073020190729
1207443refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2019073020190729
1208020refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2019073020190729
1208058refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2019073020190729
1208073refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2019073020190729
1208078refgcc -m32 -march=core2 -O -fomit-frame-pointer2019073020190729
1208089refgcc -m32 -march=corei7 -O -fomit-frame-pointer2019073020190729
1208232refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2019073020190729
1208887refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2019073020190729
1209010refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2019073020190729
1210411refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019073020190729
1210982refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019073020190729
1211274refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019073020190729
1211430refgcc -m32 -march=athlon -Os -fomit-frame-pointer2019073020190729
1211958refgcc -m32 -Os -fomit-frame-pointer2019073020190729
1212099refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2019073020190729
1212113refgcc -m32 -march=barcelona -O -fomit-frame-pointer2019073020190729
1212277refgcc -m32 -march=i486 -Os -fomit-frame-pointer2019073020190729
1212343refgcc -m32 -march=i386 -Os -fomit-frame-pointer2019073020190729
1212462refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019073020190729
1212553refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2019073020190729
1212621refgcc -m32 -march=athlon -O -fomit-frame-pointer2019073020190729
1212629refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2019073020190729
1213351refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2019073020190729
1213449refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2019073020190729
1214155refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2019073020190729
1214416refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2019073020190729
1215280refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019073020190729
1215456refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2019073020190729
1215777refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2019073020190729
1215948refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2019073020190729
1215956refgcc -m32 -march=k8 -O -fomit-frame-pointer2019073020190729
1216016refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2019073020190729
1216051refgcc -m32 -march=k6 -Os -fomit-frame-pointer2019073020190729
1216149refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2019073020190729
1217418refgcc -m32 -march=k8 -Os -fomit-frame-pointer2019073020190729
1217423refgcc -m32 -O -fomit-frame-pointer2019073020190729
1217754refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2019073020190729
1218047refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2019073020190729
1218248refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2019073020190729
1221168refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2019073020190729
1221582refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2019073020190729
1221664refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2019073020190729
1221868refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2019073020190729
1222036refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2019073020190729
1222186refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2019073020190729
1222389refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2019073020190729
1222540refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2019073020190729
1223427refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2019073020190729
1223774refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2019073020190729
1223774refgcc -m32 -march=k6 -O -fomit-frame-pointer2019073020190729
1224391refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2019073020190729
1224574refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2019073020190729
1225947refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2019073020190729
1226284refgcc -m32 -march=nocona -O -fomit-frame-pointer2019073020190729
1226607refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2019073020190729
1227443refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2019073020190729
1227526refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2019073020190729
1227665refgcc -m32 -march=prescott -O -fomit-frame-pointer2019073020190729
1230665refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2019073020190729
1230795refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019073020190729
1231143refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2019073020190729
1231202refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2019073020190729
1231597refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2019073020190729
1231666refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2019073020190729
1232161refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2019073020190729
1232430refgcc -m32 -march=pentium -O -fomit-frame-pointer2019073020190729
1233893refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019073020190729
1234137refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2019073020190729
1235331refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2019073020190729
1237303refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2019073020190729
1237596refgcc -m32 -march=i486 -O -fomit-frame-pointer2019073020190729
1240833refgcc -m32 -march=i386 -O -fomit-frame-pointer2019073020190729
1272391refgcc -m32 -march=pentium -Os -fomit-frame-pointer2019073020190729
1277423refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019073020190729
1287597refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019073020190729
1290228refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2019073020190729
1299615refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2019073020190729
1305309refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2019073020190729
1307148refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2019073020190729
1307286refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2019073020190729
1307990refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2019073020190729
1311843refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2019073020190729
1312109refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2019073020190729
1313316refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2019073020190729

Compiler output

Implementation: crypto_core/multsntrup761/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/multsntrup761/avx
Compiler: gcc -funroll-loops -m32 -O2 -fomit-frame-pointer
mult768.c: mult768.c: In function 'squeeze_4591_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(7)),const_x16(4591)));
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(7)),const_x16(4591)));
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/multsntrup761/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/multsntrup761/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/multsntrup761/avx
Compiler: gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
mult768.c: mult768.c: In function 'squeeze_4591_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(7)),const_x16(4591)));
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(7)),const_x16(4591)));
mult768.c: ...
mult768.c: mult768.c: In function 'squeeze_4591_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(7)),const_x16(4591)));
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(7)),const_x16(4591)));
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/multsntrup761/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/multsntrup761/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_4591_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(7)),const_x16(4591)));
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(7)),const_x16(4591)));
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/multsntrup761/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