Implementation notes: x86, morningstar, crypto_aead/norx6444v3

Computer: morningstar
Architecture: x86
CPU ID: AuthenticAMD-00100f42-178bfbff
SUPERCOP version: 20170904
Operation: crypto_aead
Primitive: norx6444v3
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
198050? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium-m_-Os_-fomit-frame-pointer2017072820170718
198118? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium3_-Os_-fomit-frame-pointer2017072820170718
198370? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentiumpro_-Os_-fomit-frame-pointer2017072820170718
198424? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium2_-Os_-fomit-frame-pointer2017072820170718
199186? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium_-Os_-fomit-frame-pointer2017072820170718
199551? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium-mmx_-Os_-fomit-frame-pointer2017072820170718
200698? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=athlon_-Os_-fomit-frame-pointer2017072820170718
200741? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=k8_-Os_-fomit-frame-pointer2017072820170718
200778? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=barcelona_-Os_-fomit-frame-pointer2017072820170718
200818? ? ?? ? ?refgcc_-funroll-loops_-m32_-Os_-fomit-frame-pointer2017072820170718
200984? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=k6_-Os_-fomit-frame-pointer2017072820170718
200995? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=k6-2_-Os_-fomit-frame-pointer2017072820170718
201000? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=k6-3_-Os_-fomit-frame-pointer2017072820170718
201135? ? ?? ? ?refgcc_-m32_-march=pentium-m_-Os_-fomit-frame-pointer2017072820170718
201144? ? ?? ? ?refgcc_-m32_-march=pentium3_-Os_-fomit-frame-pointer2017072820170718
201200? ? ?? ? ?refgcc_-m32_-march=pentium2_-Os_-fomit-frame-pointer2017072820170718
201229? ? ?? ? ?refgcc_-m32_-march=pentiumpro_-Os_-fomit-frame-pointer2017072820170718
201435? ? ?? ? ?refgcc_-m32_-march=core2_-Os_-fomit-frame-pointer2017072820170718
201503? ? ?? ? ?refgcc_-m32_-march=corei7_-Os_-fomit-frame-pointer2017072820170718
201533? ? ?? ? ?refgcc_-m32_-march=pentium_-Os_-fomit-frame-pointer2017072820170718
201569? ? ?? ? ?refgcc_-m32_-march=core2_-msse4_-Os_-fomit-frame-pointer2017072820170718
201581? ? ?? ? ?refgcc_-m32_-march=pentium-mmx_-Os_-fomit-frame-pointer2017072820170718
201597? ? ?? ? ?refgcc_-m32_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2017072820170718
201666? ? ?? ? ?refgcc_-m32_-march=k6_-Os_-fomit-frame-pointer2017072820170718
201696? ? ?? ? ?refgcc_-m32_-march=k6-3_-Os_-fomit-frame-pointer2017072820170718
201811? ? ?? ? ?refgcc_-m32_-march=k6-2_-Os_-fomit-frame-pointer2017072820170718
204712? ? ?? ? ?refgcc_-m32_-march=barcelona_-Os_-fomit-frame-pointer2017072820170718
204818? ? ?? ? ?refgcc_-m32_-march=native_-mtune=native_-Os_-fomit-frame-pointer2017072820170718
204867? ? ?? ? ?refgcc_-m32_-march=athlon_-Os_-fomit-frame-pointer2017072820170718
204894? ? ?? ? ?refgcc_-m32_-Os_-fomit-frame-pointer2017072820170718
204897? ? ?? ? ?refgcc_-m32_-march=k8_-Os_-fomit-frame-pointer2017072820170718
205859? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=prescott_-Os_-fomit-frame-pointer2017072820170718
206016? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=nocona_-Os_-fomit-frame-pointer2017072820170718
206016? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium4_-Os_-fomit-frame-pointer2017072820170718
206552? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=i386_-Os_-fomit-frame-pointer2017072820170718
206821? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=i486_-Os_-fomit-frame-pointer2017072820170718
213231? ? ?? ? ?refgcc_-m32_-march=pentium4_-Os_-fomit-frame-pointer2017072820170718
213309? ? ?? ? ?refgcc_-m32_-march=i386_-Os_-fomit-frame-pointer2017072820170718
213366? ? ?? ? ?refgcc_-m32_-march=prescott_-Os_-fomit-frame-pointer2017072820170718
213441? ? ?? ? ?refgcc_-m32_-march=nocona_-Os_-fomit-frame-pointer2017072820170718
213505? ? ?? ? ?refgcc_-m32_-march=i486_-Os_-fomit-frame-pointer2017072820170718
273666? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=i386_-O3_-fomit-frame-pointer2017072820170718
276647? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=i386_-O2_-fomit-frame-pointer2017072820170718
278411? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=i486_-O3_-fomit-frame-pointer2017072820170718
280024? ? ?? ? ?refgcc_-m32_-march=i386_-O3_-fomit-frame-pointer2017072820170718
280103? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=i486_-O2_-fomit-frame-pointer2017072820170718
281044? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium4_-O2_-fomit-frame-pointer2017072820170718
282057? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=athlon_-O2_-fomit-frame-pointer2017072820170718
282183? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=k8_-O2_-fomit-frame-pointer2017072820170718
283644? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium4_-O_-fomit-frame-pointer2017072820170718
283715? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium-mmx_-O3_-fomit-frame-pointer2017072820170718
283899? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium_-O3_-fomit-frame-pointer2017072820170718
283903? ? ?? ? ?refgcc_-m32_-march=i486_-O3_-fomit-frame-pointer2017072820170718
286018? ? ?? ? ?refgcc_-m32_-march=i386_-O2_-fomit-frame-pointer2017072820170718
286243? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium4_-O3_-fomit-frame-pointer2017072820170718
286511? ? ?? ? ?refgcc_-funroll-loops_-m32_-O3_-fomit-frame-pointer2017072820170718
286885? ? ?? ? ?refgcc_-funroll-loops_-m32_-O2_-fomit-frame-pointer2017072820170718
287212? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=barcelona_-O2_-fomit-frame-pointer2017072820170718
287856? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=i386_-O_-fomit-frame-pointer2017072820170718
287898? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=athlon_-O3_-fomit-frame-pointer2017072820170718
288167? ? ?? ? ?refgcc_-m32_-march=core2_-msse4_-O2_-fomit-frame-pointer2017072820170718
288169? ? ?? ? ?refgcc_-m32_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2017072820170718
288283? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=i486_-O_-fomit-frame-pointer2017072820170718
288323? ? ?? ? ?refgcc_-m32_-march=i486_-O2_-fomit-frame-pointer2017072820170718
288344? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium_-O2_-fomit-frame-pointer2017072820170718
288422? ? ?? ? ?refgcc_-m32_-march=corei7_-O2_-fomit-frame-pointer2017072820170718
288481? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium-mmx_-O2_-fomit-frame-pointer2017072820170718
288518? ? ?? ? ?refgcc_-m32_-march=core2_-O2_-fomit-frame-pointer2017072820170718
289369? ? ?? ? ?refgcc_-m32_-march=pentium4_-O_-fomit-frame-pointer2017072820170718
289730? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=k6-2_-O3_-fomit-frame-pointer2017072820170718
289926? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=k6-3_-O3_-fomit-frame-pointer2017072820170718
290309? ? ?? ? ?refgcc_-m32_-march=pentium-mmx_-O3_-fomit-frame-pointer2017072820170718
290528? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=prescott_-O2_-fomit-frame-pointer2017072820170718
290562? ? ?? ? ?refgcc_-m32_-march=pentium_-O3_-fomit-frame-pointer2017072820170718
290631? ? ?? ? ?refgcc_-m32_-march=pentium4_-O3_-fomit-frame-pointer2017072820170718
290718? ? ?? ? ?refgcc_-m32_-O3_-fomit-frame-pointer2017072820170718
290910? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=nocona_-O2_-fomit-frame-pointer2017072820170718
290928? ? ?? ? ?refgcc_-m32_-march=native_-mtune=native_-O2_-fomit-frame-pointer2017072820170718
290935? ? ?? ? ?refgcc_-m32_-march=athlon_-O3_-fomit-frame-pointer2017072820170718
290983? ? ?? ? ?refgcc_-m32_-march=barcelona_-O2_-fomit-frame-pointer2017072820170718
290994? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=k6_-O2_-fomit-frame-pointer2017072820170718
291037? ? ?? ? ?refgcc_-m32_-march=athlon_-O2_-fomit-frame-pointer2017072820170718
291187? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=k6-2_-O2_-fomit-frame-pointer2017072820170718
291195? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=k6-3_-O2_-fomit-frame-pointer2017072820170718
291208? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentiumpro_-O3_-fomit-frame-pointer2017072820170718
291232? ? ?? ? ?refgcc_-m32_-march=k8_-O2_-fomit-frame-pointer2017072820170718
291250? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium2_-O3_-fomit-frame-pointer2017072820170718
291363? ? ?? ? ?refgcc_-m32_-march=i386_-O_-fomit-frame-pointer2017072820170718
291379? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium3_-O3_-fomit-frame-pointer2017072820170718
291416? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=k8_-O3_-fomit-frame-pointer2017072820170718
291525? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium_-O_-fomit-frame-pointer2017072820170718
291544? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=barcelona_-O_-fomit-frame-pointer2017072820170718
291624? ? ?? ? ?refgcc_-funroll-loops_-m32_-O_-fomit-frame-pointer2017072820170718
291683? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium-mmx_-O_-fomit-frame-pointer2017072820170718
291834? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=k8_-O_-fomit-frame-pointer2017072820170718
292028? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=nocona_-O_-fomit-frame-pointer2017072820170718
292222? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=prescott_-O_-fomit-frame-pointer2017072820170718
292384? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=athlon_-O_-fomit-frame-pointer2017072820170718
292554? ? ?? ? ?refgcc_-m32_-O2_-fomit-frame-pointer2017072820170718
292720? ? ?? ? ?refgcc_-m32_-march=pentium4_-O2_-fomit-frame-pointer2017072820170718
292795? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=k6_-O3_-fomit-frame-pointer2017072820170718
293883? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=nocona_-O3_-fomit-frame-pointer2017072820170718
293920? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=prescott_-O3_-fomit-frame-pointer2017072820170718
293938? ? ?? ? ?refgcc_-m32_-march=pentium3_-O3_-fomit-frame-pointer2017072820170718
294045? ? ?? ? ?refgcc_-m32_-march=k6-2_-O3_-fomit-frame-pointer2017072820170718
294211? ? ?? ? ?refgcc_-m32_-march=pentium2_-O3_-fomit-frame-pointer2017072820170718
294333? ? ?? ? ?refgcc_-m32_-march=pentiumpro_-O3_-fomit-frame-pointer2017072820170718
294341? ? ?? ? ?refgcc_-m32_-march=k6_-O3_-fomit-frame-pointer2017072820170718
294448? ? ?? ? ?refgcc_-m32_-march=k6-3_-O3_-fomit-frame-pointer2017072820170718
294582? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=barcelona_-O3_-fomit-frame-pointer2017072820170718
294970? ? ?? ? ?refgcc_-m32_-march=i486_-O_-fomit-frame-pointer2017072820170718
296397? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium2_-O2_-fomit-frame-pointer2017072820170718
296439? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentiumpro_-O2_-fomit-frame-pointer2017072820170718
296509? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium3_-O2_-fomit-frame-pointer2017072820170718
296531? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium-m_-O2_-fomit-frame-pointer2017072820170718
296629? ? ?? ? ?refgcc_-m32_-march=nocona_-O2_-fomit-frame-pointer2017072820170718
296765? ? ?? ? ?refgcc_-m32_-march=k8_-O_-fomit-frame-pointer2017072820170718
296915? ? ?? ? ?refgcc_-m32_-march=prescott_-O2_-fomit-frame-pointer2017072820170718
296973? ? ?? ? ?refgcc_-m32_-march=pentium_-O2_-fomit-frame-pointer2017072820170718
297051? ? ?? ? ?refgcc_-m32_-march=athlon_-O_-fomit-frame-pointer2017072820170718
297094? ? ?? ? ?refgcc_-m32_-march=pentium-mmx_-O2_-fomit-frame-pointer2017072820170718
297372? ? ?? ? ?refgcc_-m32_-march=core2_-msse4_-O_-fomit-frame-pointer2017072820170718
297451? ? ?? ? ?refgcc_-m32_-march=core2_-msse4.1_-O_-fomit-frame-pointer2017072820170718
297630? ? ?? ? ?refgcc_-m32_-march=k8_-O3_-fomit-frame-pointer2017072820170718
297637? ? ?? ? ?refgcc_-m32_-march=core2_-O_-fomit-frame-pointer2017072820170718
298609? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium2_-O_-fomit-frame-pointer2017072820170718
298704? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentiumpro_-O_-fomit-frame-pointer2017072820170718
298760? ? ?? ? ?refgcc_-m32_-march=native_-mtune=native_-O_-fomit-frame-pointer2017072820170718
298797? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium3_-O_-fomit-frame-pointer2017072820170718
298834? ? ?? ? ?refgcc_-m32_-march=nocona_-O3_-fomit-frame-pointer2017072820170718
298848? ? ?? ? ?refgcc_-m32_-march=corei7_-O_-fomit-frame-pointer2017072820170718
298912? ? ?? ? ?refgcc_-m32_-march=barcelona_-O_-fomit-frame-pointer2017072820170718
298940? ? ?? ? ?refgcc_-m32_-march=prescott_-O3_-fomit-frame-pointer2017072820170718
299002? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium-m_-O_-fomit-frame-pointer2017072820170718
299584? ? ?? ? ?refgcc_-m32_-O_-fomit-frame-pointer2017072820170718
299775? ? ?? ? ?refgcc_-m32_-march=pentium-m_-O3_-fomit-frame-pointer2017072820170718
299879? ? ?? ? ?refgcc_-m32_-march=native_-mtune=native_-O3_-fomit-frame-pointer2017072820170718
299905? ? ?? ? ?refgcc_-m32_-march=barcelona_-O3_-fomit-frame-pointer2017072820170718
301200? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=pentium-m_-O3_-fomit-frame-pointer2017072820170718
301571? ? ?? ? ?refgcc_-m32_-march=nocona_-O_-fomit-frame-pointer2017072820170718
301891? ? ?? ? ?refgcc_-m32_-march=prescott_-O_-fomit-frame-pointer2017072820170718
302008? ? ?? ? ?refgcc_-m32_-march=k6_-O2_-fomit-frame-pointer2017072820170718
302104? ? ?? ? ?refgcc_-m32_-march=k6-2_-O2_-fomit-frame-pointer2017072820170718
302274? ? ?? ? ?refgcc_-m32_-march=k6-3_-O2_-fomit-frame-pointer2017072820170718
302285? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=k6-3_-O_-fomit-frame-pointer2017072820170718
302295? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=k6-2_-O_-fomit-frame-pointer2017072820170718
302371? ? ?? ? ?refgcc_-funroll-loops_-m32_-march=k6_-O_-fomit-frame-pointer2017072820170718
302656? ? ?? ? ?refgcc_-m32_-march=pentium3_-O2_-fomit-frame-pointer2017072820170718
302749? ? ?? ? ?refgcc_-m32_-march=pentiumpro_-O2_-fomit-frame-pointer2017072820170718
302791? ? ?? ? ?refgcc_-m32_-march=pentium2_-O2_-fomit-frame-pointer2017072820170718
302969? ? ?? ? ?refgcc_-m32_-march=pentium-m_-O2_-fomit-frame-pointer2017072820170718
303184? ? ?? ? ?refgcc_-m32_-march=pentium-mmx_-O_-fomit-frame-pointer2017072820170718
303211? ? ?? ? ?refgcc_-m32_-march=pentium_-O_-fomit-frame-pointer2017072820170718
304426? ? ?? ? ?refgcc_-m32_-march=pentium-m_-O_-fomit-frame-pointer2017072820170718
305305? ? ?? ? ?refgcc_-m32_-march=pentium2_-O_-fomit-frame-pointer2017072820170718
305335? ? ?? ? ?refgcc_-m32_-march=pentiumpro_-O_-fomit-frame-pointer2017072820170718
305432? ? ?? ? ?refgcc_-m32_-march=pentium3_-O_-fomit-frame-pointer2017072820170718
307400? ? ?? ? ?refgcc_-m32_-march=k6_-O_-fomit-frame-pointer2017072820170718
307664? ? ?? ? ?refgcc_-m32_-march=k6-3_-O_-fomit-frame-pointer2017072820170718
307733? ? ?? ? ?refgcc_-m32_-march=k6-2_-O_-fomit-frame-pointer2017072820170718

Test failure

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

Number of similar (compiler,implementation) pairs: 13, namely:
CompilerImplementations
gcc -m32 -march=core-avx-i -O2 -fomit-frame-pointer ref
gcc -m32 -march=core-avx-i -O -fomit-frame-pointer ref
gcc -m32 -march=core-avx-i -Os -fomit-frame-pointer ref
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
gcc -m32 -march=core2 -O3 -fomit-frame-pointer ref
gcc -m32 -march=corei7-avx -O2 -fomit-frame-pointer ref
gcc -m32 -march=corei7-avx -O -fomit-frame-pointer ref
gcc -m32 -march=corei7-avx -Os -fomit-frame-pointer ref

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: 69, 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 -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 -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 -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=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
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: 6, namely:
CompilerImplementations
gcc -m32 -march=core-avx-i -O2 -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 -O -fomit-frame-pointer ymm
gcc -m32 -march=corei7-avx -Os -fomit-frame-pointer ymm