Implementation notes: amd64, hunsnivy, crypto_aead/morus1280256v2

Computer: hunsnivy
Microarchitecture: amd64; Ivy Bridge+AES (306a9)
Architecture: amd64
CPU ID: GenuineIntel-000306a9-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_aead
Primitive: morus1280256v2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
720010544 0 026736 812 1016T:sse2clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
720310560 0 028424 812 1016T:sse2clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
809812505 0 028776 812 1016T:sse2clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
104786844 0 022264 780 1080T:sse2gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
105993633 0 017038 804 1016T:sse2clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
109873271 0 017720 780 1080T:sse2gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
111743395 0 017592 780 1080T:sse2gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
1309616225 0 031664 780 1080T:ref64gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
1314013007 0 028416 780 1080T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
192856656 0 022928 812 1016T:ref64clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
197096656 0 024600 812 1016T:ref64clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
197185252 0 018678 804 1016T:ref64clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
227445478 0 019952 780 1080T:ref64gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
228235399 0 019519 772 1080T:ref64gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
230874972 0 017899 756 1048T:ref64gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
251716683 0 023040 812 1016T:ref64clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
280635781 0 019718 804 1016T:ref64clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625

Compiler output


encrypt.c: encrypt.c:70:13: error: always_inline function '_mm256_xor_si256' requires target feature 'avx2', but would be inlined into function 'morus_stateupdate' that is compiled without support for 'avx2'
encrypt.c:         state[0] = XOR256(state[0], state[3]);
encrypt.c:                    ^
encrypt.c: encrypt.c:25:27: note: expanded from macro 'XOR256'
encrypt.c: #define XOR256(x,y)       _mm256_xor_si256((x),(y))        /*XOR256(x,y) = x ^ y, where x and y are two 256-bit word*/
encrypt.c:                           ^
encrypt.c: encrypt.c:71:30: error: always_inline function '_mm256_and_si256' requires target feature 'avx2', but would be inlined into function 'morus_stateupdate' that is compiled without support for 'avx2'
encrypt.c:         state[0] = XOR256(state[0], AND256(state[1], state[2]));
encrypt.c:                                     ^
encrypt.c: encrypt.c:26:27: note: expanded from macro 'AND256'
encrypt.c: #define AND256(x,y)       _mm256_and_si256((x),(y))        /*AND(x,y) = x & y, where x and y are two 256-bit word*/
encrypt.c:                           ^
encrypt.c: encrypt.c:71:13: error: always_inline function '_mm256_xor_si256' requires target feature 'avx2', but would be inlined into function 'morus_stateupdate' that is compiled without support for 'avx2'
encrypt.c:         state[0] = XOR256(state[0], AND256(state[1], state[2]));
encrypt.c:                    ^
encrypt.c: encrypt.c:25:27: note: expanded from macro 'XOR256'
encrypt.c: #define XOR256(x,y)       _mm256_xor_si256((x),(y))        /*XOR256(x,y) = x ^ y, where x and y are two 256-bit word*/
encrypt.c:                           ^
encrypt.c: encrypt.c:72:13: error: always_inline function '_mm256_slli_epi64' requires target feature 'avx2', but would be inlined into function 'morus_stateupdate' that is compiled without support for 'avx2'
encrypt.c:         state[0] = ROTL256(state[0], n1);
encrypt.c:                    ^
encrypt.c: encrypt.c:39:34: note: expanded from macro 'ROTL256'
encrypt.c: #define ROTL256(x,n)      OR256( _mm256_slli_epi64((x), (n)), _mm256_srli_epi64((x),(64-n)) )   /*Rotate 4 64-bit unsigned integers in x to the left by n-bit positions*/
encrypt.c:                                  ^
encrypt.c: encrypt.c:72:13: error: always_inline function '_mm256_srli_epi64' requires target feature 'avx2', but would be inlined into function 'morus_stateupdate' that is compiled without support for 'avx2'
encrypt.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:avx2clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:avx2clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:avx2clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:avx2clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


