Implementation notes: x86, samba, crypto_sign/mqdss48

Computer: samba
Architecture: x86
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20190803
Operation: crypto_sign
Primitive: mqdss48
TimeImplementationCompilerBenchmark dateSUPERCOP version
17096298avx2gcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019080620190803
17303518avx2gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019080620190803
19517855avx2gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019080620190803
19537288avx2gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019080620190803
19711865avx2gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019080620190803
19722389avx2gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019080620190803
21466238avx2gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019080620190803
21753377avx2gcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019080620190803
58262881refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019080620190803
58307738refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019080620190803
68414425refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2019080620190803
68568605refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2019080620190803
68587772refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2019080620190803
70724498refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2019080620190803
70837352refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2019080620190803
90885409refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2019080620190803
91972566refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2019080620190803
92682444refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2019080620190803
92704788refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019080620190803
92741199refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2019080620190803
93005851refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2019080620190803
93382781refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2019080620190803
93534506refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2019080620190803
93736248refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2019080620190803
93776613refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2019080620190803
93924309refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2019080620190803
95909071refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2019080620190803
96291744refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2019080620190803
96563090refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2019080620190803
96579659refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2019080620190803
96590502refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2019080620190803
97094213refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2019080620190803
97328567refgcc -funroll-loops -m32 -O -fomit-frame-pointer2019080620190803
98046266refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2019080620190803
98046298refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2019080620190803
98790226refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2019080620190803
99161841refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2019080620190803
99580599refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2019080620190803
99633107refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2019080620190803
99637599refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2019080620190803
99880214refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2019080620190803
99908579refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2019080620190803
99919174refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2019080620190803
100509853refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2019080620190803
101040109refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2019080620190803
101113897refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2019080620190803
101206659refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2019080620190803
101383829refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2019080620190803
101438173refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2019080620190803
101554698refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2019080620190803
101804750refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2019080620190803
102005961refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2019080620190803
102043708refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2019080620190803
102065609refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2019080620190803
102716408refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2019080620190803
102907643refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2019080620190803
102928750refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2019080620190803
105704802refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019080620190803
105924159refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2019080620190803
106744538refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019080620190803
106765716refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2019080620190803
107130289refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2019080620190803
108105699refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2019080620190803
109756883refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2019080620190803
109773535refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2019080620190803
109823062refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2019080620190803
110422627refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2019080620190803
111744831refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2019080620190803
112268369refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2019080620190803
112481843refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2019080620190803
113806637refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019080620190803
113903504refgcc -m32 -march=k8 -O -fomit-frame-pointer2019080620190803
113920522refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019080620190803
114193036refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2019080620190803
114852929refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2019080620190803
114864000refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2019080620190803
114875929refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2019080620190803
114924853refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2019080620190803
115330405refgcc -m32 -march=nocona -O -fomit-frame-pointer2019080620190803
115333520refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2019080620190803
115392956refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2019080620190803
115489157refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2019080620190803
115521679refgcc -m32 -march=prescott -O -fomit-frame-pointer2019080620190803
115639410refgcc -m32 -march=core2 -O -fomit-frame-pointer2019080620190803
116157193refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019080620190803
116264881refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2019080620190803
116270498refgcc -m32 -march=corei7 -O -fomit-frame-pointer2019080620190803
116291515refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2019080620190803
116316260refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2019080620190803
116374066refgcc -m32 -march=barcelona -O -fomit-frame-pointer2019080620190803
116665321refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2019080620190803
116678415refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2019080620190803
116954672refgcc -m32 -march=athlon -O -fomit-frame-pointer2019080620190803
116977208refgcc -m32 -march=k6 -O -fomit-frame-pointer2019080620190803
116984082refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2019080620190803
117003814refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2019080620190803
117188629refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019080620190803
117192899refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019080620190803
117536319refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2019080620190803
117581352refgcc -m32 -O3 -fomit-frame-pointer2019080620190803
117604030refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2019080620190803
117635026refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2019080620190803
117638760refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2019080620190803
117693708refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2019080620190803
117712698refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2019080620190803
118398887refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2019080620190803
118614674refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019080620190803
118690439refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2019080620190803
119298315refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2019080620190803
119408849refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2019080620190803
119483911refgcc -m32 -O -fomit-frame-pointer2019080620190803
119922798refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2019080620190803
119962724refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2019080620190803
120017561refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2019080620190803
121177234refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2019080620190803
121190441refgcc -m32 -march=pentium -O -fomit-frame-pointer2019080620190803
121766871refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2019080620190803
122851895refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2019080620190803
123058176refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2019080620190803
123102931refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019080620190803
123234063refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019080620190803
123310301refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2019080620190803
123332436refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2019080620190803
123359507refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2019080620190803
123500647refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2019080620190803
123676266refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2019080620190803
123693910refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2019080620190803
123726992refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2019080620190803
123792629refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2019080620190803
123871645refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2019080620190803
124094244refgcc -m32 -O2 -fomit-frame-pointer2019080620190803
125423855refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2019080620190803
125898579refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019080620190803
125909690refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019080620190803
126076076refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2019080620190803
126131278refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2019080620190803
126651841refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2019080620190803
126662462refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2019080620190803
126671492refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2019080620190803
126707669refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2019080620190803
126725157refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2019080620190803
126829946refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2019080620190803
126962814refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2019080620190803
127173621refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2019080620190803
127195191refgcc -m32 -march=core2 -Os -fomit-frame-pointer2019080620190803
127275813refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2019080620190803
127409590refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2019080620190803
127466732refgcc -m32 -march=nocona -Os -fomit-frame-pointer2019080620190803
127529879refgcc -m32 -march=prescott -Os -fomit-frame-pointer2019080620190803
127537941refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2019080620190803
127542381refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2019080620190803
127594903refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2019080620190803
127597300refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2019080620190803
127631105refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2019080620190803
128463206refgcc -m32 -march=i386 -O -fomit-frame-pointer2019080620190803
128646575refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2019080620190803
130558264refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2019080620190803
130569190refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2019080620190803
130695504refgcc -m32 -march=i486 -O -fomit-frame-pointer2019080620190803
130800612refgcc -m32 -march=pentium -Os -fomit-frame-pointer2019080620190803
130847218refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2019080620190803
130861163refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019080620190803
131233700refgcc -m32 -march=k6 -Os -fomit-frame-pointer2019080620190803
131242056refgcc -m32 -march=i386 -Os -fomit-frame-pointer2019080620190803
131248793refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2019080620190803
131275089refgcc -m32 -march=i486 -Os -fomit-frame-pointer2019080620190803
131297065refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2019080620190803
131350837refgcc -m32 -march=athlon -Os -fomit-frame-pointer2019080620190803
131567113refgcc -m32 -Os -fomit-frame-pointer2019080620190803
133189135refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2019080620190803
133920818refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2019080620190803
135165694refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019080620190803
135194246refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2019080620190803
136487075refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019080620190803
136544764refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2019080620190803
136960121refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2019080620190803
137064071refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2019080620190803
137376825refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2019080620190803
146453080refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2019080620190803
147858260refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2019080620190803
147906500refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2019080620190803
148789968refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2019080620190803
153955053refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2019080620190803
156153953refgcc -m32 -march=k8 -Os -fomit-frame-pointer2019080620190803

