Implementation notes: armeabi, novenablue, crypto_aead/morus1280256v1

Computer: novenablue
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20200702
Operation: crypto_aead
Primitive: morus1280256v1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
10360222952 0 031928 412 816refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042620200417
12147727404 0 038216 412 816ref64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042620200417
12155127504 0 038312 412 816refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042620200417
12316727052 0 036308 412 816refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042620200417
1427198760 0 024078 416 824ref64clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042620200417
1428018760 0 022382 416 824ref64clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042620200417
1428268760 0 022382 416 824ref64clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042620200417
1431137832 0 020400 412 824ref64clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042620200417
1456137056 0 015536 404 816ref64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042620200417
1461977456 0 016436 412 816ref64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042620200417
1467108772 0 024102 416 824ref64clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042620200417
1467238532 0 017792 412 816ref64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042620200417
1497793840 0 012320 404 816refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042620200417

Compiler output

Implementation: avx2
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
morus1280256v1avx2.c: morus1280256v1avx2.c:65:24: error: unknown type name '__m256i'
morus1280256v1avx2.c: void morus_stateupdate(__m256i msgblk, __m256i *state)
morus1280256v1avx2.c: ^
morus1280256v1avx2.c: morus1280256v1avx2.c:65:40: error: unknown type name '__m256i'
morus1280256v1avx2.c: void morus_stateupdate(__m256i msgblk, __m256i *state)
morus1280256v1avx2.c: ^
morus1280256v1avx2.c: morus1280256v1avx2.c:67:13: warning: implicit declaration of function '_mm256_xor_si256' is invalid in C99 [-Wimplicit-function-declaration]
morus1280256v1avx2.c: state[0] = XOR256(state[0], state[3]);
morus1280256v1avx2.c: ^
morus1280256v1avx2.c: morus1280256v1avx2.c:22:27: note: expanded from macro 'XOR256'
morus1280256v1avx2.c: #define XOR256(x,y) _mm256_xor_si256((x),(y)) /*XOR256(x,y) = x ^ y, where x and y are two 256-bit word*/
morus1280256v1avx2.c: ^
morus1280256v1avx2.c: morus1280256v1avx2.c:68:30: warning: implicit declaration of function '_mm256_and_si256' is invalid in C99 [-Wimplicit-function-declaration]
morus1280256v1avx2.c: state[0] = XOR256(state[0], AND256(state[1], state[2]));
morus1280256v1avx2.c: ^
morus1280256v1avx2.c: morus1280256v1avx2.c:23:27: note: expanded from macro 'AND256'
morus1280256v1avx2.c: #define AND256(x,y) _mm256_and_si256((x),(y)) /*AND(x,y) = x & y, where x and y are two 256-bit word*/
morus1280256v1avx2.c: ^
morus1280256v1avx2.c: morus1280256v1avx2.c:22:49: note: expanded from macro 'XOR256'
morus1280256v1avx2.c: #define XOR256(x,y) _mm256_xor_si256((x),(y)) /*XOR256(x,y) = x ^ y, where x and y are two 256-bit word*/
morus1280256v1avx2.c: ^
morus1280256v1avx2.c: morus1280256v1avx2.c:69:13: warning: implicit declaration of function '_mm256_or_si256' is invalid in C99 [-Wimplicit-function-declaration]
morus1280256v1avx2.c: state[0] = ROTL256(state[0], n1);
morus1280256v1avx2.c: ^
morus1280256v1avx2.c: morus1280256v1avx2.c:36:27: note: expanded from macro 'ROTL256'
morus1280256v1avx2.c: ...

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE avx2

Compiler output

Implementation: avx2
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
morus1280256v1avx2.c: morus1280256v1avx2.c:2:23: fatal error: immintrin.h: No such file or directory
morus1280256v1avx2.c: #include <immintrin.h>
morus1280256v1avx2.c: ^
morus1280256v1avx2.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE avx2

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: crypto_aead_morus1280256v1.a(encrypt.o): In function `morus_initialization':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus1280256v1.a(encrypt.o):encrypt.c:(.text+0x...): more undefined references to `morus_stateupdate' follow
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref

Compiler output

Implementation: ref
Security model: unknown
Compiler: clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: crypto_aead_morus1280256v1.a(encrypt.o): In function `morus_initialization':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus1280256v1.a(encrypt.o): In function `morus_tag_generation':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus1280256v1.a(encrypt.o): In function `morus_tag_verification':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus1280256v1.a(encrypt.o): In function `morus_enc_aut_partialblock':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus1280256v1.a(encrypt.o): In function `morus_dec_aut_partialblock':
try.c: encrypt.c:(.text+0x...): undefined reference to `morus_stateupdate'
try.c: crypto_aead_morus1280256v1.a(encrypt.o):encrypt.c:(.text+0x...): more undefined references to `morus_stateupdate' follow
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref

Compiler output

Implementation: sse2
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
morus1280256v1sse2.c: morus1280256v1sse2.c:38:24: error: unknown type name '__m128i'
morus1280256v1sse2.c: void morus_stateupdate(__m128i *msgblk, __m128i (*state)[2])
morus1280256v1sse2.c: ^
morus1280256v1sse2.c: morus1280256v1sse2.c:38:51: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
morus1280256v1sse2.c: void morus_stateupdate(__m128i *msgblk, __m128i (*state)[2])
morus1280256v1sse2.c: ~^
morus1280256v1sse2.c: morus1280256v1sse2.c:38:41: warning: type specifier missing, defaults to 'int' [-Wimplicit-int]
morus1280256v1sse2.c: void morus_stateupdate(__m128i *msgblk, __m128i (*state)[2])
morus1280256v1sse2.c: ^~~~~~~
morus1280256v1sse2.c: morus1280256v1sse2.c:38:49: error: function cannot return array type 'int [2]'
morus1280256v1sse2.c: void morus_stateupdate(__m128i *msgblk, __m128i (*state)[2])
morus1280256v1sse2.c: ^
morus1280256v1sse2.c: morus1280256v1sse2.c:41:2: error: use of undeclared identifier 'state'
morus1280256v1sse2.c: state[0][0] = XOR(state[0][0], state[3][0]); state[0][1] = XOR(state[0][1], state[3][1]);
morus1280256v1sse2.c: ^
morus1280256v1sse2.c: morus1280256v1sse2.c:41:16: warning: implicit declaration of function '_mm_xor_si128' is invalid in C99 [-Wimplicit-function-declaration]
morus1280256v1sse2.c: state[0][0] = XOR(state[0][0], state[3][0]); state[0][1] = XOR(state[0][1], state[3][1]);
morus1280256v1sse2.c: ^
morus1280256v1sse2.c: morus1280256v1sse2.c:18:24: note: expanded from macro 'XOR'
morus1280256v1sse2.c: #define XOR(x,y) _mm_xor_si128((x),(y)) /*XOR(x,y) = x ^ y, where x and y are two 128-bit word*/
morus1280256v1sse2.c: ^
morus1280256v1sse2.c: morus1280256v1sse2.c:41:20: error: use of undeclared identifier 'state'
morus1280256v1sse2.c: state[0][0] = XOR(state[0][0], state[3][0]); state[0][1] = XOR(state[0][1], state[3][1]);
morus1280256v1sse2.c: ^
morus1280256v1sse2.c: morus1280256v1sse2.c:18:39: note: expanded from macro 'XOR'
morus1280256v1sse2.c: ...

Number of similar (compiler,implementation) pairs: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE sse2
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE sse2
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE sse2
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE sse2
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE sse2

Compiler output

Implementation: sse2
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
morus1280256v1sse2.c: morus1280256v1sse2.c:2:29: fatal error: immintrin.h: No such file or directory
morus1280256v1sse2.c: #include <immintrin.h>
morus1280256v1sse2.c: ^
morus1280256v1sse2.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE sse2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE sse2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE sse2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE sse2

Namespace violations

Implementation: ref
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
encrypt.o morus_dec_aut_partialblock T
encrypt.o morus_dec_aut_step T
encrypt.o morus_enc_aut_partialblock T
encrypt.o morus_enc_aut_step T
encrypt.o morus_initialization T
encrypt.o morus_stateupdate T
encrypt.o morus_tag_generation T
encrypt.o morus_tag_verification T

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE ref

Namespace violations

Implementation: ref64
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
morus1280256v1opt64.o morus_dec_aut_partialblock T
morus1280256v1opt64.o morus_dec_aut_step T
morus1280256v1opt64.o morus_enc_aut_partialblock T
morus1280256v1opt64.o morus_enc_aut_step T
morus1280256v1opt64.o morus_initialization T
morus1280256v1opt64.o morus_stateupdate T
morus1280256v1opt64.o morus_tag_generation T
morus1280256v1opt64.o morus_tag_verification T

Number of similar (compiler,implementation) pairs: 9, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref64
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref64
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref64
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref64
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE ref64
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE ref64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE ref64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE ref64