Implementation notes: x86, rumba7, crypto_aead/norx6444v3

Computer: rumba7
Architecture: x86
CPU ID: AuthenticAMD-00800f11-178bfbff
SUPERCOP version: 20171218
Operation: crypto_aead
Primitive: norx6444v3
TimeImplementationCompilerBenchmark dateSUPERCOP version
20010ymmgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2018052620171218
20040ymmgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2018052620171218
20880ymmgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2018052620171218
20910ymmgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2018052620171218
20970ymmgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2018052620171218
21030ymmgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2018052620171218
21690ymmgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2018052620171218
21750ymmgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2018052620171218
162990refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2018052620171218
163110refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2018052620171218
164130refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2018052620171218
164370refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2018052620171218
164400refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2018052620171218
164820refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2018052620171218
164880refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2018052620171218
165090refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2018052620171218
165210refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2018052620171218
165600refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2018052620171218
165630refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2018052620171218
165690refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2018052620171218
165720refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2018052620171218
165750refgcc -m32 -march=k6 -Os -fomit-frame-pointer2018052620171218
165780refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2018052620171218
166050refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2018052620171218
166350refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2018052620171218
166380refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2018052620171218
166440refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2018052620171218
166500refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2018052620171218
166650refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2018052620171218
166680refgcc -m32 -march=pentium -Os -fomit-frame-pointer2018052620171218
166890refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2018052620171218
166920refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2018052620171218
166950refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2018052620171218
166980refgcc -m32 -Os -fomit-frame-pointer2018052620171218
166980refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2018052620171218
167010refgcc -m32 -march=athlon -Os -fomit-frame-pointer2018052620171218
167010refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2018052620171218
167010refgcc -m32 -march=k8 -Os -fomit-frame-pointer2018052620171218
167040refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2018052620171218
167130refgcc -m32 -march=core-avx2 -Os -fomit-frame-pointer2018052620171218
167160refgcc -m32 -march=core2 -Os -fomit-frame-pointer2018052620171218
167220refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2018052620171218
167280refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2018052620171218
167340refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2018052620171218
167460refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2018052620171218
167580refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2018052620171218
167790refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2018052620171218
168210refgcc -m32 -march=i486 -Os -fomit-frame-pointer2018052620171218
168210refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2018052620171218
168240refgcc -m32 -march=i386 -Os -fomit-frame-pointer2018052620171218
168270refgcc -m32 -march=nocona -Os -fomit-frame-pointer2018052620171218
168330refgcc -m32 -march=prescott -Os -fomit-frame-pointer2018052620171218
246180refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2018052620171218
247050refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2018052620171218
248610refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2018052620171218
249390refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2018052620171218
249690refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2018052620171218
249990refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2018052620171218
250560refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2018052620171218
250890refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2018052620171218
251460refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2018052620171218
251520refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2018052620171218
252810refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2018052620171218
252870refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2018052620171218
254370refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2018052620171218
254400refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2018052620171218
254760refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2018052620171218
255390refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2018052620171218
255690refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2018052620171218
255840refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2018052620171218
256110refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2018052620171218
256860refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2018052620171218
256980refgcc -funroll-loops -m32 -O -fomit-frame-pointer2018052620171218
257160refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2018052620171218
257310refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2018052620171218
257940refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2018052620171218
258060refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2018052620171218
258120refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2018052620171218
258180refgcc -m32 -march=core2 -O -fomit-frame-pointer2018052620171218
258240refgcc -m32 -march=athlon -O -fomit-frame-pointer2018052620171218
258270refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2018052620171218
258360refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2018052620171218
258540refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2018052620171218
258570refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2018052620171218
258570refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2018052620171218
258600refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2018052620171218
258600refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2018052620171218
258870refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2018052620171218
258900refgcc -m32 -march=corei7 -O -fomit-frame-pointer2018052620171218
258960refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2018052620171218
258990refgcc -m32 -march=barcelona -O -fomit-frame-pointer2018052620171218
259020refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2018052620171218
259050refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2018052620171218
259170refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2018052620171218
259470refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2018052620171218
259530refgcc -m32 -march=core-avx2 -O -fomit-frame-pointer2018052620171218
259830refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2018052620171218
259920refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2018052620171218
259920refgcc -m32 -march=i386 -O -fomit-frame-pointer2018052620171218
260160refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2018052620171218
260190refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2018052620171218
260220refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2018052620171218
260490refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2018052620171218
260520refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2018052620171218
260550refgcc -m32 -march=i486 -O -fomit-frame-pointer2018052620171218
260880refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2018052620171218
260970refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2018052620171218
261000refgcc -m32 -O -fomit-frame-pointer2018052620171218
261000refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2018052620171218
261180refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2018052620171218
261240refgcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer2018052620171218
261300refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2018052620171218
261360refgcc -m32 -march=nocona -O -fomit-frame-pointer2018052620171218
261390refgcc -m32 -march=prescott -O -fomit-frame-pointer2018052620171218
261480refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2018052620171218
261630refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2018052620171218
261660refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2018052620171218
261690refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2018052620171218
261720refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2018052620171218
261750refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2018052620171218
262650refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2018052620171218
262890refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2018052620171218
263280refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2018052620171218
263460refgcc -m32 -O2 -fomit-frame-pointer2018052620171218
263490refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2018052620171218
263820refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2018052620171218
264960refgcc -m32 -O3 -fomit-frame-pointer2018052620171218
264960refgcc -m32 -march=k8 -O -fomit-frame-pointer2018052620171218
266640refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2018052620171218
267180refgcc -m32 -march=pentium -O -fomit-frame-pointer2018052620171218
267510refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2018052620171218
267690refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2018052620171218
267930refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2018052620171218
267960refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2018052620171218
268170refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2018052620171218
268170refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2018052620171218
268320refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2018052620171218
268860refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2018052620171218
269280refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2018052620171218
269550refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2018052620171218
269910refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2018052620171218
270150refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2018052620171218
270210refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2018052620171218
270450refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2018052620171218
270480refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2018052620171218
270510refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2018052620171218
270510refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2018052620171218
270540refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2018052620171218
270630refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2018052620171218
270840refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2018052620171218
270900refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2018052620171218
270900refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2018052620171218
270930refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2018052620171218
270930refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2018052620171218
270960refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2018052620171218
271020refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2018052620171218
271230refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2018052620171218
271260refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2018052620171218
271260refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2018052620171218
271290refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2018052620171218
271500refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2018052620171218
271500refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2018052620171218
271590refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2018052620171218
271830refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2018052620171218
272400refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2018052620171218
272520refgcc -m32 -march=k6 -O -fomit-frame-pointer2018052620171218
273060refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2018052620171218
273150refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2018052620171218
273360refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2018052620171218
273510refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2018052620171218
274200refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2018052620171218
274680refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2018052620171218
274740refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2018052620171218
274770refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2018052620171218
274860refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2018052620171218
274980refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2018052620171218
275370refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2018052620171218
275460refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2018052620171218
275490refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2018052620171218
275880refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2018052620171218
276480refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2018052620171218
300690refgcc -m32 -march=core-avx2 -O3 -fomit-frame-pointer2018052620171218
307590refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2018052620171218
308550refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2018052620171218

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/5/include/immintrin.h:43:0,
norx.c: from norx.c:19:
norx.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
norx.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
norx.c: ^
norx.c: norx.c:258:5: error: 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/5/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/5/include/immintrin.h:43:0,
norx.c: from norx.c:19:
norx.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
norx.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
norx.c: ^
norx.c: norx.c:258:5: error: 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/5/include/immintrin.h:41:0,
norx.c: from norx.c:19:
norx.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:1270: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: error: 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/5/include/immintrin.h:43:0,
norx.c: from norx.c:19:
norx.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
norx.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
norx.c: ^
norx.c: norx.c:258:5: error: 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/5/include/immintrin.h:41:0,
norx.c: from norx.c:19:
norx.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:1270: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: error: 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/5/include/immintrin.h:43:0,
norx.c: from norx.c:19:
norx.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
norx.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
norx.c: ^
norx.c: norx.c:258:5: error: 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/5/include/immintrin.h:41:0,
norx.c: from norx.c:19:
norx.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/avxintrin.h:1270: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: error: 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/5/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/5/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: error: 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/5/include/immintrin.h:43:0,
norx.c: from norx.c:19:
norx.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
norx.c: _mm256_xor_si256 (__m256i __A, __m256i __B)
norx.c: ^
norx.c: norx.c:258:5: error: 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/5/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