Compiler output

Implementation: crypto_sign/mqdss48/avx2
Compiler: gcc -funroll-loops -m32 -O2 -fomit-frame-pointer
gf31.c: gf31.c: In function 'vgf31_unique':
gf31.c: gf31.c:14:13: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
gf31.c: __m256i _w31 = _mm256_set1_epi16(31);
gf31.c: ^~~~
gf31.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:1325:1: error: inlining failed in call to always_inline '_mm256_set1_epi16': target specific option mismatch
gf31.c: _mm256_set1_epi16 (short __A)
gf31.c: ^~~~~~~~~~~~~~~~~
gf31.c: gf31.c:14:13: note: called from here
gf31.c: __m256i _w31 = _mm256_set1_epi16(31);
gf31.c: ^~~~
gf31.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:925:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
gf31.c: _mm256_storeu_si256 (__m256i_u *__P, __m256i __A)
gf31.c: ^~~~~~~~~~~~~~~~~~~
gf31.c: gf31.c:20:9: note: called from here
gf31.c: _mm256_storeu_si256((__m256i*)(out + i*16), x);
gf31.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gf31.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
gf31.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
gf31.c: ^~~~~~~~~~~~~~~~
gf31.c: ...

Number of similar (compiler,implementation) pairs: 156, namely:
CompilerImplementations
gcc -funroll-loops -m32 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer avx2
gcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer avx2
gcc -m32 -O2 -fomit-frame-pointer avx2
gcc -m32 -O3 -fomit-frame-pointer avx2
gcc -m32 -O -fomit-frame-pointer avx2
gcc -m32 -Os -fomit-frame-pointer avx2
gcc -m32 -march=athlon -O2 -fomit-frame-pointer avx2
gcc -m32 -march=athlon -O3 -fomit-frame-pointer avx2
gcc -m32 -march=athlon -O -fomit-frame-pointer avx2
gcc -m32 -march=athlon -Os -fomit-frame-pointer avx2
gcc -m32 -march=core2 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=core2 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=core2 -O -fomit-frame-pointer avx2
gcc -m32 -march=core2 -Os -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer avx2
gcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer avx2
gcc -m32 -march=corei7 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=corei7 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=corei7 -O -fomit-frame-pointer avx2
gcc -m32 -march=corei7 -Os -fomit-frame-pointer avx2
gcc -m32 -march=i386 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=i386 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=i386 -O -fomit-frame-pointer avx2
gcc -m32 -march=i386 -Os -fomit-frame-pointer avx2
gcc -m32 -march=i486 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=i486 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=i486 -O -fomit-frame-pointer avx2
gcc -m32 -march=i486 -Os -fomit-frame-pointer avx2
gcc -m32 -march=k6-2 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=k6-2 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=k6-2 -O -fomit-frame-pointer avx2
gcc -m32 -march=k6-2 -Os -fomit-frame-pointer avx2
gcc -m32 -march=k6-3 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=k6-3 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=k6-3 -O -fomit-frame-pointer avx2
gcc -m32 -march=k6-3 -Os -fomit-frame-pointer avx2
gcc -m32 -march=k6 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=k6 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=k6 -O -fomit-frame-pointer avx2
gcc -m32 -march=k6 -Os -fomit-frame-pointer avx2
gcc -m32 -march=k8 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=k8 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=k8 -O -fomit-frame-pointer avx2
gcc -m32 -march=k8 -Os -fomit-frame-pointer avx2
gcc -m32 -march=nocona -O2 -fomit-frame-pointer avx2
gcc -m32 -march=nocona -O3 -fomit-frame-pointer avx2
gcc -m32 -march=nocona -O -fomit-frame-pointer avx2
gcc -m32 -march=nocona -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentium-m -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentium-m -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentium-m -O -fomit-frame-pointer avx2
gcc -m32 -march=pentium-m -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentium-mmx -O -fomit-frame-pointer avx2
gcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentium2 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentium2 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentium2 -O -fomit-frame-pointer avx2
gcc -m32 -march=pentium2 -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentium3 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentium3 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentium3 -O -fomit-frame-pointer avx2
gcc -m32 -march=pentium3 -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentium4 -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentium4 -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentium4 -O -fomit-frame-pointer avx2
gcc -m32 -march=pentium4 -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentium -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentium -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentium -O -fomit-frame-pointer avx2
gcc -m32 -march=pentium -Os -fomit-frame-pointer avx2
gcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer avx2
gcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer avx2
gcc -m32 -march=pentiumpro -O -fomit-frame-pointer avx2
gcc -m32 -march=pentiumpro -Os -fomit-frame-pointer avx2
gcc -m32 -march=prescott -O2 -fomit-frame-pointer avx2
gcc -m32 -march=prescott -O3 -fomit-frame-pointer avx2
gcc -m32 -march=prescott -O -fomit-frame-pointer avx2
gcc -m32 -march=prescott -Os -fomit-frame-pointer avx2

