Implementation notes: amd64, gpu, crypto_aead/deoxysneq128128v1

Computer: gpu
Architecture: amd64
CPU ID: GenuineIntel-000206d7-bfebfbff
SUPERCOP version: 20190816
Operation: crypto_aead
Primitive: deoxysneq128128v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1991631565 0 048485 784 928optgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019082520190816
2031932591 0 049277 784 928optgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019082520190816
2128034245 0 053485 784 928optgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019082520190816
2155632591 0 049277 784 928optgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019082520190816
2156431565 0 048485 784 928optgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019082520190816
2188431156 0 046448 760 896optgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019082520190816
2225234245 0 053485 784 928optgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019082520190816
2239631156 0 046448 760 896optgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019082520190816
2290031565 0 048485 784 928optgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019082520190816
2371231156 0 046448 760 896optgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019082520190816
2392834245 0 053389 784 928optgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019082520190816
2401234245 0 053485 784 928optgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019082520190816
2407632591 0 049277 784 928optgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019082520190816
2460832591 0 049277 784 928optgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019082520190816
2490831156 0 046448 760 896optgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019082520190816
2586431565 0 048485 784 928optgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019082520190816
133130426427 0 043453 760 1160refclang_-O3_-fwrapv_-mavx_-fomit-frame-pointer_-Qunused-arguments2019082520190816
133182026555 0 044349 760 1160refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082520190816
134425226427 0 043453 760 1160refclang_-O3_-fwrapv_-mavx_-maes_-mpclmul_-fomit-frame-pointer_-Qunused-arguments2019082520190816
137432026443 0 045197 760 872refclang_-O3_-fomit-frame-pointer_-Qunused-arguments2019082520190816
137618826427 0 046509 760 872refclang_-mcpu=cortex-a9_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082520190816
140094026555 0 044349 760 1160refclang_-O3_-fwrapv_-march=native_-fomit-frame-pointer_-Qunused-arguments2019082520190816
140949626427 0 046509 760 872refclang_-mcpu=native_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082520190816
147874826427 0 046509 760 872refclang_-mcpu=cortex-a8_-mfpu=neon_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments2019082520190816
153812828519 0 043805 784 928refgcc_-m64_-march=core-avx-i_-O3_-fomit-frame-pointer2019082520190816
154148828559 0 043637 784 928refgcc_-m64_-march=corei7_-O3_-fomit-frame-pointer2019082520190816
157010428575 0 043741 784 928refgcc_-m64_-march=core2_-msse4.1_-O3_-fomit-frame-pointer2019082520190816
160662829697 0 044901 784 928refgcc_-m64_-march=core2_-O3_-fomit-frame-pointer2019082520190816
164744828575 0 043805 784 928refgcc_-m64_-march=core2_-msse4_-O3_-fomit-frame-pointer2019082520190816
165401228519 0 043805 784 928refgcc_-m64_-march=native_-mtune=native_-O3_-fomit-frame-pointer2019082520190816
165613628519 0 043805 784 928refgcc_-m64_-march=corei7-avx_-O3_-fomit-frame-pointer2019082520190816
167381228519 0 043709 784 928refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv2019082520190816
205782430042 0 045277 784 928refgcc_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082520190816
209554829927 0 044845 784 928refgcc_-m64_-march=nocona_-O3_-fomit-frame-pointer2019082520190816
210694031125 0 049429 784 928refgcc_-funroll-loops_-march=barcelona_-O3_-fomit-frame-pointer2019082520190816
210992030148 0 047357 784 928refgcc_-funroll-loops_-march=nocona_-O3_-fomit-frame-pointer2019082520190816
211196431221 0 049381 784 928refgcc_-funroll-loops_-m64_-march=k8_-O3_-fomit-frame-pointer2019082520190816
212400830148 0 047357 784 928refgcc_-funroll-loops_-m64_-march=nocona_-O3_-fomit-frame-pointer2019082520190816
213294430295 0 047853 784 928refgcc_-funroll-loops_-m64_-O3_-fomit-frame-pointer2019082520190816
214313630042 0 045277 784 928refgcc_-O3_-fomit-frame-pointer2019082520190816
215487630042 0 045277 784 928refgcc_-m64_-O3_-fomit-frame-pointer2019082520190816
216212429927 0 044845 784 928refgcc_-march=nocona_-O3_-fomit-frame-pointer2019082520190816
216741230866 0 046597 784 928refgcc_-march=barcelona_-O3_-fomit-frame-pointer2019082520190816
217190461732 0 046597 784 928refgcc_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019082520190816
217394831125 0 049429 784 928refgcc_-funroll-loops_-m64_-march=barcelona_-O3_-fomit-frame-pointer2019082520190816
218603630295 0 047853 784 928refgcc_-funroll-loops_-O3_-fomit-frame-pointer2019082520190816
218653230295 0 047853 784 928refgcc_-funroll-loops_-fno-schedule-insns_-O3_-fomit-frame-pointer2019082520190816
222489231002 0 046501 784 928refgcc_-march=k8_-O3_-fomit-frame-pointer2019082520190816
223656431221 0 049381 784 928refgcc_-funroll-loops_-march=k8_-O3_-fomit-frame-pointer2019082520190816
226254031002 0 046501 784 928refgcc_-m64_-march=k8_-O3_-fomit-frame-pointer2019082520190816
243860827920 0 044189 784 928refgcc_-funroll-loops_-O2_-fomit-frame-pointer2019082520190816
246912427920 0 044189 784 928refgcc_-funroll-loops_-m64_-O2_-fomit-frame-pointer2019082520190816
247796827953 0 044125 784 928refgcc_-funroll-loops_-march=k8_-O2_-fomit-frame-pointer2019082520190816
248984827920 0 044189 784 928refgcc_-funroll-loops_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082520190816
249268828064 0 044413 784 928refgcc_-funroll-loops_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019082520190816
252992827777 0 043637 784 928refgcc_-funroll-loops_-m64_-march=nocona_-O2_-fomit-frame-pointer2019082520190816
253626828064 0 044413 784 928refgcc_-funroll-loops_-march=barcelona_-O2_-fomit-frame-pointer2019082520190816
253876827777 0 043637 784 928refgcc_-funroll-loops_-march=nocona_-O2_-fomit-frame-pointer2019082520190816
265236024657 0 037653 784 928refgcc_-m64_-march=corei7-avx_-O2_-fomit-frame-pointer2019082520190816
266035224657 0 037653 784 928refgcc_-m64_-march=native_-mtune=native_-O2_-fomit-frame-pointer2019082520190816
266501227953 0 044125 784 928refgcc_-funroll-loops_-m64_-march=k8_-O2_-fomit-frame-pointer2019082520190816
281422824657 0 037653 784 928refgcc_-m64_-march=core-avx-i_-O2_-fomit-frame-pointer2019082520190816
286080424657 0 037653 784 928refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv2019082520190816
288613624861 0 037853 784 928refgcc_-m64_-march=core2_-O2_-fomit-frame-pointer2019082520190816
288928024609 0 037605 784 928refgcc_-m64_-march=corei7_-O2_-fomit-frame-pointer2019082520190816
290288824861 0 037853 784 928refgcc_-m64_-march=core2_-msse4.1_-O2_-fomit-frame-pointer2019082520190816
290798024717 0 037709 784 928refgcc_-march=k8_-O2_-fomit-frame-pointer2019082520190816
290872824861 0 037853 784 928refgcc_-m64_-march=core2_-msse4_-O2_-fomit-frame-pointer2019082520190816
292330824717 0 037709 784 928refgcc_-m64_-march=k8_-O2_-fomit-frame-pointer2019082520190816
293070424797 0 038077 784 928refgcc_-march=barcelona_-O2_-fomit-frame-pointer2019082520190816
295298024628 0 037269 784 928refgcc_-m64_-march=nocona_-O2_-fomit-frame-pointer2019082520190816
295388424593 0 037589 784 928refgcc_-fno-schedule-insns_-O2_-fomit-frame-pointer2019082520190816
295541624628 0 037269 784 928refgcc_-march=nocona_-O2_-fomit-frame-pointer2019082520190816
311194824593 0 037589 784 928refgcc_-m64_-O2_-fomit-frame-pointer2019082520190816
311369249594 0 038077 784 928refgcc_-m64_-march=barcelona_-O2_-fomit-frame-pointer2019082520190816
313401224593 0 037589 784 928refgcc_-O2_-fomit-frame-pointer2019082520190816
334393627144 0 043621 784 928refgcc_-funroll-loops_-O_-fomit-frame-pointer2019082520190816
342360822635 0 034552 760 896refgcc_-funroll-loops_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082520190816
344181627127 0 043541 784 928refgcc_-funroll-loops_-march=k8_-O_-fomit-frame-pointer2019082520190816
347016827144 0 043621 784 928refgcc_-funroll-loops_-fno-schedule-insns_-O_-fomit-frame-pointer2019082520190816
350256427144 0 043621 784 928refgcc_-funroll-loops_-m64_-O_-fomit-frame-pointer2019082520190816
352481627127 0 043541 784 928refgcc_-funroll-loops_-m64_-march=k8_-O_-fomit-frame-pointer2019082520190816
356848422588 0 034480 760 896refgcc_-m64_-march=core2_-Os_-fomit-frame-pointer2019082520190816
363572027024 0 043285 784 928refgcc_-funroll-loops_-m64_-march=barcelona_-O_-fomit-frame-pointer2019082520190816
365818422588 0 034480 760 896refgcc_-march=barcelona_-Os_-fomit-frame-pointer2019082520190816
369881622621 0 034512 760 896refgcc_-m64_-march=corei7-avx_-Os_-fomit-frame-pointer2019082520190816
376104422587 0 034480 760 896refgcc_-march=nocona_-Os_-fomit-frame-pointer2019082520190816
376746023735 0 036765 784 928refgcc_-m64_-march=corei7-avx_-O_-fomit-frame-pointer2019082520190816
379262422635 0 034552 760 896refgcc_-funroll-loops_-m64_-Os_-fomit-frame-pointer2019082520190816
380462822621 0 034512 760 896refgcc_-m64_-march=native_-mtune=native_-Os_-fomit-frame-pointer2019082520190816
381448422588 0 034480 760 896refgcc_-m64_-march=core2_-msse4.1_-Os_-fomit-frame-pointer2019082520190816
384179222588 0 034480 760 896refgcc_-m64_-march=core2_-msse4_-Os_-fomit-frame-pointer2019082520190816
384248822588 0 034480 760 896refgcc_-march=k8_-Os_-fomit-frame-pointer2019082520190816
388915627024 0 043285 784 928refgcc_-funroll-loops_-march=barcelona_-O_-fomit-frame-pointer2019082520190816
391376845176 0 034480 760 896refgcc_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019082520190816
393084822635 0 034552 760 896refgcc_-funroll-loops_-Os_-fomit-frame-pointer2019082520190816
393481623735 0 036765 784 928refgcc_-m64_-march=core2_-msse4.1_-O_-fomit-frame-pointer2019082520190816
396610822621 0 034512 760 896refgcc_-m64_-march=core-avx-i_-Os_-fomit-frame-pointer2019082520190816
397526827139 0 043469 784 928refgcc_-funroll-loops_-m64_-march=nocona_-O_-fomit-frame-pointer2019082520190816
398939222588 0 034480 760 896refgcc_-m64_-march=k8_-Os_-fomit-frame-pointer2019082520190816
399206023730 0 036725 784 928refgcc_-march=nocona_-O_-fomit-frame-pointer2019082520190816
399385647282 0 036653 784 928refgcc_-m64_-march=barcelona_-O_-fomit-frame-pointer2019082520190816
401428823735 0 036765 784 928refgcc_-m64_-march=core2_-O_-fomit-frame-pointer2019082520190816
402393222587 0 034480 760 896refgcc_-m64_-march=nocona_-Os_-fomit-frame-pointer2019082520190816
402627623735 0 036765 784 928refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv2019082520190816
404722027139 0 043469 784 928refgcc_-funroll-loops_-march=nocona_-O_-fomit-frame-pointer2019082520190816
406131622651 0 034544 760 896refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv2019082520190816
409979222662 0 034584 760 896refgcc_-funroll-loops_-march=k8_-Os_-fomit-frame-pointer2019082520190816
410354023641 0 036653 784 928refgcc_-march=barcelona_-O_-fomit-frame-pointer2019082520190816
414945622662 0 034584 760 896refgcc_-funroll-loops_-march=barcelona_-Os_-fomit-frame-pointer2019082520190816
418572823735 0 036765 784 928refgcc_-m64_-march=native_-mtune=native_-O_-fomit-frame-pointer2019082520190816
420033223735 0 036765 784 928refgcc_-m64_-march=corei7_-O_-fomit-frame-pointer2019082520190816
420882823730 0 036725 784 928refgcc_-m64_-march=nocona_-O_-fomit-frame-pointer2019082520190816
422024822661 0 034584 760 896refgcc_-funroll-loops_-m64_-march=nocona_-Os_-fomit-frame-pointer2019082520190816
422647223735 0 036765 784 928refgcc_-m64_-march=core2_-msse4_-O_-fomit-frame-pointer2019082520190816
426473223735 0 036765 784 928refgcc_-m64_-march=core-avx-i_-O_-fomit-frame-pointer2019082520190816
427050423736 0 036765 784 928refgcc_-fno-schedule-insns_-O_-fomit-frame-pointer2019082520190816
433456823716 0 036733 784 928refgcc_-m64_-march=k8_-O_-fomit-frame-pointer2019082520190816
435613622582 0 034464 760 896refgcc_-fno-schedule-insns_-Os_-fomit-frame-pointer2019082520190816
439876822662 0 034584 760 896refgcc_-funroll-loops_-m64_-march=k8_-Os_-fomit-frame-pointer2019082520190816
442824422582 0 034464 760 896refgcc_-m64_-march=corei7_-Os_-fomit-frame-pointer2019082520190816
444926022582 0 034464 760 896refgcc_-Os_-fomit-frame-pointer2019082520190816
448316023716 0 036733 784 928refgcc_-march=k8_-O_-fomit-frame-pointer2019082520190816
449150822582 0 034464 760 896refgcc_-m64_-Os_-fomit-frame-pointer2019082520190816
450808422661 0 034584 760 896refgcc_-funroll-loops_-march=nocona_-Os_-fomit-frame-pointer2019082520190816
464504822662 0 034584 760 896refgcc_-funroll-loops_-m64_-march=barcelona_-Os_-fomit-frame-pointer2019082520190816
465834823736 0 036765 784 928refgcc_-m64_-O_-fomit-frame-pointer2019082520190816
472255223736 0 036765 784 928refgcc_-O_-fomit-frame-pointer2019082520190816
989860440822 0 055431 768 888refcc2019082520190816
1058980840822 0 055431 768 888refgcc2019082520190816
1077642440822 0 055431 768 888refgcc_-funroll-loops2019082520190816