encrypt.c: encrypt.c:70:13: error: always_inline function '_mm256_xor_si256' requires target feature 'avx2', but would be inlined into function 'morus_stateupdate' that is compiled without support for 'avx2'
encrypt.c:         state[0] = XOR256(state[0], state[3]);
encrypt.c:                    ^
encrypt.c: encrypt.c:25:27: note: expanded from macro 'XOR256'
encrypt.c: #define XOR256(x,y)       _mm256_xor_si256((x),(y))        /*XOR256(x,y) = x ^ y, where x and y are two 256-bit word*/
encrypt.c:                           ^
encrypt.c: encrypt.c:70:13: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
encrypt.c: encrypt.c:25:27: note: expanded from macro 'XOR256'
encrypt.c: #define XOR256(x,y)       _mm256_xor_si256((x),(y))        /*XOR256(x,y) = x ^ y, where x and y are two 256-bit word*/
encrypt.c:                           ^
encrypt.c: encrypt.c:71:30: error: always_inline function '_mm256_and_si256' requires target feature 'avx2', but would be inlined into function 'morus_stateupdate' that is compiled without support for 'avx2'
encrypt.c:         state[0] = XOR256(state[0], AND256(state[1], state[2]));
encrypt.c:                                     ^
encrypt.c: encrypt.c:26:27: note: expanded from macro 'AND256'
encrypt.c: #define AND256(x,y)       _mm256_and_si256((x),(y))        /*AND(x,y) = x & y, where x and y are two 256-bit word*/
encrypt.c:                           ^
encrypt.c: encrypt.c:71:30: error: AVX vector argument of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
encrypt.c: encrypt.c:26:27: note: expanded from macro 'AND256'
encrypt.c: #define AND256(x,y)       _mm256_and_si256((x),(y))        /*AND(x,y) = x & y, where x and y are two 256-bit word*/
encrypt.c:                           ^
encrypt.c: encrypt.c:71:13: error: always_inline function '_mm256_xor_si256' requires target feature 'avx2', but would be inlined into function 'morus_stateupdate' that is compiled without support for 'avx2'
encrypt.c:         state[0] = XOR256(state[0], AND256(state[1], state[2]));
encrypt.c:                    ^
encrypt.c: encrypt.c:25:27: note: expanded from macro 'XOR256'
encrypt.c: #define XOR256(x,y)       _mm256_xor_si256((x),(y))        /*XOR256(x,y) = x ^ y, where x and y are two 256-bit word*/
encrypt.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:avx2clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


encrypt.c: encrypt.c: In function 'crypto_aead_morus1280256v2_avx2_timingleaks_decrypt':
encrypt.c: encrypt.c:374:16: warning: unused variable 'check' [-Wunused-variable]
encrypt.c:   374 |  unsigned char check = 0;
encrypt.c:       |                ^~~~~
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:53,
encrypt.c:                  from encrypt.c:2:
encrypt.c: encrypt.c: In function 'morus_enc_aut_step':
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/avx2intrin.h:1068:1: error: inlining failed in call to 'always_inline' '_mm256_permute4x64_epi64': target specific option mismatch
encrypt.c:  1068 | _mm256_permute4x64_epi64 (__m256i __X, const int __M)
encrypt.c:       | ^~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:41:27: note: called from here
encrypt.c:    41 | #define ROTL256_64(x)     _mm256_permute4x64_epi64((x), _MM_SHUFFLE(2,1,0,3))  /*Rotate x by 64-bit  positions to the left*/
encrypt.c:       |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:220:13: note: in expansion of macro 'ROTL256_64'
encrypt.c:   220 |  state[2] = ROTL256_64(state[2]);
encrypt.c:       |             ^~~~~~~~~~
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:53,
encrypt.c:                  from encrypt.c:2:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/avx2intrin.h:574:1: error: inlining failed in call to 'always_inline' '_mm256_or_si256': target specific option mismatch
encrypt.c:   574 | _mm256_or_si256 (__m256i __A, __m256i __B)
encrypt.c:       | ^~~~~~~~~~~~~~~
encrypt.c: encrypt.c:28:27: note: called from here
encrypt.c:    28 | #define OR256(x,y)        _mm256_or_si256((x),(y))         /*OR(x,y)  = x | y, where x and y are two 256-bit word*/
encrypt.c:       |                           ^~~~~~~~~~~~~~~~~~~~~~~~
encrypt.c: encrypt.c:39:27: note: in expansion of macro 'OR256'
encrypt.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:avx2gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:avx2gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:avx2gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:avx2gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

Compiler output