Compiler output

Implementation: crypto_sign/mqdss48/avx2
Compiler: gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
gf31.c: gf31.c: In function 'vgf31_unique':
gf31.c: gf31.c:14:13: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
gf31.c: __m256i _w31 = _mm256_set1_epi16(31);
gf31.c: ^~~~
gf31.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:1325:1: error: inlining failed in call to always_inline '_mm256_set1_epi16': target specific option mismatch
gf31.c: _mm256_set1_epi16 (short __A)
gf31.c: ^~~~~~~~~~~~~~~~~
gf31.c: gf31.c:14:13: note: called from here
gf31.c: __m256i _w31 = _mm256_set1_epi16(31);
gf31.c: ^~~~
gf31.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:925:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
gf31.c: _mm256_storeu_si256 (__m256i_u *__P, __m256i __A)
gf31.c: ^~~~~~~~~~~~~~~~~~~
gf31.c: gf31.c:20:9: note: called from here
gf31.c: _mm256_storeu_si256((__m256i*)(out + i*16), x);
gf31.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gf31.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
gf31.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
gf31.c: ^~~~~~~~~~~~~~~~
gf31.c: ...
gf31.c: gf31.c: In function 'vgf31_unique':
gf31.c: gf31.c:14:13: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
gf31.c: __m256i _w31 = _mm256_set1_epi16(31);
gf31.c: ^~~~
gf31.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:1325:1: error: inlining failed in call to always_inline '_mm256_set1_epi16': target specific option mismatch
gf31.c: _mm256_set1_epi16 (short __A)
gf31.c: ^~~~~~~~~~~~~~~~~
gf31.c: gf31.c:14:13: note: called from here
gf31.c: __m256i _w31 = _mm256_set1_epi16(31);
gf31.c: ^~~~
gf31.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:925:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
gf31.c: _mm256_storeu_si256 (__m256i_u *__P, __m256i __A)
gf31.c: ^~~~~~~~~~~~~~~~~~~
gf31.c: gf31.c:20:9: note: called from here
gf31.c: _mm256_storeu_si256((__m256i*)(out + i*16), x);
gf31.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gf31.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
gf31.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
gf31.c: ^~~~~~~~~~~~~~~~
gf31.c: ...

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

Compiler output

Implementation: crypto_sign/mqdss48/avx2
Compiler: gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer
gf31.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
gf31.c: from gf31.c:2:
gf31.c: gf31.c: In function 'vgf31_unique':
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:913:1: error: inlining failed in call to always_inline '_mm256_xor_si256': target specific option mismatch
gf31.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
gf31.c: ^~~~~~~~~~~~~~~~
gf31.c: gf31.c:19:11: note: called from here
gf31.c: x = _mm256_xor_si256(x, _mm256_and_si256(_w31, _mm256_cmpeq_epi16(x, _w31)));
gf31.c: ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gf31.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:179:1: error: inlining failed in call to always_inline '_mm256_and_si256': target specific option mismatch
gf31.c: _mm256_and_si256 (__m256i __A, __m256i __B)
gf31.c: ^~~~~~~~~~~~~~~~
gf31.c: gf31.c:19:13: note: called from here
gf31.c: x = _mm256_xor_si256(x, _mm256_and_si256(_w31, _mm256_cmpeq_epi16(x, _w31)));
gf31.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gf31.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avx2intrin.h:238:1: error: inlining failed in call to always_inline '_mm256_cmpeq_epi16': target specific option mismatch
gf31.c: _mm256_cmpeq_epi16 (__m256i __A, __m256i __B)
gf31.c: ^~~~~~~~~~~~~~~~~~
gf31.c: gf31.c:19:13: note: called from here
gf31.c: x = _mm256_xor_si256(x, _mm256_and_si256(_w31, _mm256_cmpeq_epi16(x, _w31)));
gf31.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gf31.c: ...

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