Implementation notes: amd64, skylake, crypto_aead/deoxyseq128128v1

Computer: skylake
Architecture: amd64
CPU ID: GenuineIntel-000506e3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: deoxyseq128128v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
10564optgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
10564optgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
10594optgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
10740optgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
10770optgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
10776optgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
10782optgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
10804optgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
10804optgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
10806optgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
10808optgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
10808optgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
10810optgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
10874optgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
10902optgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
10904optgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
10938optgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
10990optgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
11130optgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
11346optgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
11480optclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
11644optclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
12098optclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
12492optclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
1138818refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
1140708refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
1142654refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
1142780refclang -O3 -fomit-frame-pointer -Qunused-arguments2016121620161026
1142920refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2016121620161026
1144592refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2016121620161026
1146422refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
1151634refclang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2016121620161026
1152662refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016121620161026
1153042refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016121620161026
1433510refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2016121620161026
1435142refgcc -O3 -fomit-frame-pointer2016121620161026
1440390refgcc -m64 -O3 -fomit-frame-pointer2016121620161026
1447400refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
1480164refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016121620161026
1484760refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016121620161026
1484782refgcc -funroll-loops -O3 -fomit-frame-pointer2016121620161026
1486542refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016121620161026
1489596refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
1498298refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016121620161026
1502066refgcc -march=nocona -O3 -fomit-frame-pointer2016121620161026
1503512refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016121620161026
1509422refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016121620161026
1511414refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
1525676refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
1625180refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
1630310refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016121620161026
1648972refgcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2016121620161026
1651072refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016121620161026
1654958refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
1658410refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016121620161026
1659334refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016121620161026
1672436refgcc -march=k8 -O3 -fomit-frame-pointer2016121620161026
1673412refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016121620161026
1674570refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016121620161026
1687000refgcc -march=barcelona -O3 -fomit-frame-pointer2016121620161026
1689676refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016121620161026
1690130refgcc -funroll-loops -O2 -fomit-frame-pointer2016121620161026
1702138refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
1726646refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
1732256refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016121620161026
1742628refgcc -march=nocona -O2 -fomit-frame-pointer2016121620161026
1743724refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2016121620161026
1744576refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2016121620161026
1745924refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016121620161026
1746906refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2016121620161026
1747046refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2016121620161026
1748460refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016121620161026
1750240refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016121620161026
1750292refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2016121620161026
1752998refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2016121620161026
1753616refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2016121620161026
1757524refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016121620161026
1766374refgcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2016121620161026
1830640refgcc -march=k8 -O2 -fomit-frame-pointer2016121620161026
1831292refgcc -m64 -O2 -fomit-frame-pointer2016121620161026
1834340refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016121620161026
1837264refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016121620161026
1839288refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016121620161026
1842316refgcc -O2 -fomit-frame-pointer2016121620161026
1845818refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016121620161026
1867076refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016121620161026
1869332refgcc -march=barcelona -O2 -fomit-frame-pointer2016121620161026
1870364refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016121620161026
2665932refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016121620161026
2711952refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
2883792refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
2894244refgcc -march=nocona -Os -fomit-frame-pointer2016121620161026
2926794refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016121620161026
2962912refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
2964496refgcc -march=barcelona -Os -fomit-frame-pointer2016121620161026
2973408refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016121620161026
2975232refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016121620161026
2991060refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016121620161026
2992706refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016121620161026
3002648refgcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2016121620161026
3017528refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016121620161026
3021502refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016121620161026
3023694refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016121620161026
3035008refgcc -march=k8 -Os -fomit-frame-pointer2016121620161026
3037758refgcc -m64 -Os -fomit-frame-pointer2016121620161026
3048706refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
3052026refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016121620161026
3062796refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
3063216refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016121620161026
3063536refgcc -Os -fomit-frame-pointer2016121620161026
3064824refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016121620161026
3079602refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
3091504refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016121620161026
3098620refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016121620161026
3103942refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016121620161026
3105132refgcc -funroll-loops -Os -fomit-frame-pointer2016121620161026
3105412refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016121620161026
3105420refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
3105656refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016121620161026
3169944refgcc -m64 -march=k8 -O -fomit-frame-pointer2016121620161026
3171112refgcc -march=k8 -O -fomit-frame-pointer2016121620161026
3184784refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
3187494refgcc -funroll-loops -O -fomit-frame-pointer2016121620161026
3191842refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016121620161026
3292438refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2016121620161026
3314932refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2016121620161026
3339012refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016121620161026
3339274refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016121620161026
3341396refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2016121620161026
3341574refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016121620161026
3342982refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2016121620161026
3345072refgcc -m64 -march=core2 -O -fomit-frame-pointer2016121620161026
3385168refgcc -O -fomit-frame-pointer2016121620161026
3389880refgcc -m64 -O -fomit-frame-pointer2016121620161026
3391020refgcc -fno-schedule-insns -O -fomit-frame-pointer2016121620161026
3416602refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016121620161026
3429334refgcc -march=nocona -O -fomit-frame-pointer2016121620161026
3429348refgcc -m64 -march=nocona -O -fomit-frame-pointer2016121620161026
3440872refgcc -march=barcelona -O -fomit-frame-pointer2016121620161026
3491314refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016121620161026
3497506refgcc -m64 -march=core-avx2 -O -fomit-frame-pointer2016121620161026
3531624refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016121620161026
6464398refcc2016121620161026
6494856refgcc2016121620161026
6507714refgcc -funroll-loops2016121620161026

