Implementation notes: amd64, glyme, crypto_aead/norx3241v1

Computer: glyme
Architecture: amd64
CPU ID: GenuineIntel-00020652-bfebfbff
SUPERCOP version: 201720170105
Operation: crypto_aead
Primitive: norx3241v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
40012xmmgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020420170105
40064xmmgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020420170105
40160xmmgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020420170105
40160xmmgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020420170105
40160xmmgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020420170105
41140xmmgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020420170105
41352xmmgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020420170105
41476xmmgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020420170105
41476xmmgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020420170105
41616xmmgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020420170105
43552xmmclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
43688xmmgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020420170105
43688xmmgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020420170105
43688xmmgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020420170105
43688xmmgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020420170105
43808xmmgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020420170105
44368xmmclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017020420170105
46892xmmgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020420170105
46952xmmgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
47140xmmgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
47140xmmgcc -march=nocona -O3 -fomit-frame-pointer2017020420170105
47292xmmgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
47292xmmgcc -march=nocona -O2 -fomit-frame-pointer2017020420170105
47376xmmclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
47376xmmclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
47376xmmclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
47568xmmgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
47568xmmgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020420170105
47756xmmclang -O3 -fomit-frame-pointer -Qunused-arguments2017020420170105
49456xmmgcc -march=k8 -O2 -fomit-frame-pointer2017020420170105
49568xmmgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
49792xmmgcc -O2 -fomit-frame-pointer2017020420170105
49792xmmgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
49792xmmgcc -m64 -O2 -fomit-frame-pointer2017020420170105
49852xmmgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
49852xmmgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020420170105
49904xmmgcc -funroll-loops -O3 -fomit-frame-pointer2017020420170105
49904xmmgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
49904xmmgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020420170105
50212xmmgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
50212xmmgcc -march=barcelona -O2 -fomit-frame-pointer2017020420170105
50244xmmgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
50244xmmgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020420170105
50420xmmgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
50420xmmgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020420170105
50576xmmgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
50584xmmgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020420170105
50664xmmgcc -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
50664xmmgcc -march=barcelona -O -fomit-frame-pointer2017020420170105
50684xmmgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
50684xmmgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020420170105
50964xmmgcc -funroll-loops -O2 -fomit-frame-pointer2017020420170105
50968xmmgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
50968xmmgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020420170105
51020xmmgcc -funroll-loops -O -fomit-frame-pointer2017020420170105
51020xmmgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
51020xmmgcc -funroll-loops -m64 -O -fomit-frame-pointer2017020420170105
51252xmmgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
51280xmmgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
51280xmmgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020420170105
51408xmmgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
51480xmmgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020420170105
51536xmmgcc -O -fomit-frame-pointer2017020420170105
51536xmmgcc -m64 -O -fomit-frame-pointer2017020420170105
51600xmmgcc -march=barcelona -O3 -fomit-frame-pointer2017020420170105
51628xmmgcc -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
51760xmmgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
51760xmmgcc -march=k8 -O3 -fomit-frame-pointer2017020420170105
51868xmmgcc -O3 -fomit-frame-pointer2017020420170105
51868xmmgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
51868xmmgcc -m64 -O3 -fomit-frame-pointer2017020420170105
52376xmmgcc -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
52380xmmgcc -march=k8 -O -fomit-frame-pointer2017020420170105
52612xmmgcc -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
52612xmmgcc -march=nocona -O -fomit-frame-pointer2017020420170105
72732refclang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017020420170105
72732refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
73496refclang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
73496refclang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
73512refclang -O3 -fomit-frame-pointer -Qunused-arguments2017020420170105
73552refclang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017020420170105
77156refgcc -funroll-loops -Os -fomit-frame-pointer2017020420170105
77156refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020420170105
77168refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
77220refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
77272refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
77276refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020420170105
77324refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020420170105
79188refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020420170105
79224refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020420170105
79352refgcc -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
79492refgcc -march=k8 -Os -fomit-frame-pointer2017020420170105
79684refgcc -march=barcelona -Os -fomit-frame-pointer2017020420170105
79864refgcc -Os -fomit-frame-pointer2017020420170105
79920refgcc -m64 -Os -fomit-frame-pointer2017020420170105
79928refgcc -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
80004refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
80032refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020420170105
80032refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020420170105
80220refgcc -m64 -march=core2 -Os -fomit-frame-pointer2017020420170105
80256refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020420170105
80520xmmgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017020420170105
80520xmmgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017020420170105
80524xmmgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017020420170105
80524xmmgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017020420170105
80524xmmgcc -m64 -march=corei7 -Os -fomit-frame-pointer2017020420170105
80828refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020420170105
80864refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
80920refgcc -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
81044refgcc -march=nocona -Os -fomit-frame-pointer2017020420170105
81412refgcc -march=barcelona -O3 -fomit-frame-pointer2017020420170105
81512refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
81868refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
81880refgcc -funroll-loops -O3 -fomit-frame-pointer2017020420170105
81880refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017020420170105
82040refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017020420170105
82040refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017020420170105
82232refgcc -march=k8 -O3 -fomit-frame-pointer2017020420170105
82256refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
82772refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017020420170105
82908refgcc -O2 -fomit-frame-pointer2017020420170105
82908refgcc -m64 -O2 -fomit-frame-pointer2017020420170105
83080refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017020420170105
83176refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017020420170105
83188refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
83212refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2017020420170105
83220refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017020420170105
83268refgcc -O3 -fomit-frame-pointer2017020420170105
83268refgcc -m64 -O3 -fomit-frame-pointer2017020420170105
83276refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2017020420170105
83276refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017020420170105
83328refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017020420170105
83352refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017020420170105
83488refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
83640refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017020420170105
83684refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
83688refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
83712refgcc -funroll-loops -m64 -O -fomit-frame-pointer2017020420170105
83744refgcc -funroll-loops -O -fomit-frame-pointer2017020420170105
83776refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
83776refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017020420170105
83816refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017020420170105
83976refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017020420170105
84020refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
84092refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2017020420170105
84104refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
84104refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017020420170105
84140refgcc -march=k8 -O2 -fomit-frame-pointer2017020420170105
84276refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017020420170105
84312refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
84372refgcc -march=barcelona -O2 -fomit-frame-pointer2017020420170105
84496refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017020420170105
84508refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017020420170105
84508refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017020420170105
84544refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2017020420170105
84544refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017020420170105
84544refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017020420170105
84596refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017020420170105
84640refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017020420170105
84640refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017020420170105
84680refgcc -fno-schedule-insns -O -fomit-frame-pointer2017020420170105
84704refgcc -O -fomit-frame-pointer2017020420170105
84704refgcc -m64 -O -fomit-frame-pointer2017020420170105
84708refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017020420170105
84720refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017020420170105
84784refgcc -funroll-loops -O2 -fomit-frame-pointer2017020420170105
84784refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017020420170105
84840refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
84888refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017020420170105
84976refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017020420170105
85264refgcc -m64 -march=corei7 -O -fomit-frame-pointer2017020420170105
85568refgcc -march=nocona -O3 -fomit-frame-pointer2017020420170105
85836refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2017020420170105
85876refgcc -m64 -march=core2 -O -fomit-frame-pointer2017020420170105
86056refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2017020420170105
86060refgcc -march=nocona -O2 -fomit-frame-pointer2017020420170105
86324refgcc -m64 -march=k8 -O -fomit-frame-pointer2017020420170105
86352refgcc -m64 -march=barcelona -O -fomit-frame-pointer2017020420170105
86364refgcc -march=barcelona -O -fomit-frame-pointer2017020420170105
86372refgcc -march=k8 -O -fomit-frame-pointer2017020420170105
86376refgcc -march=nocona -O -fomit-frame-pointer2017020420170105
86404refgcc -m64 -march=nocona -O -fomit-frame-pointer2017020420170105
91072xmmgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017020420170105
91592xmmgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
91904xmmgcc -march=nocona -Os -fomit-frame-pointer2017020420170105
92208xmmgcc -m64 -march=nocona -Os -fomit-frame-pointer2017020420170105
92864xmmgcc -funroll-loops -Os -fomit-frame-pointer2017020420170105
92864xmmgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
92864xmmgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
92864xmmgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017020420170105
92960xmmgcc -funroll-loops -m64 -Os -fomit-frame-pointer2017020420170105
93848xmmgcc -Os -fomit-frame-pointer2017020420170105
93848xmmgcc -fno-schedule-insns -Os -fomit-frame-pointer2017020420170105
93848xmmgcc -march=k8 -Os -fomit-frame-pointer2017020420170105
94160xmmgcc -m64 -march=k8 -Os -fomit-frame-pointer2017020420170105
94188xmmgcc -m64 -Os -fomit-frame-pointer2017020420170105
95216xmmgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
95216xmmgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017020420170105
95216xmmgcc -m64 -march=barcelona -Os -fomit-frame-pointer2017020420170105
95216xmmgcc -march=barcelona -Os -fomit-frame-pointer2017020420170105
338944xmmgcc2017020420170105
341808xmmgcc -funroll-loops2017020420170105
355316xmmcc2017020420170105
532296refgcc2017020420170105
533448refgcc -funroll-loops2017020420170105
578560refcc2017020420170105

