Implementation notes: x86, h9trinity, crypto_aead/norx6444v3

Computer: h9trinity
Architecture: x86
CPU ID: AuthenticAMD-00610f01-178bfbff
SUPERCOP version: 20171218
Operation: crypto_aead
Primitive: norx6444v3
TimeImplementationCompilerBenchmark dateSUPERCOP version
320693refgcc -funroll-loops -m32 -march=k6-2 -Os -fomit-frame-pointer2017120620171020
321488refgcc -funroll-loops -m32 -march=k6-3 -Os -fomit-frame-pointer2017120620171020
321586refgcc -funroll-loops -m32 -march=k6 -Os -fomit-frame-pointer2017120620171020
322627refgcc -funroll-loops -m32 -march=pentium -Os -fomit-frame-pointer2017120620171020
322930refgcc -funroll-loops -m32 -march=pentium-mmx -Os -fomit-frame-pointer2017120620171020
323369refgcc -funroll-loops -m32 -march=pentium2 -Os -fomit-frame-pointer2017120620171020
323564refgcc -funroll-loops -m32 -march=pentium-m -Os -fomit-frame-pointer2017120620171020
323566refgcc -funroll-loops -m32 -march=pentiumpro -Os -fomit-frame-pointer2017120620171020
324041refgcc -funroll-loops -m32 -march=pentium3 -Os -fomit-frame-pointer2017120620171020
324771refgcc -funroll-loops -m32 -march=barcelona -Os -fomit-frame-pointer2017120620171020
325120refgcc -funroll-loops -m32 -Os -fomit-frame-pointer2017120620171020
325194refgcc -funroll-loops -m32 -march=athlon -Os -fomit-frame-pointer2017120620171020
325446refgcc -funroll-loops -m32 -march=k8 -Os -fomit-frame-pointer2017120620171020
327006refgcc -funroll-loops -m32 -march=i486 -Os -fomit-frame-pointer2017120620171020
327163refgcc -funroll-loops -m32 -march=i386 -Os -fomit-frame-pointer2017120620171020
327243refgcc -funroll-loops -m32 -march=prescott -Os -fomit-frame-pointer2017120620171020
327353refgcc -funroll-loops -m32 -march=pentium4 -Os -fomit-frame-pointer2017120620171020
327401refgcc -funroll-loops -m32 -march=nocona -Os -fomit-frame-pointer2017120620171020
331769refgcc -m32 -march=corei7-avx -Os -fomit-frame-pointer2017120620171020
331857refgcc -m32 -march=core2 -Os -fomit-frame-pointer2017120620171020
331876refgcc -m32 -march=core2 -msse4 -Os -fomit-frame-pointer2017120620171020
331901refgcc -m32 -march=corei7 -Os -fomit-frame-pointer2017120620171020
331911refgcc -m32 -march=pentiumpro -Os -fomit-frame-pointer2017120620171020
331942refgcc -m32 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017120620171020
331953refgcc -m32 -march=pentium-m -Os -fomit-frame-pointer2017120620171020
331967refgcc -m32 -march=pentium3 -Os -fomit-frame-pointer2017120620171020
332256refgcc -m32 -march=core-avx-i -Os -fomit-frame-pointer2017120620171020
332285refgcc -m32 -march=pentium2 -Os -fomit-frame-pointer2017120620171020
332697refgcc -m32 -march=pentium4 -Os -fomit-frame-pointer2017120620171020
332730refgcc -m32 -march=barcelona -Os -fomit-frame-pointer2017120620171020
332851refgcc -m32 -march=nocona -Os -fomit-frame-pointer2017120620171020
333159refgcc -m32 -Os -fomit-frame-pointer2017120620171020
333267refgcc -m32 -march=i486 -Os -fomit-frame-pointer2017120620171020
333386refgcc -m32 -march=prescott -Os -fomit-frame-pointer2017120620171020
333422refgcc -m32 -march=i386 -Os -fomit-frame-pointer2017120620171020
333444refgcc -m32 -march=k6-2 -Os -fomit-frame-pointer2017120620171020
333459refgcc -m32 -march=pentium-mmx -Os -fomit-frame-pointer2017120620171020
333510refgcc -m32 -march=athlon -Os -fomit-frame-pointer2017120620171020
333665refgcc -m32 -march=k6-3 -Os -fomit-frame-pointer2017120620171020
333910refgcc -m32 -march=k8 -Os -fomit-frame-pointer2017120620171020
334040refgcc -m32 -march=k6 -Os -fomit-frame-pointer2017120620171020
334040refgcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer2017120620171020
334404refgcc -m32 -march=pentium -Os -fomit-frame-pointer2017120620171020
461827refgcc -funroll-loops -m32 -march=pentium4 -O2 -fomit-frame-pointer2017120620171020
462827refgcc -funroll-loops -m32 -march=pentium4 -O -fomit-frame-pointer2017120620171020
464379refgcc -funroll-loops -m32 -march=i386 -O3 -fomit-frame-pointer2017120620171020
465894refgcc -funroll-loops -m32 -march=i386 -O2 -fomit-frame-pointer2017120620171020
468359refgcc -funroll-loops -m32 -march=i486 -O2 -fomit-frame-pointer2017120620171020
468790refgcc -funroll-loops -m32 -march=i486 -O3 -fomit-frame-pointer2017120620171020
469281refgcc -m32 -march=pentium4 -O -fomit-frame-pointer2017120620171020
469407refgcc -funroll-loops -m32 -march=i386 -O -fomit-frame-pointer2017120620171020
469508refgcc -funroll-loops -m32 -march=pentium4 -O3 -fomit-frame-pointer2017120620171020
469587refgcc -m32 -march=i386 -O3 -fomit-frame-pointer2017120620171020
473095refgcc -m32 -march=pentium4 -O3 -fomit-frame-pointer2017120620171020
473102refgcc -funroll-loops -m32 -march=i486 -O -fomit-frame-pointer2017120620171020
473769refgcc -funroll-loops -m32 -march=k8 -O2 -fomit-frame-pointer2017120620171020
473964refgcc -funroll-loops -m32 -march=pentium -O3 -fomit-frame-pointer2017120620171020
474019refgcc -m32 -march=i486 -O3 -fomit-frame-pointer2017120620171020
474267refgcc -funroll-loops -m32 -march=athlon -O2 -fomit-frame-pointer2017120620171020
474308refgcc -funroll-loops -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2017120620171020
474343refgcc -m32 -march=i386 -O2 -fomit-frame-pointer2017120620171020
474699refgcc -m32 -march=pentium4 -O2 -fomit-frame-pointer2017120620171020
475523refgcc -funroll-loops -m32 -march=pentium -O2 -fomit-frame-pointer2017120620171020
476217refgcc -funroll-loops -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2017120620171020
476489refgcc -funroll-loops -m32 -march=nocona -O2 -fomit-frame-pointer2017120620171020
476578refgcc -funroll-loops -m32 -march=prescott -O2 -fomit-frame-pointer2017120620171020
476779refgcc -m32 -march=i486 -O2 -fomit-frame-pointer2017120620171020
476997refgcc -funroll-loops -m32 -march=athlon -O -fomit-frame-pointer2017120620171020
477436refgcc -funroll-loops -m32 -march=athlon -O3 -fomit-frame-pointer2017120620171020
477611refgcc -funroll-loops -m32 -march=k8 -O -fomit-frame-pointer2017120620171020
478124refgcc -funroll-loops -m32 -O -fomit-frame-pointer2017120620171020
478181refgcc -funroll-loops -m32 -march=pentiumpro -O3 -fomit-frame-pointer2017120620171020
478221refgcc -funroll-loops -m32 -march=pentium2 -O3 -fomit-frame-pointer2017120620171020
478561refgcc -funroll-loops -m32 -march=barcelona -O2 -fomit-frame-pointer2017120620171020
478588refgcc -funroll-loops -m32 -march=nocona -O -fomit-frame-pointer2017120620171020
478600refgcc -funroll-loops -m32 -march=pentium3 -O3 -fomit-frame-pointer2017120620171020
478652refgcc -funroll-loops -m32 -march=prescott -O -fomit-frame-pointer2017120620171020
478684refgcc -m32 -march=pentium -O3 -fomit-frame-pointer2017120620171020
479202refgcc -m32 -march=i386 -O -fomit-frame-pointer2017120620171020
479266refgcc -m32 -march=pentium-mmx -O3 -fomit-frame-pointer2017120620171020
479417refgcc -funroll-loops -m32 -O2 -fomit-frame-pointer2017120620171020
479675refgcc -funroll-loops -m32 -march=k6 -O2 -fomit-frame-pointer2017120620171020
479806refgcc -funroll-loops -m32 -march=k6-3 -O2 -fomit-frame-pointer2017120620171020
479812refgcc -funroll-loops -m32 -march=barcelona -O -fomit-frame-pointer2017120620171020
480139refgcc -funroll-loops -m32 -march=k6-2 -O2 -fomit-frame-pointer2017120620171020
480665refgcc -funroll-loops -m32 -march=k6 -O3 -fomit-frame-pointer2017120620171020
480737refgcc -m32 -march=i486 -O -fomit-frame-pointer2017120620171020
480741refgcc -funroll-loops -m32 -march=pentium3 -O2 -fomit-frame-pointer2017120620171020
480986refgcc -funroll-loops -m32 -march=k6-2 -O3 -fomit-frame-pointer2017120620171020
481186refgcc -funroll-loops -m32 -march=pentium2 -O2 -fomit-frame-pointer2017120620171020
481217refgcc -funroll-loops -m32 -march=pentiumpro -O2 -fomit-frame-pointer2017120620171020
481243refgcc -funroll-loops -m32 -march=k6-3 -O3 -fomit-frame-pointer2017120620171020
481367refgcc -m32 -march=athlon -O3 -fomit-frame-pointer2017120620171020
481598refgcc -m32 -march=pentium2 -O3 -fomit-frame-pointer2017120620171020
481823refgcc -m32 -march=pentiumpro -O3 -fomit-frame-pointer2017120620171020
482031refgcc -m32 -march=pentium3 -O3 -fomit-frame-pointer2017120620171020
482405refgcc -funroll-loops -m32 -O3 -fomit-frame-pointer2017120620171020
482511refgcc -m32 -march=pentium-mmx -O2 -fomit-frame-pointer2017120620171020
482689refgcc -funroll-loops -m32 -march=pentium-m -O2 -fomit-frame-pointer2017120620171020
482824refgcc -funroll-loops -m32 -march=prescott -O3 -fomit-frame-pointer2017120620171020
483003refgcc -funroll-loops -m32 -march=nocona -O3 -fomit-frame-pointer2017120620171020
483133refgcc -m32 -march=pentium -O2 -fomit-frame-pointer2017120620171020
483964refgcc -m32 -march=core-avx-i -O -fomit-frame-pointer2017120620171020
484174refgcc -m32 -march=corei7-avx -O -fomit-frame-pointer2017120620171020
484249refgcc -funroll-loops -m32 -march=pentium-m -O3 -fomit-frame-pointer2017120620171020
484900refgcc -funroll-loops -m32 -march=pentium-mmx -O -fomit-frame-pointer2017120620171020
484910refgcc -funroll-loops -m32 -march=pentium -O -fomit-frame-pointer2017120620171020
485089refgcc -m32 -march=core2 -msse4.1 -O -fomit-frame-pointer2017120620171020
485127refgcc -m32 -march=core2 -O -fomit-frame-pointer2017120620171020
485148refgcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer2017120620171020
485178refgcc -m32 -march=k8 -O2 -fomit-frame-pointer2017120620171020
485364refgcc -m32 -march=corei7 -O -fomit-frame-pointer2017120620171020
485424refgcc -m32 -O3 -fomit-frame-pointer2017120620171020
485518refgcc -m32 -march=core2 -msse4 -O -fomit-frame-pointer2017120620171020
485521refgcc -m32 -march=athlon -O2 -fomit-frame-pointer2017120620171020
485831refgcc -m32 -O2 -fomit-frame-pointer2017120620171020
485848refgcc -m32 -march=nocona -O3 -fomit-frame-pointer2017120620171020
485849refgcc -m32 -march=barcelona -O -fomit-frame-pointer2017120620171020
485892refgcc -m32 -march=prescott -O3 -fomit-frame-pointer2017120620171020
485954refgcc -m32 -march=k6-2 -O3 -fomit-frame-pointer2017120620171020
486005refgcc -funroll-loops -m32 -march=k8 -O3 -fomit-frame-pointer2017120620171020
486080refgcc -m32 -march=prescott -O2 -fomit-frame-pointer2017120620171020
486121refgcc -m32 -march=barcelona -O2 -fomit-frame-pointer2017120620171020
486218refgcc -m32 -march=k6-3 -O3 -fomit-frame-pointer2017120620171020
486806refgcc -m32 -march=k8 -O -fomit-frame-pointer2017120620171020
487204refgcc -funroll-loops -m32 -march=pentiumpro -O -fomit-frame-pointer2017120620171020
487349refgcc -funroll-loops -m32 -march=pentium-m -O -fomit-frame-pointer2017120620171020
487372refgcc -m32 -march=core2 -O3 -fomit-frame-pointer2017120620171020
487383refgcc -funroll-loops -m32 -march=pentium2 -O -fomit-frame-pointer2017120620171020
487427refgcc -funroll-loops -m32 -march=barcelona -O3 -fomit-frame-pointer2017120620171020
487562refgcc -m32 -march=k6 -O3 -fomit-frame-pointer2017120620171020
487640refgcc -m32 -march=core2 -msse4 -O3 -fomit-frame-pointer2017120620171020
487646refgcc -m32 -march=nocona -O -fomit-frame-pointer2017120620171020
487687refgcc -funroll-loops -m32 -march=pentium3 -O -fomit-frame-pointer2017120620171020
487846refgcc -m32 -march=native -mtune=native -O -fomit-frame-pointer2017120620171020
487911refgcc -m32 -O -fomit-frame-pointer2017120620171020
487916refgcc -m32 -march=nocona -O2 -fomit-frame-pointer2017120620171020
487933refgcc -m32 -march=corei7 -O3 -fomit-frame-pointer2017120620171020
487960refgcc -m32 -march=corei7 -O2 -fomit-frame-pointer2017120620171020
487965refgcc -m32 -march=core2 -O2 -fomit-frame-pointer2017120620171020
487987refgcc -m32 -march=athlon -O -fomit-frame-pointer2017120620171020
487992refgcc -m32 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017120620171020
488000refgcc -m32 -march=core2 -msse4 -O2 -fomit-frame-pointer2017120620171020
488016refgcc -m32 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017120620171020
488310refgcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer2017120620171020
488374refgcc -m32 -march=prescott -O -fomit-frame-pointer2017120620171020
488670refgcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer2017120620171020
489372refgcc -m32 -march=pentium-m -O3 -fomit-frame-pointer2017120620171020
489961refgcc -m32 -march=barcelona -O3 -fomit-frame-pointer2017120620171020
490562refgcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer2017120620171020
490699refgcc -m32 -march=k8 -O3 -fomit-frame-pointer2017120620171020
490714refgcc -m32 -march=pentium3 -O2 -fomit-frame-pointer2017120620171020
490795refgcc -m32 -march=pentium-m -O2 -fomit-frame-pointer2017120620171020
490917refgcc -funroll-loops -m32 -march=k6-3 -O -fomit-frame-pointer2017120620171020
491171refgcc -funroll-loops -m32 -march=k6 -O -fomit-frame-pointer2017120620171020
491334refgcc -m32 -march=pentium2 -O2 -fomit-frame-pointer2017120620171020
491395refgcc -m32 -march=pentiumpro -O2 -fomit-frame-pointer2017120620171020
491511refgcc -funroll-loops -m32 -march=k6-2 -O -fomit-frame-pointer2017120620171020
491969refgcc -m32 -march=k6 -O2 -fomit-frame-pointer2017120620171020
492053refgcc -m32 -march=pentium -O -fomit-frame-pointer2017120620171020
492305refgcc -m32 -march=pentium-mmx -O -fomit-frame-pointer2017120620171020
492436refgcc -m32 -march=k6-2 -O2 -fomit-frame-pointer2017120620171020
492896refgcc -m32 -march=k6-3 -O2 -fomit-frame-pointer2017120620171020
493683refgcc -m32 -march=pentium3 -O -fomit-frame-pointer2017120620171020
493994refgcc -m32 -march=pentium-m -O -fomit-frame-pointer2017120620171020
494057refgcc -m32 -march=pentiumpro -O -fomit-frame-pointer2017120620171020
494387refgcc -m32 -march=pentium2 -O -fomit-frame-pointer2017120620171020
498219refgcc -m32 -march=k6-2 -O -fomit-frame-pointer2017120620171020
498657refgcc -m32 -march=k6 -O -fomit-frame-pointer2017120620171020
498875refgcc -m32 -march=k6-3 -O -fomit-frame-pointer2017120620171020
512606refgcc -m32 -march=core-avx-i -O3 -fomit-frame-pointer2017120620171020
512792refgcc -m32 -march=corei7-avx -O3 -fomit-frame-pointer2017120620171020

Test failure

Implementation: crypto_aead/norx6444v3/ref
Compiler: gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -m32 -march=core-avx2 -O2 -fomit-frame-pointer ref ymm
gcc -m32 -march=core-avx2 -O -fomit-frame-pointer ref ymm
gcc -m32 -march=core-avx2 -Os -fomit-frame-pointer ref ymm

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: 12, 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
gcc -m32 -march=native -mtune=native -O2 -fomit-frame-pointer ymm
gcc -m32 -march=native -mtune=native -O3 -fomit-frame-pointer ymm
gcc -m32 -march=native -mtune=native -O -fomit-frame-pointer ymm
gcc -m32 -march=native -mtune=native -Os -fomit-frame-pointer ymm