Test failure

Implementation: opt
Security model: unknown
Compiler: gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer
error 111

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

Compiler output

Implementation: opt
Security model: unknown
Compiler: cc
deoxys.c: In file included from deoxys.c:30:0:
deoxys.c: deoxys.c: In function 'deoxys_aead_encrypt':
deoxys.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
deoxys.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
deoxys.c: ^~~~~~~~~~~~~~~~
deoxys.c: deoxys.c:96:11: note: called from here
deoxys.c: tmp = permute( tmp, H_PERMUTATION );
deoxys.c: In file included from deoxys.c:30:0:
deoxys.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
deoxys.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
deoxys.c: ^~~~~~~~~~~~~~~~
deoxys.c: deoxys.c:96:11: note: called from here
deoxys.c: tmp = permute( tmp, H_PERMUTATION );
deoxys.c: In file included from deoxys.c:30:0:
deoxys.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
deoxys.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
deoxys.c: ^~~~~~~~~~~~~~~~
deoxys.c: In file included from deoxys.c:31:0:
deoxys.c: tweakable-cipher.macros:7:22: note: called from here
deoxys.c: #define permute(a,b) _mm_shuffle_epi8(a,b)
deoxys.c: ^~~~~~~~~~~~~~~~~~~~~
deoxys.c: tweakable-cipher.macros:28:13: note: in expansion of macro 'permute'
deoxys.c: new_key = permute( new_key, H_PERMUTATION);
deoxys.c: ^~~~~~~
deoxys.c: tweakable-cipher.macros:45:3: note: in expansion of macro 'ONE_KEY_ROUND'
deoxys.c: ...

