Implementation notes: amd64, hydra7, crypto_aead/morus1280128v2
Computer: hydra7
Microarchitecture: amd64; Sandy Bridge+AES (206a7)
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_aead
Primitive: morus1280128v2
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
8488 | 8401 0 0 | 24948 812 1088 | T:sse2 | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
15166 | 16286 0 0 | 32844 812 1088 | T:ref | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
15447 | 16286 0 0 | 32844 812 1088 | T:ref64 | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
23931 | 6006 0 0 | 21332 812 1088 | T:ref64 | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
24253 | 6006 0 0 | 21332 812 1088 | T:ref | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
24261 | 5879 0 0 | 20843 804 1088 | T:ref | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
24644 | 5879 0 0 | 20843 804 1088 | T:ref64 | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
24719 | 5527 0 0 | 19215 788 1056 | T:ref | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
25466 | 5527 0 0 | 19215 788 1056 | T:ref64 | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
Compiler output
encrypt.c: encrypt.c: In function 'crypto_aead_morus1280128v2_avx2_timingleaks_encrypt':
encrypt.c: encrypt.c:309:31: warning: unused variable 'j' [-Wunused-variable]
encrypt.c: 309 | unsigned long long i, j;
encrypt.c: | ^
encrypt.c: encrypt.c: In function 'crypto_aead_morus1280128v2_avx2_timingleaks_decrypt':
encrypt.c: encrypt.c:360:23: warning: unused variable 'check' [-Wunused-variable]
encrypt.c: 360 | unsigned char check = 0;
encrypt.c: | ^~~~~
encrypt.c: encrypt.c:359:23: warning: unused variable 'tag' [-Wunused-variable]
encrypt.c: 359 | unsigned char tag[16];
encrypt.c: | ^~~
encrypt.c: encrypt.c:357:31: warning: unused variable 'j' [-Wunused-variable]
encrypt.c: 357 | unsigned long long i, j;
encrypt.c: | ^
encrypt.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:47,
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/11/include/avx2intrin.h:1071:1: error: inlining failed in call to 'always_inline' '_mm256_permute4x64_epi64': target specific option mismatch
encrypt.c: 1071 | _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:207:20: note: in expansion of macro 'ROTL256_64'
encrypt.c: 207 | state[2] = ROTL256_64(state[2]);
encrypt.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:avx2 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:avx2 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:avx2 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:avx2 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
Compiler output
encrypt.c: encrypt.c: In function 'crypto_aead_morus1280128v2_ref_timingleaks_decrypt':
encrypt.c: encrypt.c:370:17: warning: unused variable 'check' [-Wunused-variable]
encrypt.c: 370 | uint8_t check = 0;
encrypt.c: | ^~~~~
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:ref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
Compiler output
encrypt.c: encrypt.c: In function 'crypto_aead_morus1280128v2_ref64_timingleaks_decrypt':
encrypt.c: encrypt.c:318:17: warning: unused variable 'check' [-Wunused-variable]
encrypt.c: 318 | uint8_t check = 0;
encrypt.c: | ^~~~~
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:ref64 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:ref64 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:ref64 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:ref64 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
Compiler output
encrypt.c: encrypt.c: In function 'crypto_aead_morus1280128v2_sse2_timingleaks_decrypt':
encrypt.c: encrypt.c:366:17: warning: unused variable 'check' [-Wunused-variable]
encrypt.c: 366 | uint8_t check = 0;
encrypt.c: | ^~~~~
try.c: /usr/bin/ld: libcrypto_aead_morus1280128v2.a(encrypt.o): in function `morus_initialization':
try.c: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280128v2/sse2/work/encrypt.c:98: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280128v2.a(encrypt.o): in function `morus_initialization_key_256':
try.c: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280128v2/sse2/work/encrypt.c:118: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280128v2.a(encrypt.o): in function `morus_tag_generation':
try.c: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280128v2/sse2/work/encrypt.c:141: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280128v2.a(encrypt.o): in function `morus_tag_verification':
try.c: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280128v2/sse2/work/encrypt.c:176: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280128v2.a(encrypt.o): in function `morus_enc_aut_partialblock':
try.c: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280128v2/sse2/work/encrypt.c:271: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280128v2.a(encrypt.o):.../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280128v2/sse2/work/encrypt.c:303: more undefined references to `morus_stateupdate' follow
try.c: collect2: error: ld returned 1 exit status
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:sse2 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
Compiler output
encrypt.c: encrypt.c: In function 'crypto_aead_morus1280128v2_sse2_timingleaks_decrypt':
encrypt.c: encrypt.c:366:17: warning: unused variable 'check' [-Wunused-variable]
encrypt.c: 366 | uint8_t check = 0;
encrypt.c: | ^~~~~
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:sse2 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
Compiler output
encrypt.c: encrypt.c: In function 'crypto_aead_morus1280128v2_sse2_timingleaks_decrypt':
encrypt.c: encrypt.c:366:17: warning: unused variable 'check' [-Wunused-variable]
encrypt.c: 366 | uint8_t check = 0;
encrypt.c: | ^~~~~
try.c: /usr/bin/ld: libcrypto_aead_morus1280128v2.a(encrypt.o): in function `morus_initialization':
try.c: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280128v2/sse2/work/encrypt.c:98: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280128v2.a(encrypt.o): in function `morus_initialization_key_256':
try.c: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280128v2/sse2/work/encrypt.c:118: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280128v2.a(encrypt.o): in function `morus_tag_generation':
try.c: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280128v2/sse2/work/encrypt.c:141: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280128v2.a(encrypt.o): in function `morus_tag_verification':
try.c: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280128v2/sse2/work/encrypt.c:176: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280128v2.a(encrypt.o): in function `morus_enc_aut_partialblock':
try.c: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280128v2/sse2/work/encrypt.c:271: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280128v2.a(encrypt.o):.../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280128v2/sse2/work/encrypt.c:303: more undefined references to `morus_stateupdate' follow
try.c: collect2: error: ld returned 1 exit status
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:sse2 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
Compiler output
encrypt.c: encrypt.c: In function 'crypto_aead_morus1280128v2_sse2_timingleaks_decrypt':
encrypt.c: encrypt.c:366:17: warning: unused variable 'check' [-Wunused-variable]
encrypt.c: 366 | uint8_t check = 0;
encrypt.c: | ^~~~~
try.c: /usr/bin/ld: libcrypto_aead_morus1280128v2.a(encrypt.o): in function `morus_initialization':
try.c: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280128v2/sse2/work/encrypt.c:98: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280128v2.a(encrypt.o): in function `morus_initialization_key_256':
try.c: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280128v2/sse2/work/encrypt.c:118: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280128v2.a(encrypt.o): in function `morus_tag_generation':
try.c: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280128v2/sse2/work/encrypt.c:141: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280128v2.a(encrypt.o): in function `morus_tag_verification':
try.c: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280128v2/sse2/work/encrypt.c:176: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280128v2.a(encrypt.o): in function `morus_enc_aut_partialblock':
try.c: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280128v2/sse2/work/encrypt.c:271: undefined reference to `morus_stateupdate'
try.c: /usr/bin/ld: libcrypto_aead_morus1280128v2.a(encrypt.o):.../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280128v2/sse2/work/encrypt.c:303: more undefined references to `morus_stateupdate' follow
try.c: /usr/bin/ld: libcrypto_aead_morus1280128v2.a(encrypt.o): in function `crypto_aead_morus1280128v2_sse2_timingleaks_encrypt':
try.c: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280128v2/sse2/work/encrypt.c:328: undefined reference to `morus_enc_aut_step'
try.c: /usr/bin/ld: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280128v2/sse2/work/encrypt.c:339: undefined reference to `morus_enc_aut_step'
try.c: /usr/bin/ld: libcrypto_aead_morus1280128v2.a(encrypt.o): in function `crypto_aead_morus1280128v2_sse2_timingleaks_decrypt':
try.c: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280128v2/sse2/work/encrypt.c:373: undefined reference to `morus_enc_aut_step'
try.c: /usr/bin/ld: .../supercop-data/hydra7/amd64/try/c/gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall/timingleaks/crypto_aead/morus1280128v2/sse2/work/encrypt.c:385: undefined reference to `morus_dec_aut_step'
try.c: collect2: error: ld returned 1 exit status
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:sse2 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |