Implementation notes: amd64, par, crypto_aead/morus1280128v1

Computer: par
Architecture: amd64
CPU ID: GenuineIntel-000406c3-bfebfbff
SUPERCOP version: 20161026
Operation: crypto_aead
Primitive: morus1280128v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
17980sse2gcc -funroll-loops -march=native -mcpu=native -O22016121420161026
17980sse2gcc -funroll-loops -march=native -mcpu=native -O32016121420161026
19640sse2gcc -march=native -mcpu=native -O32016121420161026
19760sse2gcc -march=native -mcpu=native -O22016121420161026
20540sse2gcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
21280sse2gcc -march=native -mcpu=native -Os2016121420161026
24740refgcc -funroll-loops -march=native -mcpu=native -O32016121420161026
25100refgcc -funroll-loops -march=native -mcpu=native -O22016121420161026
25300ref64gcc -funroll-loops -march=native -mcpu=native -O32016121420161026
25420refgcc -march=native -mcpu=native -O32016121420161026
26040ref64gcc -march=native -mcpu=native -O32016121420161026
26180refgcc -march=native -mcpu=native -O22016121420161026
42580ref64gcc -funroll-loops -march=native -mcpu=native -O22016121420161026
43320refgcc -march=native -mcpu=native -Os2016121420161026
43700ref64gcc -march=native -mcpu=native -O22016121420161026
43780refgcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
44460ref64gcc -funroll-loops -march=native -mcpu=native -Os2016121420161026
45480ref64gcc -march=native -mcpu=native -Os2016121420161026

Compiler output

Implementation: crypto_aead/morus1280128v1/ref
Compiler: gcc -funroll-loops -march=native -mcpu=native -O2
encrypt.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
try.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
try.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
measure.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -march=native -mcpu=native -O2 ref
gcc -funroll-loops -march=native -mcpu=native -O3 ref
gcc -funroll-loops -march=native -mcpu=native -Os ref
gcc -march=native -mcpu=native -O2 ref
gcc -march=native -mcpu=native -O3 ref
gcc -march=native -mcpu=native -Os ref

Compiler output

Implementation: crypto_aead/morus1280128v1/avx2
Compiler: gcc -funroll-loops -march=native -mcpu=native -O2
morus1280128v1avx2.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
morus1280128v1avx2.c: morus1280128v1avx2.c: In function 'morus_stateupdate':
morus1280128v1avx2.c: morus1280128v1avx2.c:50:6: note: The ABI for passing parameters with 32-byte alignment has changed in GCC 4.6
morus1280128v1avx2.c: void morus_stateupdate(__m256i msgblk, __m256i *state)
morus1280128v1avx2.c: ^~~~~~~~~~~~~~~~~
morus1280128v1avx2.c: morus1280128v1avx2.c:52:11: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
morus1280128v1avx2.c: state[0] = XOR256(state[0], state[3]);
morus1280128v1avx2.c: ^
morus1280128v1avx2.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:43:0,
morus1280128v1avx2.c: from morus1280128v1avx2.c:2:
morus1280128v1avx2.c: morus1280128v1avx2.c: In function 'morus_enc_aut_step':
morus1280128v1avx2.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/avx2intrin.h:1068:1: error: inlining failed in call to always_inline '_mm256_permute4x64_epi64': target specific option mismatch
morus1280128v1avx2.c: _mm256_permute4x64_epi64 (__m256i __X, const int __M)
morus1280128v1avx2.c: ^~~~~~~~~~~~~~~~~~~~~~~~
morus1280128v1avx2.c: morus1280128v1avx2.c:38:27: note: called from here
morus1280128v1avx2.c: #define ROTL256_64(x) _mm256_permute4x64_epi64((x), _MM_SHUFFLE(2,1,0,3)) /*Rotate x by 64-bit positions to the left*/
morus1280128v1avx2.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
morus1280128v1avx2.c: morus1280128v1avx2.c:201:13: note: in expansion of macro 'ROTL256_64'
morus1280128v1avx2.c: state[2] = ROTL256_64(state[2]);
morus1280128v1avx2.c: ^~~~~~~~~~
morus1280128v1avx2.c: In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/immintrin.h:43:0,
morus1280128v1avx2.c: from morus1280128v1avx2.c:2:
morus1280128v1avx2.c: /usr/lib/gcc/x86_64-pc-linux-gnu/6.2.1/include/avx2intrin.h:574:1: error: inlining failed in call to always_inline '_mm256_or_si256': target specific option mismatch
morus1280128v1avx2.c: _mm256_or_si256 (__m256i __A, __m256i __B)
morus1280128v1avx2.c: ^~~~~~~~~~~~~~~
morus1280128v1avx2.c: ...

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -march=native -mcpu=native -O2 avx2
gcc -funroll-loops -march=native -mcpu=native -O3 avx2
gcc -funroll-loops -march=native -mcpu=native -Os avx2
gcc -march=native -mcpu=native -O2 avx2
gcc -march=native -mcpu=native -O3 avx2
gcc -march=native -mcpu=native -Os avx2

Compiler output

Implementation: crypto_aead/morus1280128v1/ref64
Compiler: gcc -funroll-loops -march=native -mcpu=native -O2
morus1280128v1opt64.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
try.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
try.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
measure.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -march=native -mcpu=native -O2 ref64
gcc -funroll-loops -march=native -mcpu=native -O3 ref64
gcc -funroll-loops -march=native -mcpu=native -Os ref64
gcc -march=native -mcpu=native -O2 ref64
gcc -march=native -mcpu=native -O3 ref64
gcc -march=native -mcpu=native -Os ref64

Compiler output

Implementation: crypto_aead/morus1280128v1/sse2
Compiler: gcc -funroll-loops -march=native -mcpu=native -O2
morus1280128v1sse2.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
try.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
try.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead
measure.c: gcc: warning: '-mcpu=' is deprecated; use '-mtune=' or '-march=' instead

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -march=native -mcpu=native -O2 sse2
gcc -funroll-loops -march=native -mcpu=native -O3 sse2
gcc -funroll-loops -march=native -mcpu=native -Os sse2
gcc -march=native -mcpu=native -O2 sse2
gcc -march=native -mcpu=native -O3 sse2
gcc -march=native -mcpu=native -Os sse2