Number of similar (compiler,implementation) pairs: 71, namely:
CompilerImplementations
cc opt
gcc opt
gcc -O2 -fomit-frame-pointer opt
gcc -O3 -fomit-frame-pointer opt
gcc -O -fomit-frame-pointer opt
gcc -Os -fomit-frame-pointer opt
gcc -fno-schedule-insns -O2 -fomit-frame-pointer opt
gcc -fno-schedule-insns -O3 -fomit-frame-pointer opt
gcc -fno-schedule-insns -O -fomit-frame-pointer opt
gcc -fno-schedule-insns -Os -fomit-frame-pointer opt
gcc -funroll-loops opt
gcc -funroll-loops -O2 -fomit-frame-pointer opt
gcc -funroll-loops -O3 -fomit-frame-pointer opt
gcc -funroll-loops -O -fomit-frame-pointer opt
gcc -funroll-loops -Os -fomit-frame-pointer opt
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer opt
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer opt
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer opt
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer opt
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -O -fomit-frame-pointer opt
gcc -funroll-loops -m64 -Os -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer opt
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer opt
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer opt
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer opt
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer opt
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer opt
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer opt
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer opt
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer opt
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer opt
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer opt
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer opt
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer opt
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer opt
gcc -m64 -O2 -fomit-frame-pointer opt
gcc -m64 -O3 -fomit-frame-pointer opt
gcc -m64 -O -fomit-frame-pointer opt
gcc -m64 -Os -fomit-frame-pointer opt
gcc -m64 -march=k8 -O2 -fomit-frame-pointer opt
gcc -m64 -march=k8 -O3 -fomit-frame-pointer opt
gcc -m64 -march=k8 -O -fomit-frame-pointer opt
gcc -m64 -march=k8 -Os -fomit-frame-pointer opt
gcc -m64 -march=nocona -O2 -fomit-frame-pointer opt
gcc -m64 -march=nocona -O3 -fomit-frame-pointer opt
gcc -m64 -march=nocona -O -fomit-frame-pointer opt
gcc -m64 -march=nocona -Os -fomit-frame-pointer opt
gcc -march=barcelona -O2 -fomit-frame-pointer opt
gcc -march=barcelona -O3 -fomit-frame-pointer opt
gcc -march=barcelona -O -fomit-frame-pointer opt
gcc -march=barcelona -Os -fomit-frame-pointer opt
gcc -march=k8 -O2 -fomit-frame-pointer opt
gcc -march=k8 -O3 -fomit-frame-pointer opt
gcc -march=k8 -O -fomit-frame-pointer opt
gcc -march=k8 -Os -fomit-frame-pointer opt
gcc -march=nocona -O2 -fomit-frame-pointer opt
gcc -march=nocona -O3 -fomit-frame-pointer opt
gcc -march=nocona -O -fomit-frame-pointer opt
gcc -march=nocona -Os -fomit-frame-pointer opt