Compiler output

Implementation: crypto_aead/norx3241v1/xmm
Compiler: gcc -m64 -march=core2 -O2 -fomit-frame-pointer
norx.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/x86intrin.h:43:0,
norx.c: from norx.c:27:
norx.c: norx.c: In function 'crypto_aead_norx3241v1_xmm_decrypt':
norx.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/smmintrin.h:166:1: error: inlining failed in call to always_inline '_mm_blend_epi16': target specific option mismatch
norx.c: _mm_blend_epi16 (__m128i __X, __m128i __Y, const int __M)
norx.c: ^~~~~~~~~~~~~~~
norx.c: norx.c:249:58: note: called from here
norx.c: W2 = LOADL(IN + 32); STOREL(OUT + 32, XOR(C, W2)); C = BLEND(C, W2); \
norx.c: ^
norx.c: norx.c:430:13: note: in expansion of macro 'DECRYPT_BLOCK'
norx.c: DECRYPT_BLOCK(A, B, C, D, c, m);
norx.c: ^~~~~~~~~~~~~
norx.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/x86intrin.h:43:0,
norx.c: from norx.c:27:
norx.c: /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/smmintrin.h:166:1: error: inlining failed in call to always_inline '_mm_blend_epi16': target specific option mismatch
norx.c: _mm_blend_epi16 (__m128i __X, __m128i __Y, const int __M)
norx.c: ^~~~~~~~~~~~~~~
norx.c: norx.c:249:58: note: called from here
norx.c: W2 = LOADL(IN + 32); STOREL(OUT + 32, XOR(C, W2)); C = BLEND(C, W2); \
norx.c: ^
norx.c: norx.c:430:13: note: in expansion of macro 'DECRYPT_BLOCK'
norx.c: DECRYPT_BLOCK(A, B, C, D, c, m);
norx.c: ^~~~~~~~~~~~~
norx.c: In file included from /usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/include/x86intrin.h:43:0,
norx.c: from norx.c:27:
norx.c: ...

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