Implementation notes: x86, titan0, crypto_aead/norx6444v3

Computer: titan0
Architecture: x86
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20190803
Operation: crypto_aead
Primitive: norx6444v3
TimeImplementationCompilerBenchmark dateSUPERCOP version
14592ymmgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019070820190110
14600ymmgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019070820190110
15068ymmgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019070820190110
15168ymmgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019070820190110
15404ymmgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019070820190110
15444ymmgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019070820190110
15752ymmgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019070820190110
15752ymmgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019070820190110
99620refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2019070820190110
104028refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2019070820190110
104404refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2019070820190110
104556refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2019070820190110
104844refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2019070820190110
105408refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2019070820190110
105528refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2019070820190110
107676refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2019070820190110
108928refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2019070820190110
109096refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2019070820190110
109628refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2019070820190110
109720refgcc -m32 -march=k8 -O -fomit-frame-pointer2019070820190110
109788refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2019070820190110
109792refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2019070820190110
109868refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2019070820190110
109916refgcc -m32 -march=corei7 -O -fomit-frame-pointer2019070820190110
110080refgcc -m32 -march=barcelona -O -fomit-frame-pointer2019070820190110
110124refgcc -m32 -march=core2 -O -fomit-frame-pointer2019070820190110
110144refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2019070820190110
110220refgcc -m32 -march=nocona -O -fomit-frame-pointer2019070820190110
110284refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2019070820190110
110316refgcc -m32 -march=prescott -O -fomit-frame-pointer2019070820190110
110624refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2019070820190110
110700refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2019070820190110
111068refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2019070820190110
111668refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2019070820190110
111676refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2019070820190110
114152refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2019070820190110
117796refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2019070820190110
117876refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2019070820190110
120300refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2019070820190110
120736refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2019070820190110
120808refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2019070820190110
121288refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2019070820190110
122192refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2019070820190110
122224refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2019070820190110
125928refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2019070820190110
127464refgcc -m32 -march=core2 -Os -fomit-frame-pointer2019070820190110
129964refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2019070820190110
130112refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2019070820190110
130432refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2019070820190110
130872refgcc -m32 -march=prescott -Os -fomit-frame-pointer2019070820190110
131128refgcc -m32 -march=nocona -Os -fomit-frame-pointer2019070820190110
131488refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2019070820190110
131956refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2019070820190110
132344refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2019070820190110
132484refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2019070820190110
134320refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2019070820190110
141036refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2019070820190110
141472refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2019070820190110
141908refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2019070820190110
142428refgcc -m32 -march=k6 -Os -fomit-frame-pointer2019070820190110
142956refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2019070820190110
143348refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2019070820190110
143604refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2019070820190110
144048refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2019070820190110
144140refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2019070820190110
144348refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2019070820190110
144476refgcc -m32 -march=athlon -Os -fomit-frame-pointer2019070820190110
144496refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2019070820190110
144580refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2019070820190110
144872refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2019070820190110
144996refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019070820190110
145504refgcc -m32 -Os -fomit-frame-pointer2019070820190110
146096refgcc -m32 -march=pentium -Os -fomit-frame-pointer2019070820190110
146348refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2019070820190110
146484refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2019070820190110
146556refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2019070820190110
146568refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2019070820190110
146776refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2019070820190110
146840refgcc -m32 -march=i486 -Os -fomit-frame-pointer2019070820190110
147144refgcc -m32 -march=i386 -Os -fomit-frame-pointer2019070820190110
147912refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2019070820190110
148308refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2019070820190110
148548refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2019070820190110
149212refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2019070820190110
173664refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2019070820190110
173948refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2019070820190110
174216refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2019070820190110
174216refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2019070820190110
175380refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2019070820190110
179664refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2019070820190110
179792refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2019070820190110
180116refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2019070820190110
180496refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2019070820190110
180944refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2019070820190110
182636refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2019070820190110
183740refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2019070820190110
187612refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2019070820190110
187668refgcc -funroll-loops -m32 -O -fomit-frame-pointer2019070820190110
187972refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2019070820190110
188980refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2019070820190110
189172refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019070820190110
190152refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2019070820190110
190636refgcc -m32 -march=athlon -O -fomit-frame-pointer2019070820190110
190700refgcc -m32 -O -fomit-frame-pointer2019070820190110
190732refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2019070820190110
190804refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2019070820190110
190896refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019070820190110
191676refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2019070820190110
192124refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2019070820190110
192128refgcc -m32 -O3 -fomit-frame-pointer2019070820190110
192308refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2019070820190110
192368refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2019070820190110
192620refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2019070820190110
192780refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2019070820190110
192852refgcc -m32 -O2 -fomit-frame-pointer2019070820190110
192936refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2019070820190110
193076refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2019070820190110
193332refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2019070820190110
193344refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2019070820190110
193516refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2019070820190110
193604refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2019070820190110
193652refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2019070820190110
193696refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2019070820190110
193732refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2019070820190110
194036refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2019070820190110
194320refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2019070820190110
194492refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2019070820190110
195092refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019070820190110
195092refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2019070820190110
195336refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2019070820190110
195504refgcc -m32 -march=pentium -O -fomit-frame-pointer2019070820190110
196068refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2019070820190110
196664refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2019070820190110
196680refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2019070820190110
196820refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2019070820190110
196908refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2019070820190110
196928refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2019070820190110
197076refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019070820190110
197176refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2019070820190110
197368refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2019070820190110
197700refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2019070820190110
197976refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2019070820190110
197992refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2019070820190110
198176refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2019070820190110
198640refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2019070820190110
198880refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2019070820190110
198936refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2019070820190110
199016refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2019070820190110
199020refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2019070820190110
199272refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2019070820190110
199336refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2019070820190110
199336refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2019070820190110
199628refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2019070820190110
199792refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2019070820190110
200568refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2019070820190110
200596refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2019070820190110
200652refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2019070820190110
201240refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2019070820190110
201452refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2019070820190110
201516refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2019070820190110
201796refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2019070820190110
202116refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2019070820190110
202772refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2019070820190110
203048refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2019070820190110
203200refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2019070820190110
204272refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2019070820190110
204284refgcc -m32 -march=i486 -O -fomit-frame-pointer2019070820190110
204468refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2019070820190110
204524refgcc -m32 -march=i386 -O -fomit-frame-pointer2019070820190110
204580refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2019070820190110
204888refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2019070820190110
205168refgcc -m32 -march=k6 -O -fomit-frame-pointer2019070820190110
325840refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2019070820190110
327236refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2019070820190110
364688refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2019070820190110
364740refgcc -m32 -march=k8 -Os -fomit-frame-pointer2019070820190110
367912refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2019070820190110
369216refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2019070820190110
371220refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2019070820190110
384948refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2019070820190110
402128refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2019070820190110
406480refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2019070820190110
425376refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2019070820190110
428436refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2019070820190110