Compiler output

Implementation: opt
Security model: unknown
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
deoxys.c: deoxys.c:46:50: warning: implicit conversion from 'int' to 'char' changes value from 192 to -64 [-Wconstant-conversion]
deoxys.c: const __m128i MSB_AD_LAST = constant8( (0x6<<5),0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00 );
deoxys.c: ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deoxys.c: ./tweakable-cipher.macros:12:171: note: expanded from macro 'constant8'
deoxys.c: #define constant8(b15,b14,b13,b12,b11,b10,b9,b8,b7,b6,b5,b4,b3,b2,b1,b0) _mm_set_epi8 ((b0),(b1),(b2),(b3),(b4),(b5),(b6),(b7),(b8),(b9),(b10),(b11),(b12),(b13),(b14),(b15))
deoxys.c: ~~~~~~~~~~~~ ^~~
deoxys.c: deoxys.c:49:56: warning: implicit conversion from 'int' to 'char' changes value from 128 to -128 [-Wconstant-conversion]
deoxys.c: const __m128i MSB_M_LAST_NONZERO = constant8( (0x4<<5),0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00 );
deoxys.c: ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deoxys.c: ./tweakable-cipher.macros:12:171: note: expanded from macro 'constant8'
deoxys.c: #define constant8(b15,b14,b13,b12,b11,b10,b9,b8,b7,b6,b5,b4,b3,b2,b1,b0) _mm_set_epi8 ((b0),(b1),(b2),(b3),(b4),(b5),(b6),(b7),(b8),(b9),(b10),(b11),(b12),(b13),(b14),(b15))
deoxys.c: ~~~~~~~~~~~~ ^~~
deoxys.c: deoxys.c:50:49: warning: implicit conversion from 'int' to 'char' changes value from 160 to -96 [-Wconstant-conversion]
deoxys.c: const __m128i MSB_CHKSUM = constant8( (0x5<<5),0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00 );
deoxys.c: ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deoxys.c: ./tweakable-cipher.macros:12:171: note: expanded from macro 'constant8'
deoxys.c: #define constant8(b15,b14,b13,b12,b11,b10,b9,b8,b7,b6,b5,b4,b3,b2,b1,b0) _mm_set_epi8 ((b0),(b1),(b2),(b3),(b4),(b5),(b6),(b7),(b8),(b9),(b10),(b11),(b12),(b13),(b14),(b15))
deoxys.c: ~~~~~~~~~~~~ ^~~
deoxys.c: deoxys.c:96:13: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'deoxys_aead_encrypt' that is compiled without support for 'ssse3'
deoxys.c: tmp = permute( tmp, H_PERMUTATION );
deoxys.c: ^
deoxys.c: ./tweakable-cipher.macros:7:22: note: expanded from macro 'permute'
deoxys.c: #define permute(a,b) _mm_shuffle_epi8(a,b)
deoxys.c: ^
deoxys.c: deoxys.c:104:5: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'deoxys_aead_encrypt' that is compiled without support for 'ssse3'
deoxys.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments opt
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments opt
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments opt
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments opt

Compiler output

Implementation: opt
Security model: unknown
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
deoxys.c: deoxys.c:46:50: warning: implicit conversion from 'int' to 'char' changes value from 192 to -64 [-Wconstant-conversion]
deoxys.c: const __m128i MSB_AD_LAST = constant8( (0x6<<5),0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00 );
deoxys.c: ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deoxys.c: ./tweakable-cipher.macros:12:171: note: expanded from macro 'constant8'
deoxys.c: #define constant8(b15,b14,b13,b12,b11,b10,b9,b8,b7,b6,b5,b4,b3,b2,b1,b0) _mm_set_epi8 ((b0),(b1),(b2),(b3),(b4),(b5),(b6),(b7),(b8),(b9),(b10),(b11),(b12),(b13),(b14),(b15))
deoxys.c: ~~~~~~~~~~~~ ^~~
deoxys.c: deoxys.c:49:56: warning: implicit conversion from 'int' to 'char' changes value from 128 to -128 [-Wconstant-conversion]
deoxys.c: const __m128i MSB_M_LAST_NONZERO = constant8( (0x4<<5),0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00 );
deoxys.c: ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deoxys.c: ./tweakable-cipher.macros:12:171: note: expanded from macro 'constant8'
deoxys.c: #define constant8(b15,b14,b13,b12,b11,b10,b9,b8,b7,b6,b5,b4,b3,b2,b1,b0) _mm_set_epi8 ((b0),(b1),(b2),(b3),(b4),(b5),(b6),(b7),(b8),(b9),(b10),(b11),(b12),(b13),(b14),(b15))
deoxys.c: ~~~~~~~~~~~~ ^~~
deoxys.c: deoxys.c:50:49: warning: implicit conversion from 'int' to 'char' changes value from 160 to -96 [-Wconstant-conversion]
deoxys.c: const __m128i MSB_CHKSUM = constant8( (0x5<<5),0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00 );
deoxys.c: ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deoxys.c: ./tweakable-cipher.macros:12:171: note: expanded from macro 'constant8'
deoxys.c: #define constant8(b15,b14,b13,b12,b11,b10,b9,b8,b7,b6,b5,b4,b3,b2,b1,b0) _mm_set_epi8 ((b0),(b1),(b2),(b3),(b4),(b5),(b6),(b7),(b8),(b9),(b10),(b11),(b12),(b13),(b14),(b15))
deoxys.c: ~~~~~~~~~~~~ ^~~
deoxys.c: deoxys.c:296:50: warning: implicit conversion from 'int' to 'char' changes value from 192 to -64 [-Wconstant-conversion]
deoxys.c: const __m128i MSB_AD_LAST = constant8( (0x6<<5),0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00 );
deoxys.c: ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deoxys.c: ./tweakable-cipher.macros:12:171: note: expanded from macro 'constant8'
deoxys.c: #define constant8(b15,b14,b13,b12,b11,b10,b9,b8,b7,b6,b5,b4,b3,b2,b1,b0) _mm_set_epi8 ((b0),(b1),(b2),(b3),(b4),(b5),(b6),(b7),(b8),(b9),(b10),(b11),(b12),(b13),(b14),(b15))
deoxys.c: ~~~~~~~~~~~~ ^~~
deoxys.c: deoxys.c:299:56: warning: implicit conversion from 'int' to 'char' changes value from 128 to -128 [-Wconstant-conversion]
deoxys.c: ...

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments opt
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments opt
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments opt