encrypt.c: encrypt.c:251:10: warning: unused variable 'check' [-Wunused-variable]
encrypt.c:         uint8_t check = 0;
encrypt.c:                 ^
encrypt.c: 1 warning generated.
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o): in function `morus_initialization':
try.c: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:66: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:66: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:66: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:66: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:66: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o):.../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:66: 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 (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


encrypt.c: encrypt.c:251:10: warning: unused variable 'check' [-Wunused-variable]
encrypt.c:         uint8_t check = 0;
encrypt.c:                 ^
encrypt.c: 1 warning generated.
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o): in function `morus_initialization':
try.c: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:66: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:66: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:66: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:66: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:66: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o):.../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:66: 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 (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


encrypt.c: encrypt.c:251:10: warning: unused variable 'check' [-Wunused-variable]
encrypt.c:         uint8_t check = 0;
encrypt.c:                 ^
encrypt.c: 1 warning generated.
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o): in function `morus_initialization':
try.c: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:66: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o): in function `morus_tag_generation':
try.c: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:85: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o): in function `morus_tag_verification':
try.c: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:107: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o): in function `morus_enc_aut_partialblock':
try.c: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:165: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o): in function `morus_dec_aut_partialblock':
try.c: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:189: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o): in function `crypto_aead_morus1280256v2_ref_timingleaks_encrypt':
try.c: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:213: undefined reference to `morus_enc_aut_step'
try.c: /usr/bin/ld: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:224: undefined reference to `morus_enc_aut_step'
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o): in function `crypto_aead_morus1280256v2_ref_timingleaks_decrypt':
try.c: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:258: undefined reference to `morus_enc_aut_step'
try.c: /usr/bin/ld: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:270: undefined reference to `morus_dec_aut_step'
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


encrypt.c: encrypt.c:251:10: warning: unused variable 'check' [-Wunused-variable]
encrypt.c:         uint8_t check = 0;
encrypt.c:                 ^
encrypt.c: 1 warning generated.
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o): in function `morus_initialization':
try.c: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:66: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o): in function `morus_tag_generation':
try.c: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:85: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o): in function `morus_tag_verification':
try.c: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:107: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o): in function `morus_enc_aut_partialblock':
try.c: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:165: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o): in function `morus_dec_aut_partialblock':
try.c: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:189: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o):.../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:130: 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 (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


encrypt.c: encrypt.c:251:10: warning: unused variable 'check' [-Wunused-variable]
encrypt.c:         uint8_t check = 0;
encrypt.c:                 ^
encrypt.c: 1 warning generated.
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o): in function `morus_initialization':
try.c: .../supercop-data/hunsnivy/amd64/try/c/clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:66: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: .../supercop-data/hunsnivy/amd64/try/c/clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:66: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: .../supercop-data/hunsnivy/amd64/try/c/clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:66: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: .../supercop-data/hunsnivy/amd64/try/c/clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:66: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: .../supercop-data/hunsnivy/amd64/try/c/clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:66: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o):.../supercop-data/hunsnivy/amd64/try/c/clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:66: 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 (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


encrypt.c: encrypt.c: In function 'crypto_aead_morus1280256v2_ref_timingleaks_decrypt':
encrypt.c: encrypt.c:251:10: warning: unused variable 'check' [-Wunused-variable]
encrypt.c:   251 |  uint8_t check = 0;
encrypt.c:       |          ^~~~~
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o): in function `morus_initialization':
try.c: .../supercop-data/hunsnivy/amd64/try/c/gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:66: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o): in function `morus_tag_generation':
try.c: .../supercop-data/hunsnivy/amd64/try/c/gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:85: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o): in function `morus_tag_verification':
try.c: .../supercop-data/hunsnivy/amd64/try/c/gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:107: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o): in function `morus_enc_aut_partialblock':
try.c: .../supercop-data/hunsnivy/amd64/try/c/gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:165: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o): in function `morus_dec_aut_partialblock':
try.c: .../supercop-data/hunsnivy/amd64/try/c/gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:189: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o):.../supercop-data/hunsnivy/amd64/try/c/gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:130: more undefined references to `morus_stateupdate' follow
try.c: collect2: error: ld returned 1 exit status

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

Compiler output


encrypt.c: encrypt.c: In function 'crypto_aead_morus1280256v2_ref_timingleaks_decrypt':
encrypt.c: encrypt.c:251:10: warning: unused variable 'check' [-Wunused-variable]
encrypt.c:   251 |  uint8_t check = 0;
encrypt.c:       |          ^~~~~

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

Compiler output


encrypt.c: encrypt.c: In function 'crypto_aead_morus1280256v2_ref_timingleaks_decrypt':
encrypt.c: encrypt.c:251:10: warning: unused variable 'check' [-Wunused-variable]
encrypt.c:   251 |  uint8_t check = 0;
encrypt.c:       |          ^~~~~
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o): in function `morus_initialization':
try.c: .../supercop-data/hunsnivy/amd64/try/c/gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:66: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o): in function `morus_tag_generation':
try.c: .../supercop-data/hunsnivy/amd64/try/c/gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:85: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o): in function `morus_tag_verification':
try.c: .../supercop-data/hunsnivy/amd64/try/c/gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:107: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o): in function `morus_enc_aut_partialblock':
try.c: .../supercop-data/hunsnivy/amd64/try/c/gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:165: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o): in function `morus_dec_aut_partialblock':
try.c: .../supercop-data/hunsnivy/amd64/try/c/gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:189: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o):.../supercop-data/hunsnivy/amd64/try/c/gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:130: more undefined references to `morus_stateupdate' follow
try.c: collect2: error: ld returned 1 exit status

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

Compiler output


encrypt.c: encrypt.c: In function 'crypto_aead_morus1280256v2_ref_timingleaks_decrypt':
encrypt.c: encrypt.c:251:10: warning: unused variable 'check' [-Wunused-variable]
encrypt.c:   251 |  uint8_t check = 0;
encrypt.c:       |          ^~~~~
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o): in function `morus_initialization':
try.c: .../supercop-data/hunsnivy/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:66: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o): in function `morus_tag_generation':
try.c: .../supercop-data/hunsnivy/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:85: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o): in function `morus_tag_verification':
try.c: .../supercop-data/hunsnivy/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:107: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o): in function `morus_enc_aut_partialblock':
try.c: .../supercop-data/hunsnivy/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:165: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o): in function `morus_dec_aut_partialblock':
try.c: .../supercop-data/hunsnivy/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:189: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o): in function `crypto_aead_morus1280256v2_ref_timingleaks_encrypt':
try.c: .../supercop-data/hunsnivy/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:213: undefined reference to `morus_enc_aut_step'
try.c: /usr/bin/ld: .../supercop-data/hunsnivy/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:224: undefined reference to `morus_enc_aut_step'
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o): in function `crypto_aead_morus1280256v2_ref_timingleaks_decrypt':
try.c: .../supercop-data/hunsnivy/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:258: undefined reference to `morus_enc_aut_step'
try.c: /usr/bin/ld: .../supercop-data/hunsnivy/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/ref/work/encrypt.c:270: undefined reference to `morus_dec_aut_step'
try.c: collect2: error: ld returned 1 exit status

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