Compiler output

Implementation: crypto_aead/norx6444v3/ymm
Compiler: gcc -funroll-loops -m32 -O2 -fomit-frame-pointer
norx.c: norx.c: In function 'norx_aead_encrypt':
norx.c: norx.c:653:17: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
norx.c: const __m256i K = LOADU(key);
norx.c: ^
norx.c: norx.c:542:11: warning: SSE vector return without SSE enabled changes the ABI [-Wpsabi]
norx.c: S[ 0] = _mm256_broadcastq_epi64(_mm256_castsi256_si128(A)); \
norx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
norx.c: norx.c:584:5: note: in expansion of macro 'BRANCH_V4'
norx.c: BRANCH_V4(S, A, B, C, D); \
norx.c: ^~~~~~~~~
norx.c: norx.c:659:3: note: in expansion of macro 'ENCRYPT_DATA_V4'
norx.c: ENCRYPT_DATA_V4(A, B, C, D, c, m, mlen);
norx.c: ^~~~~~~~~~~~~~~
norx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
norx.c: from norx.c:19:
norx.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
norx.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
norx.c: ^~~~~~~~~~~~~~~~
norx.c: norx.c:258:5: note: called from here
norx.c: D = XOR(D, _mm256_set_epi64x(NORX_T, NORX_P, NORX_L, NORX_W)); \
norx.c: ^
norx.c: norx.c:657:3: note: in expansion of macro 'INITIALISE'
norx.c: INITIALISE(A, B, C, D, nonce, K);
norx.c: ^~~~~~~~~~
norx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
norx.c: ...