Compiler output

Implementation: opt
Security model: unknown
Compiler: clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments
deoxys.c: deoxys.c:46:50: warning: implicit conversion from 'int' to 'char' changes value from 192 to -64 [-Wconstant-conversion]
deoxys.c: const __m128i MSB_AD_LAST = constant8( (0x6<<5),0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00 );
deoxys.c: ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deoxys.c: ./tweakable-cipher.macros:12:171: note: expanded from macro 'constant8'
deoxys.c: #define constant8(b15,b14,b13,b12,b11,b10,b9,b8,b7,b6,b5,b4,b3,b2,b1,b0) _mm_set_epi8 ((b0),(b1),(b2),(b3),(b4),(b5),(b6),(b7),(b8),(b9),(b10),(b11),(b12),(b13),(b14),(b15))
deoxys.c: ~~~~~~~~~~~~ ^~~
deoxys.c: deoxys.c:49:56: warning: implicit conversion from 'int' to 'char' changes value from 128 to -128 [-Wconstant-conversion]
deoxys.c: const __m128i MSB_M_LAST_NONZERO = constant8( (0x4<<5),0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00 );
deoxys.c: ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deoxys.c: ./tweakable-cipher.macros:12:171: note: expanded from macro 'constant8'
deoxys.c: #define constant8(b15,b14,b13,b12,b11,b10,b9,b8,b7,b6,b5,b4,b3,b2,b1,b0) _mm_set_epi8 ((b0),(b1),(b2),(b3),(b4),(b5),(b6),(b7),(b8),(b9),(b10),(b11),(b12),(b13),(b14),(b15))
deoxys.c: ~~~~~~~~~~~~ ^~~
deoxys.c: deoxys.c:50:49: warning: implicit conversion from 'int' to 'char' changes value from 160 to -96 [-Wconstant-conversion]
deoxys.c: const __m128i MSB_CHKSUM = constant8( (0x5<<5),0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00 );
deoxys.c: ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
deoxys.c: ./tweakable-cipher.macros:12:171: note: expanded from macro 'constant8'
deoxys.c: #define constant8(b15,b14,b13,b12,b11,b10,b9,b8,b7,b6,b5,b4,b3,b2,b1,b0) _mm_set_epi8 ((b0),(b1),(b2),(b3),(b4),(b5),(b6),(b7),(b8),(b9),(b10),(b11),(b12),(b13),(b14),(b15))
deoxys.c: ~~~~~~~~~~~~ ^~~
deoxys.c: deoxys.c:120:4: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'deoxys_aead_encrypt' that is compiled without support for 'aes'
deoxys.c: AES( State, subkeys, Tweak, tTweak );
deoxys.c: ^
deoxys.c: ./tweakable-cipher.macros:69:5: note: expanded from macro 'AES'
deoxys.c: s = enc( s , xor( subkeys[ 1] , t ) );t=permute( t , H_PERMUTATION);\
deoxys.c: ^
deoxys.c: ./tweakable-cipher.macros:1:18: note: expanded from macro 'enc'
deoxys.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments opt