Compiler output


encrypt.c: encrypt.c:312:10: warning: unused variable 'check' [-Wunused-variable]
encrypt.c:         uint8_t check = 0;
encrypt.c:                 ^
encrypt.c: 1 warning generated.

Number of similar (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:ref64clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ref64clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ref64clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ref64clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:ref64clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


encrypt.c: encrypt.c: In function 'crypto_aead_morus1280256v2_ref64_timingleaks_decrypt':
encrypt.c: encrypt.c:312:10: warning: unused variable 'check' [-Wunused-variable]
encrypt.c:   312 |  uint8_t check = 0;
encrypt.c:       |          ^~~~~

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:ref64gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:ref64gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:ref64gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:ref64gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

Compiler output


try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o): in function `crypto_aead_morus1280256v2_sse2_timingleaks_encrypt':
try.c: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/sse2/work/encrypt.c:290: undefined reference to `morus_enc_aut_step'
try.c: /usr/bin/ld: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/sse2/work/encrypt.c:301: undefined reference to `morus_enc_aut_step'
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o): in function `crypto_aead_morus1280256v2_sse2_timingleaks_decrypt':
try.c: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/sse2/work/encrypt.c:334: undefined reference to `morus_enc_aut_step'
try.c: /usr/bin/ld: .../supercop-data/hunsnivy/amd64/try/c/clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/sse2/work/encrypt.c:346: undefined reference to `morus_dec_aut_step'
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:sse2clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o): in function `crypto_aead_morus1280256v2_sse2_timingleaks_encrypt':
try.c: .../supercop-data/hunsnivy/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/sse2/work/encrypt.c:290: undefined reference to `morus_enc_aut_step'
try.c: /usr/bin/ld: .../supercop-data/hunsnivy/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/sse2/work/encrypt.c:301: undefined reference to `morus_enc_aut_step'
try.c: /usr/bin/ld: libcrypto_aead_morus1280256v2.a(encrypt.o): in function `crypto_aead_morus1280256v2_sse2_timingleaks_decrypt':
try.c: .../supercop-data/hunsnivy/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/sse2/work/encrypt.c:334: undefined reference to `morus_enc_aut_step'
try.c: /usr/bin/ld: .../supercop-data/hunsnivy/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280256v2/sse2/work/encrypt.c:346: undefined reference to `morus_dec_aut_step'
try.c: collect2: error: ld returned 1 exit status

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:sse2gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)