Number of similar (compiler,implementation) pairs: 88, namely:
CompilerImplementations
gcc -funroll-loops -m32 -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -O -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer ymm
gcc -m32 -O2 -fomit-frame-pointer ymm
gcc -m32 -O3 -fomit-frame-pointer ymm
gcc -m32 -O -fomit-frame-pointer ymm
gcc -m32 -Os -fomit-frame-pointer ymm
gcc -m32 -march=athlon -O2 -fomit-frame-pointer ymm
gcc -m32 -march=athlon -O3 -fomit-frame-pointer ymm
gcc -m32 -march=athlon -O -fomit-frame-pointer ymm
gcc -m32 -march=athlon -Os -fomit-frame-pointer ymm
gcc -m32 -march=i386 -O2 -fomit-frame-pointer ymm
gcc -m32 -march=i386 -O3 -fomit-frame-pointer ymm
gcc -m32 -march=i386 -O -fomit-frame-pointer ymm
gcc -m32 -march=i386 -Os -fomit-frame-pointer ymm
gcc -m32 -march=i486 -O2 -fomit-frame-pointer ymm
gcc -m32 -march=i486 -O3 -fomit-frame-pointer ymm
gcc -m32 -march=i486 -O -fomit-frame-pointer ymm
gcc -m32 -march=i486 -Os -fomit-frame-pointer ymm
gcc -m32 -march=k6-2 -O2 -fomit-frame-pointer ymm
gcc -m32 -march=k6-2 -O3 -fomit-frame-pointer ymm
gcc -m32 -march=k6-2 -O -fomit-frame-pointer ymm
gcc -m32 -march=k6-2 -Os -fomit-frame-pointer ymm
gcc -m32 -march=k6-3 -O2 -fomit-frame-pointer ymm
gcc -m32 -march=k6-3 -O3 -fomit-frame-pointer ymm
gcc -m32 -march=k6-3 -O -fomit-frame-pointer ymm
gcc -m32 -march=k6-3 -Os -fomit-frame-pointer ymm
gcc -m32 -march=k6 -O2 -fomit-frame-pointer ymm
gcc -m32 -march=k6 -O3 -fomit-frame-pointer ymm
gcc -m32 -march=k6 -O -fomit-frame-pointer ymm
gcc -m32 -march=k6 -Os -fomit-frame-pointer ymm
gcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer ymm
gcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer ymm
gcc -m32 -march=pentium-mmx -O -fomit-frame-pointer ymm
gcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer ymm
gcc -m32 -march=pentium2 -O2 -fomit-frame-pointer ymm
gcc -m32 -march=pentium2 -O3 -fomit-frame-pointer ymm
gcc -m32 -march=pentium2 -O -fomit-frame-pointer ymm
gcc -m32 -march=pentium2 -Os -fomit-frame-pointer ymm
gcc -m32 -march=pentium -O2 -fomit-frame-pointer ymm
gcc -m32 -march=pentium -O3 -fomit-frame-pointer ymm
gcc -m32 -march=pentium -O -fomit-frame-pointer ymm
gcc -m32 -march=pentium -Os -fomit-frame-pointer ymm
gcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer ymm
gcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer ymm
gcc -m32 -march=pentiumpro -O -fomit-frame-pointer ymm
gcc -m32 -march=pentiumpro -Os -fomit-frame-pointer ymm

Compiler output