Compiler output

Implementation: opt
Security model: unknown
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
deoxys.c: In file included from deoxys.c:30:0:
deoxys.c: deoxys.c: In function 'deoxys_aead_encrypt':
deoxys.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
deoxys.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
deoxys.c: ^~~~~~~~~~~~~~~~
deoxys.c: deoxys.c:96:11: note: called from here
deoxys.c: tmp = permute( tmp, H_PERMUTATION );
deoxys.c: In file included from deoxys.c:30:0:
deoxys.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
deoxys.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
deoxys.c: ^~~~~~~~~~~~~~~~
deoxys.c: deoxys.c:96:11: note: called from here
deoxys.c: tmp = permute( tmp, H_PERMUTATION );
deoxys.c: In file included from deoxys.c:30:0:
deoxys.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
deoxys.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
deoxys.c: ^~~~~~~~~~~~~~~~
deoxys.c: In file included from deoxys.c:31:0:
deoxys.c: tweakable-cipher.macros:7:22: note: called from here
deoxys.c: #define permute(a,b) _mm_shuffle_epi8(a,b)
deoxys.c: ^~~~~~~~~~~~~~~~~~~~~
deoxys.c: tweakable-cipher.macros:28:13: note: in expansion of macro 'permute'
deoxys.c: new_key = permute( new_key, H_PERMUTATION);
deoxys.c: ^~~~~~~
deoxys.c: tweakable-cipher.macros:45:3: note: in expansion of macro 'ONE_KEY_ROUND'
deoxys.c: ...
deoxys.c: In file included from deoxys.c:30:0:
deoxys.c: deoxys.c: In function 'deoxys_aead_encrypt':
deoxys.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
deoxys.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
deoxys.c: ^~~~~~~~~~~~~~~~
deoxys.c: deoxys.c:96:11: note: called from here
deoxys.c: tmp = permute( tmp, H_PERMUTATION );
deoxys.c: In file included from deoxys.c:30:0:
deoxys.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
deoxys.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
deoxys.c: ^~~~~~~~~~~~~~~~
deoxys.c: deoxys.c:96:11: note: called from here
deoxys.c: tmp = permute( tmp, H_PERMUTATION );
deoxys.c: In file included from deoxys.c:30:0:
deoxys.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
deoxys.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
deoxys.c: ^~~~~~~~~~~~~~~~
deoxys.c: In file included from deoxys.c:31:0:
deoxys.c: tweakable-cipher.macros:7:22: note: called from here
deoxys.c: #define permute(a,b) _mm_shuffle_epi8(a,b)
deoxys.c: ^~~~~~~~~~~~~~~~~~~~~
deoxys.c: tweakable-cipher.macros:28:13: note: in expansion of macro 'permute'
deoxys.c: new_key = permute( new_key, H_PERMUTATION);
deoxys.c: ^~~~~~~
deoxys.c: tweakable-cipher.macros:45:3: note: in expansion of macro 'ONE_KEY_ROUND'
deoxys.c: ...

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

