Implementation notes: amd64, hydra1, crypto_aead/present80n6t4silcv3

Computer: hydra1
Architecture: amd64
CPU ID: AuthenticAMD-00100fa0-178bfbff
SUPERCOP version: 20161220
Operation: crypto_aead
Primitive: present80n6t4silcv3
TimeImplementationCompilerBenchmark dateSUPERCOP version
35311814refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2016122720161220
35312810refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2016122720161220
35312899refgcc -funroll-loops -O2 -fomit-frame-pointer2016122720161220
35435317refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2016122720161220
35435426refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2016122720161220
36077037refgcc -funroll-loops -O -fomit-frame-pointer2016122720161220
36077212refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2016122720161220
36077298refgcc -funroll-loops -m64 -O -fomit-frame-pointer2016122720161220
36240403refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2016122720161220
36240670refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2016122720161220
36355752refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2016122720161220
36356334refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2016122720161220
37223688refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2016122720161220
37224355refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2016122720161220
40397816refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016122720161220
40397909refclang -O3 -fomit-frame-pointer -Qunused-arguments2016122720161220
40398795refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016122720161220
40399144refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016122720161220
40468643refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2016122720161220
40486054refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2016122720161220
40486669refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016122720161220
40487214refgcc -march=barcelona -O2 -fomit-frame-pointer2016122720161220
40650285refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2016122720161220
40650418refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016122720161220
41077101refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2016122720161220
41077237refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2016122720161220
41093501refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2016122720161220
41094301refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2016122720161220
41168072refgcc -funroll-loops -O3 -fomit-frame-pointer2016122720161220
41168433refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2016122720161220
41172879refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2016122720161220
41259396refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2016122720161220
41275520refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2016122720161220
41280656refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2016122720161220
41495663refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2016122720161220
42781116refgcc -O -fomit-frame-pointer2016122720161220
42781962refgcc -m64 -O -fomit-frame-pointer2016122720161220
42783397refgcc -fno-schedule-insns -O -fomit-frame-pointer2016122720161220
42882297refgcc -O2 -fomit-frame-pointer2016122720161220
42884829refgcc -m64 -O2 -fomit-frame-pointer2016122720161220
42884976refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2016122720161220
42915370refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2016122720161220
42915743refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2016122720161220
42916276refgcc -m64 -march=core2 -O -fomit-frame-pointer2016122720161220
42943484refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016122720161220
42943963refgcc -m64 -march=barcelona -O -fomit-frame-pointer2016122720161220
42944689refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2016122720161220
42945438refgcc -march=barcelona -O -fomit-frame-pointer2016122720161220
43135978refgcc -m64 -march=k8 -O -fomit-frame-pointer2016122720161220
43137349refgcc -march=k8 -O -fomit-frame-pointer2016122720161220
43797400refgcc -m64 -march=corei7 -O -fomit-frame-pointer2016122720161220
44624181refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2016122720161220
44659890refgcc -march=k8 -O2 -fomit-frame-pointer2016122720161220
46662696refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2016122720161220
46662874refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016122720161220
46662911refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2016122720161220
46663063refgcc -march=barcelona -O3 -fomit-frame-pointer2016122720161220
46728451refgcc -march=k8 -O3 -fomit-frame-pointer2016122720161220
46728904refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2016122720161220
46767066refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2016122720161220
46767283refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2016122720161220
48970907refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2016122720161220
48971573refgcc -m64 -O3 -fomit-frame-pointer2016122720161220
48971954refgcc -O3 -fomit-frame-pointer2016122720161220
50330542refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2016122720161220
50333611refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2016122720161220
54072454refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2016122720161220
54075100refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2016122720161220
54540224refgcc -march=nocona -O -fomit-frame-pointer2016122720161220
54541029refgcc -m64 -march=nocona -O -fomit-frame-pointer2016122720161220
57075106refgcc -march=nocona -O2 -fomit-frame-pointer2016122720161220
57324171refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2016122720161220
60859573refgcc -march=nocona -O3 -fomit-frame-pointer2016122720161220
60859805refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2016122720161220
100598075refgcc -funroll-loops -Os -fomit-frame-pointer2016122720161220
100601728refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2016122720161220
100602240refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2016122720161220
100604009refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2016122720161220
100604107refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2016122720161220
100634982refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2016122720161220
100637363refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2016122720161220
103175621refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2016122720161220
103178967refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2016122720161220
103870305refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2016122720161220
103909765refgcc -m64 -march=core2 -Os -fomit-frame-pointer2016122720161220
103930238refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2016122720161220
103930329refgcc -m64 -march=k8 -Os -fomit-frame-pointer2016122720161220
103930609refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2016122720161220
103931088refgcc -fno-schedule-insns -Os -fomit-frame-pointer2016122720161220
103931153refgcc -march=barcelona -Os -fomit-frame-pointer2016122720161220
103931280refgcc -Os -fomit-frame-pointer2016122720161220
103931487refgcc -m64 -Os -fomit-frame-pointer2016122720161220
103931790refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2016122720161220
103958253refgcc -march=k8 -Os -fomit-frame-pointer2016122720161220
103958312refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016122720161220
103958976refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2016122720161220
108212166refgcc -m64 -march=nocona -Os -fomit-frame-pointer2016122720161220
108212669refgcc -march=nocona -Os -fomit-frame-pointer2016122720161220
168793984refgcc -funroll-loops2016122720161220
168794730refcc2016122720161220
168796096refgcc2016122720161220