Implementation: crypto_aead/norx6444v3/ymm
Compiler: gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer
norx.c: norx.c: In function 'norx_aead_encrypt':
norx.c: norx.c:653:17: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
norx.c: const __m256i K = LOADU(key);
norx.c: ^
norx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
norx.c: from norx.c:19:
norx.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
norx.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
norx.c: ^~~~~~~~~~~~~~~~
norx.c: norx.c:258:5: note: called from here
norx.c: D = XOR(D, _mm256_set_epi64x(NORX_T, NORX_P, NORX_L, NORX_W)); \
norx.c: ^
norx.c: norx.c:657:3: note: in expansion of macro 'INITIALISE'
norx.c: INITIALISE(A, B, C, D, nonce, K);
norx.c: ^~~~~~~~~~
norx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
norx.c: from norx.c:19:
norx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:1295:1: error: inlining failed in call to always_inline '_mm256_set_epi64x': target specific option mismatch
norx.c: _mm256_set_epi64x (long long __A, long long __B, long long __C,
norx.c: ^~~~~~~~~~~~~~~~~
norx.c: norx.c:63:19: note: called from here
norx.c: #define XOR(A, B) _mm256_xor_si256((A), (B))
norx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~
norx.c: norx.c:258:7: note: in expansion of macro 'XOR'
norx.c: D = XOR(D, _mm256_set_epi64x(NORX_T, NORX_P, NORX_L, NORX_W)); \
norx.c: ...

Number of similar (compiler,implementation) pairs: 68, namely:
CompilerImplementations
gcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer ymm
gcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer ymm
gcc -m32 -march=core2 -O2 -fomit-frame-pointer ymm
gcc -m32 -march=core2 -O3 -fomit-frame-pointer ymm
gcc -m32 -march=core2 -O -fomit-frame-pointer ymm
gcc -m32 -march=core2 -Os -fomit-frame-pointer ymm
gcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer ymm
gcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer ymm
gcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer ymm
gcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer ymm
gcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer ymm
gcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer ymm
gcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer ymm
gcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer ymm
gcc -m32 -march=corei7 -O2 -fomit-frame-pointer ymm
gcc -m32 -march=corei7 -O3 -fomit-frame-pointer ymm
gcc -m32 -march=corei7 -O -fomit-frame-pointer ymm
gcc -m32 -march=corei7 -Os -fomit-frame-pointer ymm
gcc -m32 -march=k8 -O2 -fomit-frame-pointer ymm
gcc -m32 -march=k8 -O3 -fomit-frame-pointer ymm
gcc -m32 -march=k8 -O -fomit-frame-pointer ymm
gcc -m32 -march=k8 -Os -fomit-frame-pointer ymm
gcc -m32 -march=nocona -O2 -fomit-frame-pointer ymm
gcc -m32 -march=nocona -O3 -fomit-frame-pointer ymm
gcc -m32 -march=nocona -O -fomit-frame-pointer ymm
gcc -m32 -march=nocona -Os -fomit-frame-pointer ymm
gcc -m32 -march=pentium-m -O2 -fomit-frame-pointer ymm
gcc -m32 -march=pentium-m -O3 -fomit-frame-pointer ymm
gcc -m32 -march=pentium-m -O -fomit-frame-pointer ymm
gcc -m32 -march=pentium-m -Os -fomit-frame-pointer ymm
gcc -m32 -march=pentium3 -O2 -fomit-frame-pointer ymm
gcc -m32 -march=pentium3 -O3 -fomit-frame-pointer ymm
gcc -m32 -march=pentium3 -O -fomit-frame-pointer ymm
gcc -m32 -march=pentium3 -Os -fomit-frame-pointer ymm
gcc -m32 -march=pentium4 -O2 -fomit-frame-pointer ymm
gcc -m32 -march=pentium4 -O3 -fomit-frame-pointer ymm
gcc -m32 -march=pentium4 -O -fomit-frame-pointer ymm
gcc -m32 -march=pentium4 -Os -fomit-frame-pointer ymm
gcc -m32 -march=prescott -O2 -fomit-frame-pointer ymm
gcc -m32 -march=prescott -O3 -fomit-frame-pointer ymm
gcc -m32 -march=prescott -O -fomit-frame-pointer ymm
gcc -m32 -march=prescott -Os -fomit-frame-pointer ymm

Compiler output

Implementation: crypto_aead/norx6444v3/ymm
Compiler: gcc -m32 -march=barcelona -O2 -fomit-frame-pointer
norx.c: norx.c: In function 'norx_aead_encrypt':
norx.c: norx.c:653:17: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
norx.c: const __m256i K = LOADU(key);
norx.c: ^
norx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
norx.c: from norx.c:19:
norx.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
norx.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
norx.c: ^~~~~~~~~~~~~~~~
norx.c: norx.c:258:5: note: called from here
norx.c: D = XOR(D, _mm256_set_epi64x(NORX_T, NORX_P, NORX_L, NORX_W)); \
norx.c: ^
norx.c: norx.c:657:3: note: in expansion of macro 'INITIALISE'
norx.c: INITIALISE(A, B, C, D, nonce, K);
norx.c: ^~~~~~~~~~
norx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
norx.c: from norx.c:19:
norx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:1295:1: error: inlining failed in call to always_inline '_mm256_set_epi64x': target specific option mismatch
norx.c: _mm256_set_epi64x (long long __A, long long __B, long long __C,
norx.c: ^~~~~~~~~~~~~~~~~
norx.c: norx.c:63:19: note: called from here
norx.c: #define XOR(A, B) _mm256_xor_si256((A), (B))
norx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~
norx.c: norx.c:258:7: note: in expansion of macro 'XOR'
norx.c: D = XOR(D, _mm256_set_epi64x(NORX_T, NORX_P, NORX_L, NORX_W)); \
norx.c: ...
norx.c: norx.c: In function 'norx_aead_encrypt':
norx.c: norx.c:653:17: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
norx.c: const __m256i K = LOADU(key);
norx.c: ^
norx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
norx.c: from norx.c:19:
norx.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
norx.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
norx.c: ^~~~~~~~~~~~~~~~
norx.c: norx.c:258:5: note: called from here
norx.c: D = XOR(D, _mm256_set_epi64x(NORX_T, NORX_P, NORX_L, NORX_W)); \
norx.c: ^
norx.c: norx.c:657:3: note: in expansion of macro 'INITIALISE'
norx.c: INITIALISE(A, B, C, D, nonce, K);
norx.c: ^~~~~~~~~~
norx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:41:0,
norx.c: from norx.c:19:
norx.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/avxintrin.h:1295:1: error: inlining failed in call to always_inline '_mm256_set_epi64x': target specific option mismatch
norx.c: _mm256_set_epi64x (long long __A, long long __B, long long __C,
norx.c: ^~~~~~~~~~~~~~~~~
norx.c: norx.c:63:19: note: called from here
norx.c: #define XOR(A, B) _mm256_xor_si256((A), (B))
norx.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~
norx.c: norx.c:258:7: note: in expansion of macro 'XOR'
norx.c: D = XOR(D, _mm256_set_epi64x(NORX_T, NORX_P, NORX_L, NORX_W)); \
norx.c: ...

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

Compiler output

Implementation: crypto_aead/norx6444v3/ymm
Compiler: gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer
norx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
norx.c: from norx.c:19:
norx.c: norx.c: In function 'norx_aead_encrypt':
norx.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
norx.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
norx.c: ^~~~~~~~~~~~~~~~
norx.c: norx.c:258:5: note: called from here
norx.c: D = XOR(D, _mm256_set_epi64x(NORX_T, NORX_P, NORX_L, NORX_W)); \
norx.c: ^
norx.c: norx.c:657:3: note: in expansion of macro 'INITIALISE'
norx.c: INITIALISE(A, B, C, D, nonce, K);
norx.c: ^~~~~~~~~~
norx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
norx.c: from norx.c:19:
norx.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
norx.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
norx.c: ^~~~~~~~~~~~~~~~
norx.c: norx.c:258:5: note: called from here
norx.c: D = XOR(D, _mm256_set_epi64x(NORX_T, NORX_P, NORX_L, NORX_W)); \
norx.c: ^
norx.c: norx.c:657:3: note: in expansion of macro 'INITIALISE'
norx.c: INITIALISE(A, B, C, D, nonce, K);
norx.c: ^~~~~~~~~~
norx.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/7/include/immintrin.h:43:0,
norx.c: from norx.c:19:
norx.c: ...

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