Compiler output

Implementation: opt
Security model: unknown
Compiler: gcc -m64 -march=core2 -O2 -fomit-frame-pointer
deoxys.c: In file included from deoxys.c:29:0:
deoxys.c: deoxys.c: In function 'deoxys_aead_encrypt':
deoxys.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
deoxys.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
deoxys.c: ^~~~~~~~~~~~~~~~
deoxys.c: In file included from deoxys.c:31:0:
deoxys.c: tweakable-cipher.macros:82:3: note: called from here
deoxys.c: s = enc( s , xor( subkeys[14] , t ) );
deoxys.c: deoxys.c:120:4: note: in expansion of macro 'AES'
deoxys.c: AES( State, subkeys, Tweak, tTweak );
deoxys.c: ^~~
deoxys.c: In file included from deoxys.c:29:0:
deoxys.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
deoxys.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
deoxys.c: ^~~~~~~~~~~~~~~~
deoxys.c: In file included from deoxys.c:31:0:
deoxys.c: tweakable-cipher.macros:81:3: note: called from here
deoxys.c: s = enc( s , xor( subkeys[13] , t ) );t=permute( t , H_PERMUTATION);\
deoxys.c: deoxys.c:120:4: note: in expansion of macro 'AES'
deoxys.c: AES( State, subkeys, Tweak, tTweak );
deoxys.c: ^~~
deoxys.c: In file included from deoxys.c:29:0:
deoxys.c: /usr/lib/gcc/x86_64-linux-gnu/7/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
deoxys.c: _mm_aesenc_si128 (__m128i __X, __m128i __Y)
deoxys.c: ^~~~~~~~~~~~~~~~
deoxys.c: ...

Number of similar (compiler,implementation) pairs: 16, namely:
CompilerImplementations
gcc -m64 -march=core2 -O2 -fomit-frame-pointer opt
gcc -m64 -march=core2 -O3 -fomit-frame-pointer opt
gcc -m64 -march=core2 -O -fomit-frame-pointer opt
gcc -m64 -march=core2 -Os -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer opt
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer opt
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer opt
gcc -m64 -march=corei7 -O3 -fomit-frame-pointer opt
gcc -m64 -march=corei7 -O -fomit-frame-pointer opt
gcc -m64 -march=corei7 -Os -fomit-frame-pointer opt