Test failure

Implementation: crypto_aead/present80n6t4silcv3/vperm
Compiler: gcc -m64 -march=core2 -O2 -fomit-frame-pointer
error 111

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

Compiler output

Implementation: crypto_aead/present80n6t4silcv3/vperm
Compiler: cc
present.c: In file included from common.h:7:0,
present.c: from present.h:1,
present.c: from present.c:1:
present.c: present.c: In function 'format_input':
present.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
present.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
present.c: ^
present.c: In file included from present.h:1:0,
present.c: from present.c:1:
present.c: common.h:40:22: error: called from here
present.c: #define PSHUFB(s, x) _mm_shuffle_epi8((s), (x)) /*return s(x)*/
present.c: ^
present.c: present.c:113:11: note: in expansion of macro 'PSHUFB'
present.c: *state = PSHUFB(*state, LOAD(PRESENTInShuffleL));
present.c: ^
present.c: In file included from common.h:7:0,
present.c: from present.h:1,
present.c: from present.c:1:
present.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
present.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
present.c: ^
present.c: present.c:112:9: error: called from here
present.c: dqword tmp = PSHUFB(*state, LOAD(PRESENTInShuffleU));
present.c: ^
present.c: In file included from common.h:7:0,
present.c: ...

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

Compiler output

Implementation: crypto_aead/present80n6t4silcv3/vperm
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
present.c: present.c:112:15: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'format_input' that is compiled without support for 'ssse3'
present.c: dqword tmp = PSHUFB(*state, LOAD(PRESENTInShuffleU));
present.c: ^
present.c: ./common.h:40:22: note: expanded from macro 'PSHUFB'
present.c: #define PSHUFB(s, x) _mm_shuffle_epi8((s), (x)) /*return s(x)*/
present.c: ^
present.c: present.c:113:11: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'format_input' that is compiled without support for 'ssse3'
present.c: *state = PSHUFB(*state, LOAD(PRESENTInShuffleL));
present.c: ^
present.c: ./common.h:40:22: note: expanded from macro 'PSHUFB'
present.c: #define PSHUFB(s, x) _mm_shuffle_epi8((s), (x)) /*return s(x)*/
present.c: ^
present.c: 2 errors generated.

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

Compiler output

Implementation: crypto_aead/present80n6t4silcv3/vperm
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
present.c: In file included from common.h:7:0,
present.c: from present.h:1,
present.c: from present.c:1:
present.c: present.c: In function 'format_input':
present.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
present.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
present.c: ^
present.c: In file included from present.h:1:0,
present.c: from present.c:1:
present.c: common.h:40:22: error: called from here
present.c: #define PSHUFB(s, x) _mm_shuffle_epi8((s), (x)) /*return s(x)*/
present.c: ^
present.c: present.c:113:11: note: in expansion of macro 'PSHUFB'
present.c: *state = PSHUFB(*state, LOAD(PRESENTInShuffleL));
present.c: ^
present.c: In file included from common.h:7:0,
present.c: from present.h:1,
present.c: from present.c:1:
present.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
present.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
present.c: ^
present.c: present.c:112:9: error: called from here
present.c: dqword tmp = PSHUFB(*state, LOAD(PRESENTInShuffleU));
present.c: ^
present.c: In file included from common.h:7:0,
present.c: ...
present.c: In file included from common.h:7:0,
present.c: from present.h:1,
present.c: from present.c:1:
present.c: present.c: In function 'format_input':
present.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
present.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
present.c: ^
present.c: In file included from present.h:1:0,
present.c: from present.c:1:
present.c: common.h:40:22: error: called from here
present.c: #define PSHUFB(s, x) _mm_shuffle_epi8((s), (x)) /*return s(x)*/
present.c: ^
present.c: present.c:113:11: note: in expansion of macro 'PSHUFB'
present.c: *state = PSHUFB(*state, LOAD(PRESENTInShuffleL));
present.c: ^
present.c: In file included from common.h:7:0,
present.c: from present.h:1,
present.c: from present.c:1:
present.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/tmmintrin.h:136:1: error: inlining failed in call to always_inline '_mm_shuffle_epi8': target specific option mismatch
present.c: _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
present.c: ^
present.c: present.c:112:9: error: called from here
present.c: dqword tmp = PSHUFB(*state, LOAD(PRESENTInShuffleU));
present.c: ^
present.c: In file included from common.h:7:0,
present.c: ...

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