Implementation notes: x86, rumba5, crypto_sign/mqdss48

Computer: rumba5
Architecture: x86
CPU ID: AuthenticAMD-00800f11-178bfbff
SUPERCOP version: 20181216
Operation: crypto_sign
Primitive: mqdss48
TimeImplementationCompilerBenchmark dateSUPERCOP version
27495616avx2gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2018082320180818
27964512avx2gcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2018082320180818
32448032avx2gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2018082320180818
32633696avx2gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2018082320180818
33037088avx2gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2018082320180818
33388352avx2gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2018082320180818
34427808avx2gcc -m32 -march=core-avx2 -O -fomit-frame-pointer2018082320180818
35531552avx2gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2018082320180818
71624160refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2018082320180818
72971552refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2018082320180818
73053056refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2018082320180818
73456224refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018082320180818
73500064refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2018082320180818
73583104refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2018082320180818
82028416refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2018082320180818
103531008refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2018082320180818
104299104refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2018082320180818
104853152refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2018082320180818
104981664refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2018082320180818
105009184refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2018082320180818
105548128refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2018082320180818
105589376refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2018082320180818
105616224refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2018082320180818
105661504refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2018082320180818
105691872refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2018082320180818
105848480refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2018082320180818
105995584refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2018082320180818
106041024refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2018082320180818
106475264refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2018082320180818
106480736refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2018082320180818
106481760refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2018082320180818
106733984refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2018082320180818
106753696refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2018082320180818
107094464refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2018082320180818
107271584refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2018082320180818
107617664refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2018082320180818
107693120refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2018082320180818
107718368refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2018082320180818
107785632refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2018082320180818
107823168refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2018082320180818
107952032refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2018082320180818
108167040refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2018082320180818
108429984refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2018082320180818
108507968refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2018082320180818
108559936refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2018082320180818
108587808refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2018082320180818
108589536refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2018082320180818
108658080refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2018082320180818
108724896refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2018082320180818
108747328refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2018082320180818
108896864refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2018082320180818
109263392refgcc -funroll-loops -m32 -O -fomit-frame-pointer2018082320180818
109510336refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2018082320180818
110150144refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2018082320180818
111524064refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2018082320180818
111788352refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2018082320180818
111954368refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2018082320180818
112173792refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2018082320180818
112931008refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2018082320180818
113677568refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2018082320180818
114096032refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2018082320180818
114167040refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2018082320180818
114564640refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2018082320180818
114599776refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2018082320180818
114601024refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2018082320180818
115093856refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2018082320180818
115372832refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2018082320180818
115996960refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2018082320180818
116536224refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2018082320180818
116551104refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2018082320180818
117381472refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2018082320180818
117414080refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2018082320180818
117498432refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2018082320180818
126415552refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2018082320180818
126494848refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2018082320180818
126552224refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2018082320180818
126638048refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2018082320180818
127833824refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2018082320180818
128881184refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2018082320180818
129240608refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2018082320180818
129281568refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2018082320180818
129307200refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2018082320180818
134970912refgcc -m32 -O3 -fomit-frame-pointer2018082320180818
135499968refgcc -m32 -march=core2 -O -fomit-frame-pointer2018082320180818
135635712refgcc -m32 -march=pentium -Os -fomit-frame-pointer2018082320180818
135709312refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2018082320180818
135716512refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2018082320180818
135908672refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2018082320180818
136040192refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2018082320180818
136462048refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2018082320180818
136518880refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2018082320180818
136674720refgcc -m32 -O -fomit-frame-pointer2018082320180818
137173952refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2018082320180818
137217152refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2018082320180818
137218752refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2018082320180818
137236000refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2018082320180818
137256832refgcc -m32 -march=i486 -Os -fomit-frame-pointer2018082320180818
137258176refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2018082320180818
137295200refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2018082320180818
137857408refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2018082320180818
137926208refgcc -m32 -march=i386 -Os -fomit-frame-pointer2018082320180818
137999232refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2018082320180818
138153920refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2018082320180818
138390112refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2018082320180818
138530208refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2018082320180818
138701024refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2018082320180818
138778688refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2018082320180818
138867840refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2018082320180818
138872992refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2018082320180818
138996704refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2018082320180818
139080736refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2018082320180818
139113376refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2018082320180818
139147808refgcc -m32 -march=core2 -Os -fomit-frame-pointer2018082320180818
139152160refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2018082320180818
139156704refgcc -m32 -march=prescott -O -fomit-frame-pointer2018082320180818
139390528refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2018082320180818
139477312refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2018082320180818
139505984refgcc -m32 -march=corei7 -O -fomit-frame-pointer2018082320180818
139559424refgcc -m32 -march=prescott -Os -fomit-frame-pointer2018082320180818
139559904refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2018082320180818
139606464refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2018082320180818
139615136refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2018082320180818
139659232refgcc -m32 -march=k6 -O -fomit-frame-pointer2018082320180818
139666144refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2018082320180818
139806048refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2018082320180818
139855392refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2018082320180818
139856160refgcc -m32 -march=nocona -Os -fomit-frame-pointer2018082320180818
139863296refgcc -m32 -march=athlon -O -fomit-frame-pointer2018082320180818
139990464refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2018082320180818
140026624refgcc -m32 -march=barcelona -O -fomit-frame-pointer2018082320180818
140160896refgcc -m32 -march=nocona -O -fomit-frame-pointer2018082320180818
140819360refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018082320180818
141033568refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2018082320180818
141219168refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2018082320180818
141235328refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2018082320180818
141320832refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2018082320180818
141441536refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2018082320180818
141740032refgcc -m32 -Os -fomit-frame-pointer2018082320180818
142213856refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018082320180818
142289120refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2018082320180818
142411392refgcc -m32 -march=athlon -Os -fomit-frame-pointer2018082320180818
142487520refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2018082320180818
142716320refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2018082320180818
142955136refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2018082320180818
142990688refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2018082320180818
143771776refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2018082320180818
143931552refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2018082320180818
144002048refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2018082320180818
144345408refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2018082320180818
145038016refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2018082320180818
145264224refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2018082320180818
145279168refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2018082320180818
146020000refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2018082320180818
146050560refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2018082320180818
146074592refgcc -m32 -O2 -fomit-frame-pointer2018082320180818
146625248refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2018082320180818
146650144refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2018082320180818
146727584refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2018082320180818
146963104refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2018082320180818
147097696refgcc -m32 -march=k8 -Os -fomit-frame-pointer2018082320180818
147185760refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2018082320180818
147505408refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2018082320180818
147542560refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2018082320180818
147818592refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2018082320180818
147941088refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2018082320180818
148616992refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2018082320180818
150875424refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2018082320180818
150875872refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2018082320180818
150930016refgcc -m32 -march=k6 -Os -fomit-frame-pointer2018082320180818
150975296refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2018082320180818
151232832refgcc -m32 -march=i486 -O -fomit-frame-pointer2018082320180818
151548480refgcc -m32 -march=i386 -O -fomit-frame-pointer2018082320180818
152551456refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2018082320180818
152743232refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2018082320180818
152796192refgcc -m32 -march=pentium -O -fomit-frame-pointer2018082320180818
153907424refgcc -m32 -march=k8 -O -fomit-frame-pointer2018082320180818
154895296refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2018082320180818
156633120refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2018082320180818
159141376refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2018082320180818
160349408refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2018082320180818
165818624refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2018082320180818
166205920refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2018082320180818
174607776refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2018082320180818
175340128refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2018082320180818

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/5/include/immintrin.h:41:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:1300: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: error: 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/5/include/immintrin.h:41:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:900:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
gf31.c: _mm256_storeu_si256 (__m256i *__P, __m256i __A)
gf31.c: ^
gf31.c: gf31.c:20:9: error: 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/5/include/immintrin.h:43:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/5/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/5/include/immintrin.h:41:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:1300: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: error: 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/5/include/immintrin.h:41:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:900:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
gf31.c: _mm256_storeu_si256 (__m256i *__P, __m256i __A)
gf31.c: ^
gf31.c: gf31.c:20:9: error: 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/5/include/immintrin.h:43:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/5/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/5/include/immintrin.h:41:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:1300: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: error: 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/5/include/immintrin.h:41:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:900:1: error: inlining failed in call to always_inline '_mm256_storeu_si256': target specific option mismatch
gf31.c: _mm256_storeu_si256 (__m256i *__P, __m256i __A)
gf31.c: ^
gf31.c: gf31.c:20:9: error: 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/5/include/immintrin.h:43:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/5/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/5/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/5/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: error: 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/5/include/immintrin.h:43:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/5/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: error: 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/5/include/immintrin.h:43:0,
gf31.c: from gf31.c:2:
gf31.c: /usr/lib/gcc/x86_64-linux-gnu/5/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: error: 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