Implementation notes: x86, titan0, crypto_core/mult3sntrup761

Computer: titan0
Architecture: x86
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20190803
Operation: crypto_core
Primitive: mult3sntrup761
TimeImplementationCompilerBenchmark dateSUPERCOP version
10116avxgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019073120190729
10164avxgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019073120190729
15488avxgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019073120190729
15516avxgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019073120190729
16916avxgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019073120190729
16960avxgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019073120190729
29208avxgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019073120190729
29484avxgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019073120190729
645380refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2019073120190729
645968refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2019073120190729
646708refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2019073120190729
649400refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2019073120190729
652372refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2019073120190729
659916refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2019073120190729
660812refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2019073120190729
663416refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2019073120190729
664400refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2019073120190729
666388refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2019073120190729
678232refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2019073120190729
686772refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2019073120190729
688112refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2019073120190729
688164refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2019073120190729
910088refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2019073120190729
911988refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2019073120190729
912100refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019073120190729
913084refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2019073120190729
917020refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2019073120190729
922392refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019073120190729
922716refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2019073120190729
923064refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2019073120190729
1073548refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019073120190729
1073944refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019073120190729
1086436refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019073120190729
1086676refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019073120190729
1106564refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2019073120190729
1111284refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2019073120190729
1113548refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2019073120190729
1122124refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2019073120190729
1123924refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2019073120190729
1128512refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2019073120190729
1129108refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2019073120190729
1132220refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2019073120190729
1136516refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2019073120190729
1136884refgcc -m32 -O2 -fomit-frame-pointer2019073120190729
1138624refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2019073120190729
1166992refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2019073120190729
1167040refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2019073120190729
1194512refgcc -m32 -O3 -fomit-frame-pointer2019073120190729
1201588refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2019073120190729
1235620refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2019073120190729
1242976refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2019073120190729
1243184refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2019073120190729
1244588refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2019073120190729
1245280refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2019073120190729
1246576refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2019073120190729
1249668refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2019073120190729
1257276refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2019073120190729
1257664refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2019073120190729
1285132refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2019073120190729
1304216refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2019073120190729
1745184refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2019073120190729
1745336refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2019073120190729
1745424refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2019073120190729
1758412refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2019073120190729
1758948refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2019073120190729
1760796refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2019073120190729
1760836refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2019073120190729
1763012refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2019073120190729
1771784refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2019073120190729
1771808refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2019073120190729
1773372refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2019073120190729
1776476refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2019073120190729
1776612refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2019073120190729
1777100refgcc -funroll-loops -m32 -O -fomit-frame-pointer2019073120190729
1874216refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2019073120190729
1878764refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019073120190729
1878776refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2019073120190729
1880020refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2019073120190729
1888220refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2019073120190729
1888672refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019073120190729
1888776refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2019073120190729
1888984refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2019073120190729
2008280refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2019073120190729
2008376refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2019073120190729
2008900refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2019073120190729
2009608refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2019073120190729
2051960refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2019073120190729
2052644refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2019073120190729
2052712refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2019073120190729
2053936refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2019073120190729
2054348refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2019073120190729
2065936refgcc -m32 -march=i386 -Os -fomit-frame-pointer2019073120190729
2066172refgcc -m32 -march=i486 -Os -fomit-frame-pointer2019073120190729
2067052refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2019073120190729
2067312refgcc -m32 -march=nocona -Os -fomit-frame-pointer2019073120190729
2067368refgcc -m32 -march=prescott -Os -fomit-frame-pointer2019073120190729
2126032refgcc -m32 -march=k6 -Os -fomit-frame-pointer2019073120190729
2126072refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2019073120190729
2126120refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2019073120190729
2129132refgcc -m32 -Os -fomit-frame-pointer2019073120190729
2129160refgcc -m32 -march=athlon -Os -fomit-frame-pointer2019073120190729
2130612refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2019073120190729
2131512refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2019073120190729
2132784refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2019073120190729
2132916refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2019073120190729
2142296refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2019073120190729
2142448refgcc -m32 -march=k8 -Os -fomit-frame-pointer2019073120190729
2163876refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019073120190729
2164240refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019073120190729
2172268refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019073120190729
2172544refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2019073120190729
2181020refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2019073120190729
2181356refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2019073120190729
2181392refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2019073120190729
2184048refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2019073120190729
2184684refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019073120190729
2184824refgcc -m32 -march=pentium -Os -fomit-frame-pointer2019073120190729
2185124refgcc -m32 -march=core2 -Os -fomit-frame-pointer2019073120190729
2186780refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2019073120190729
2380532refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2019073120190729
2382936refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2019073120190729
2382940refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019073120190729
2384772refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2019073120190729
2388012refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2019073120190729
2391184refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2019073120190729
2391240refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019073120190729
2393888refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2019073120190729
2397628refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2019073120190729
2397676refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2019073120190729
2397736refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2019073120190729
2418492refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2019073120190729
2418628refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2019073120190729
2418672refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2019073120190729
2430772refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2019073120190729
2430844refgcc -m32 -O -fomit-frame-pointer2019073120190729
2430868refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2019073120190729
2430892refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2019073120190729
2430912refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2019073120190729
2430940refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2019073120190729
2431692refgcc -m32 -march=core2 -O -fomit-frame-pointer2019073120190729
2432216refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019073120190729
2432376refgcc -m32 -march=k8 -O -fomit-frame-pointer2019073120190729
2432444refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019073120190729
2433008refgcc -m32 -march=barcelona -O -fomit-frame-pointer2019073120190729
2433072refgcc -m32 -march=corei7 -O -fomit-frame-pointer2019073120190729
2434464refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2019073120190729
2434492refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2019073120190729
2434540refgcc -m32 -march=k6 -O -fomit-frame-pointer2019073120190729
2454288refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2019073120190729
2457140refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2019073120190729
2465428refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2019073120190729
2468184refgcc -m32 -march=i386 -O -fomit-frame-pointer2019073120190729
2469172refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2019073120190729
2471840refgcc -m32 -march=athlon -O -fomit-frame-pointer2019073120190729
2482168refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2019073120190729
2482196refgcc -m32 -march=prescott -O -fomit-frame-pointer2019073120190729
2482216refgcc -m32 -march=nocona -O -fomit-frame-pointer2019073120190729
2482472refgcc -m32 -march=i486 -O -fomit-frame-pointer2019073120190729
2484232refgcc -m32 -march=pentium -O -fomit-frame-pointer2019073120190729
2597060refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2019073120190729
2597528refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2019073120190729
2597716refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2019073120190729
2597904refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2019073120190729
2597956refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2019073120190729
2598008refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2019073120190729
2598088refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2019073120190729
2598308refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2019073120190729
2662548refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2019073120190729
2662976refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2019073120190729
2663408refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2019073120190729
2685348refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2019073120190729
2691452refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019073120190729
2700196refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019073120190729
2700280refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2019073120190729
2709328refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2019073120190729
2709396refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2019073120190729
2711284refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2019073120190729
2753320refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2019073120190729
2753588refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2019073120190729
2753792refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2019073120190729
3035840refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2019073120190729
3035908refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2019073120190729
3036216refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2019073120190729
3038964refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2019073120190729

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