Implementation notes: x86, titan0, crypto_core/multsntrup653

Computer: titan0
Architecture: x86
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20190803
Operation: crypto_core
Primitive: multsntrup653
TimeImplementationCompilerBenchmark dateSUPERCOP version
20772avxgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019073120190729
20776avxgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019073120190729
22024avxgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019073120190729
22028avxgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019073120190729
22044avxgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019073120190729
22212avxgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019073120190729
26544avxgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019073120190729
26732avxgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019073120190729
180124refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2019073120190729
182104refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019073120190729
183648refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2019073120190729
187272refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2019073120190729
190212refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019073120190729
190376refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2019073120190729
198828refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2019073120190729
205508refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2019073120190729
538632refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2019073120190729
538860refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2019073120190729
555168refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2019073120190729
557420refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2019073120190729
558100refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2019073120190729
558248refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019073120190729
558612refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2019073120190729
559648refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019073120190729
560056refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2019073120190729
560560refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2019073120190729
560652refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2019073120190729
561140refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2019073120190729
564708refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2019073120190729
564904refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2019073120190729
566740refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2019073120190729
567244refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2019073120190729
568608refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2019073120190729
570940refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2019073120190729
572456refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2019073120190729
573072refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2019073120190729
581128refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2019073120190729
582508refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2019073120190729
583280refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2019073120190729
583492refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2019073120190729
583852refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019073120190729
586548refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2019073120190729
590372refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2019073120190729
591020refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019073120190729
591092refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2019073120190729
591556refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2019073120190729
592984refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2019073120190729
595732refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2019073120190729
596292refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2019073120190729
601972refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2019073120190729
602028refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2019073120190729
602956refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2019073120190729
715984refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2019073120190729
717356refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2019073120190729
717696refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2019073120190729
718468refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2019073120190729
718484refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2019073120190729
718984refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2019073120190729
719456refgcc -funroll-loops -m32 -O -fomit-frame-pointer2019073120190729
722232refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2019073120190729
723720refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2019073120190729
723976refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2019073120190729
725128refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2019073120190729
726504refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2019073120190729
743208refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2019073120190729
744468refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2019073120190729
778364refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2019073120190729
778788refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2019073120190729
791668refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2019073120190729
792964refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2019073120190729
797144refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2019073120190729
800200refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2019073120190729
805728refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2019073120190729
806244refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2019073120190729
806456refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2019073120190729
806976refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2019073120190729
807780refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2019073120190729
808844refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2019073120190729
808900refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019073120190729
809044refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019073120190729
809256refgcc -m32 -O3 -fomit-frame-pointer2019073120190729
811148refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2019073120190729
811404refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2019073120190729
812116refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2019073120190729
812256refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2019073120190729
812880refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2019073120190729
813632refgcc -m32 -O2 -fomit-frame-pointer2019073120190729
815724refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2019073120190729
817960refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2019073120190729
819692refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019073120190729
819728refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2019073120190729
819928refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2019073120190729
819940refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2019073120190729
819944refgcc -m32 -march=corei7 -O -fomit-frame-pointer2019073120190729
819956refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2019073120190729
819992refgcc -m32 -march=core2 -O -fomit-frame-pointer2019073120190729
820000refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2019073120190729
821128refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019073120190729
821612refgcc -m32 -march=athlon -O -fomit-frame-pointer2019073120190729
822500refgcc -m32 -O -fomit-frame-pointer2019073120190729
822684refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2019073120190729
822812refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2019073120190729
823192refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2019073120190729
824456refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2019073120190729
824764refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2019073120190729
825768refgcc -m32 -march=k8 -O -fomit-frame-pointer2019073120190729
828128refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2019073120190729
828624refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2019073120190729
829364refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2019073120190729
829612refgcc -m32 -march=barcelona -O -fomit-frame-pointer2019073120190729
829700refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2019073120190729
829784refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2019073120190729
830448refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019073120190729
830464refgcc -m32 -march=k6 -O -fomit-frame-pointer2019073120190729
831760refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2019073120190729
831788refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2019073120190729
832044refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019073120190729
832164refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2019073120190729
834292refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2019073120190729
834312refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2019073120190729
834316refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2019073120190729
834980refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2019073120190729
835576refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2019073120190729
836020refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2019073120190729
836052refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2019073120190729
836696refgcc -m32 -march=nocona -O -fomit-frame-pointer2019073120190729
838364refgcc -m32 -march=prescott -O -fomit-frame-pointer2019073120190729
838860refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2019073120190729
842268refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2019073120190729
843268refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2019073120190729
844288refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2019073120190729
845996refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2019073120190729
846376refgcc -m32 -march=pentium -O -fomit-frame-pointer2019073120190729
847236refgcc -m32 -march=i386 -O -fomit-frame-pointer2019073120190729
848608refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2019073120190729
853192refgcc -m32 -march=i486 -O -fomit-frame-pointer2019073120190729
856488refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2019073120190729
858016refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2019073120190729
858352refgcc -m32 -march=core2 -Os -fomit-frame-pointer2019073120190729
858492refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2019073120190729
859124refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2019073120190729
859336refgcc -m32 -march=athlon -Os -fomit-frame-pointer2019073120190729
859404refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019073120190729
859816refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2019073120190729
860700refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019073120190729
861528refgcc -m32 -Os -fomit-frame-pointer2019073120190729
862324refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2019073120190729
864188refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2019073120190729
865460refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2019073120190729
865680refgcc -m32 -march=prescott -Os -fomit-frame-pointer2019073120190729
865856refgcc -m32 -march=nocona -Os -fomit-frame-pointer2019073120190729
869456refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2019073120190729
870140refgcc -m32 -march=k8 -Os -fomit-frame-pointer2019073120190729
870720refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2019073120190729
875756refgcc -m32 -march=k6 -Os -fomit-frame-pointer2019073120190729
876136refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2019073120190729
877392refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2019073120190729
878596refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2019073120190729
878640refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2019073120190729
879668refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019073120190729
880624refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2019073120190729
880868refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019073120190729
881328refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2019073120190729
881388refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2019073120190729
881536refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2019073120190729
883024refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2019073120190729
883328refgcc -m32 -march=i486 -Os -fomit-frame-pointer2019073120190729
883584refgcc -m32 -march=i386 -Os -fomit-frame-pointer2019073120190729
884900refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2019073120190729
910608refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019073120190729
920448refgcc -m32 -march=pentium -Os -fomit-frame-pointer2019073120190729
921596refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2019073120190729
921724refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2019073120190729
923020refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2019073120190729
923480refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019073120190729
929856refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2019073120190729
1067264refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2019073120190729
1071384refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2019073120190729
1071964refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2019073120190729
1072112refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2019073120190729
1081720refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2019073120190729
1081796refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2019073120190729
1082612refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2019073120190729
1082916refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2019073120190729

Compiler output

Implementation: crypto_core/multsntrup653/avx
Compiler: gcc -funroll-loops -m32 -O2 -fomit-frame-pointer
mult768.c: mult768.c: In function 'squeeze_4621_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(4621)));
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(4621)));
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/multsntrup653/avx
Compiler: gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
mult768.c: mult768.c: In function 'squeeze_4621_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(4621)));
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(4621)));
mult768.c: ...
mult768.c: mult768.c: In function 'squeeze_4621_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(4621)));
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(4621)));
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/multsntrup653/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_4621_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(4621)));
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(4621)));
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