Compiler output

Implementation: crypto_aead/deoxyseq128128v1/opt
Compiler: cc
deoxys.c: In file included from deoxys.c:28:0:
deoxys.c: deoxys.c: In function 'XLS':
deoxys.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/wmmintrin.h:77:1: error: inlining failed in call to always_inline '_mm_aesimc_si128': target specific option mismatch
deoxys.c: _mm_aesimc_si128 (__m128i __X)
deoxys.c: ^~~~~~~~~~~~~~~~
deoxys.c: deoxys.c:94:10: note: called from here
deoxys.c: dTweak = mc_inv(Tweak);
deoxys.c:
deoxys.c: In file included from deoxys.c:28:0:
deoxys.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/wmmintrin.h:77:1: error: inlining failed in call to always_inline '_mm_aesimc_si128': target specific option mismatch
deoxys.c: _mm_aesimc_si128 (__m128i __X)
deoxys.c: ^~~~~~~~~~~~~~~~
deoxys.c: deoxys.c:94:10: note: called from here
deoxys.c: dTweak = mc_inv(Tweak);
deoxys.c:
deoxys.c: In file included from deoxys.c:28:0:
deoxys.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/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:30:0:
deoxys.c: tweakable-cipher.macros:83:3: note: called from here
deoxys.c: s = enc( s , xor( subkeys[14] , t ) );
deoxys.c:
deoxys.c: deoxys.c:96:21: note: in expansion of macro 'AES'
deoxys.c: if( Direction){ AES( State , subkeys , Tweak , tTweak ); }
deoxys.c: ...

Number of similar (compiler,implementation) pairs: 87, 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=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
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: crypto_aead/deoxyseq128128v1/opt
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
deoxys.c: deoxys.c:79:45: warning: implicit conversion from 'int' to 'char' changes value from 128 to -128 [-Wconstant-conversion]
deoxys.c: const __m128i MSB_XLS1 = constant8( (0x8 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:80:45: warning: implicit conversion from 'int' to 'char' changes value from 144 to -112 [-Wconstant-conversion]
deoxys.c: const __m128i MSB_XLS2 = constant8( (0x9 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:94:12: error: always_inline function '_mm_aesimc_si128' requires target feature 'aes', but would be inlined into function 'XLS' that is compiled without support for 'aes'
deoxys.c: dTweak = mc_inv(Tweak);
deoxys.c: ^
deoxys.c: ./tweakable-cipher.macros:4:23: note: expanded from macro 'mc_inv'
deoxys.c: #define mc_inv(a) _mm_aesimc_si128(a)
deoxys.c: ^
deoxys.c: deoxys.c:96:21: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'XLS' that is compiled without support for 'ssse3'
deoxys.c: if( Direction){ AES( State , subkeys , Tweak , tTweak ); }
deoxys.c: ^
deoxys.c: ./tweakable-cipher.macros:69:41: note: expanded from macro 'AES'
deoxys.c: s = xor( s , xor( subkeys[ 0] , t ) );t=permute( t , H_PERMUTATION);\
deoxys.c: ^
deoxys.c: ./tweakable-cipher.macros:7:22: note: expanded from macro 'permute'
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: crypto_aead/deoxyseq128128v1/opt
Compiler: clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments
deoxys.c: deoxys.c:79:45: warning: implicit conversion from 'int' to 'char' changes value from 128 to -128 [-Wconstant-conversion]
deoxys.c: const __m128i MSB_XLS1 = constant8( (0x8 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:80:45: warning: implicit conversion from 'int' to 'char' changes value from 144 to -112 [-Wconstant-conversion]
deoxys.c: const __m128i MSB_XLS2 = constant8( (0x9 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:584:15: warning: comparison of unsigned expression deoxys.c: if( c_len deoxys.c: ~~~~~ ^ ~
deoxys.c: 3 warnings generated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments opt
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -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: crypto_aead/deoxyseq128128v1/opt
Compiler: clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments
deoxys.c: deoxys.c:79:45: warning: implicit conversion from 'int' to 'char' changes value from 128 to -128 [-Wconstant-conversion]
deoxys.c: const __m128i MSB_XLS1 = constant8( (0x8 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:80:45: warning: implicit conversion from 'int' to 'char' changes value from 144 to -112 [-Wconstant-conversion]
deoxys.c: const __m128i MSB_XLS2 = constant8( (0x9 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:94:12: error: always_inline function '_mm_aesimc_si128' requires target feature 'aes', but would be inlined into function 'XLS' that is compiled without support for 'aes'
deoxys.c: dTweak = mc_inv(Tweak);
deoxys.c: ^
deoxys.c: ./tweakable-cipher.macros:4:23: note: expanded from macro 'mc_inv'
deoxys.c: #define mc_inv(a) _mm_aesimc_si128(a)
deoxys.c: ^
deoxys.c: deoxys.c:96:21: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'XLS' that is compiled without support for 'aes'
deoxys.c: if( Direction){ AES( State , subkeys , Tweak , tTweak ); }
deoxys.c: ^
deoxys.c: ./tweakable-cipher.macros:70: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: 2, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments opt
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments opt

Compiler output

Implementation: crypto_aead/deoxyseq128128v1/opt
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
deoxys.c: In file included from deoxys.c:28:0:
deoxys.c: deoxys.c: In function 'XLS':
deoxys.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/wmmintrin.h:77:1: error: inlining failed in call to always_inline '_mm_aesimc_si128': target specific option mismatch
deoxys.c: _mm_aesimc_si128 (__m128i __X)
deoxys.c: ^~~~~~~~~~~~~~~~
deoxys.c: deoxys.c:94:10: note: called from here
deoxys.c: dTweak = mc_inv(Tweak);
deoxys.c:
deoxys.c: In file included from deoxys.c:28:0:
deoxys.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/wmmintrin.h:77:1: error: inlining failed in call to always_inline '_mm_aesimc_si128': target specific option mismatch
deoxys.c: _mm_aesimc_si128 (__m128i __X)
deoxys.c: ^~~~~~~~~~~~~~~~
deoxys.c: deoxys.c:94:10: note: called from here
deoxys.c: dTweak = mc_inv(Tweak);
deoxys.c:
deoxys.c: In file included from deoxys.c:28:0:
deoxys.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/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:30:0:
deoxys.c: tweakable-cipher.macros:83:3: note: called from here
deoxys.c: s = enc( s , xor( subkeys[14] , t ) );
deoxys.c:
deoxys.c: deoxys.c:96:21: note: in expansion of macro 'AES'
deoxys.c: if( Direction){ AES( State , subkeys , Tweak , tTweak ); }
deoxys.c: ...
deoxys.c: In file included from deoxys.c:28:0:
deoxys.c: deoxys.c: In function 'XLS':
deoxys.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/wmmintrin.h:77:1: error: inlining failed in call to always_inline '_mm_aesimc_si128': target specific option mismatch
deoxys.c: _mm_aesimc_si128 (__m128i __X)
deoxys.c: ^~~~~~~~~~~~~~~~
deoxys.c: deoxys.c:94:10: note: called from here
deoxys.c: dTweak = mc_inv(Tweak);
deoxys.c:
deoxys.c: In file included from deoxys.c:28:0:
deoxys.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/wmmintrin.h:77:1: error: inlining failed in call to always_inline '_mm_aesimc_si128': target specific option mismatch
deoxys.c: _mm_aesimc_si128 (__m128i __X)
deoxys.c: ^~~~~~~~~~~~~~~~
deoxys.c: deoxys.c:94:10: note: called from here
deoxys.c: dTweak = mc_inv(Tweak);
deoxys.c:
deoxys.c: In file included from deoxys.c:28:0:
deoxys.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/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:30:0:
deoxys.c: tweakable-cipher.macros:83:3: note: called from here
deoxys.c: s = enc( s , xor( subkeys[14] , t ) );
deoxys.c:
deoxys.c: deoxys.c:96:21: note: in expansion of macro 'AES'
deoxys.c: if( Direction){ AES( State , subkeys , Tweak , tTweak ); }
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