Implementation notes: amd64, hydra7, crypto_aead/morus1280128v1
Computer: hydra7
Microarchitecture: amd64; Sandy Bridge+AES (206a7)
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_aead
Primitive: morus1280128v1
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
14779 | 16398 0 0 | 32956 812 1088 | T:ref64 | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
14827 | 13174 0 0 | 29708 812 1088 | T:ref | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
23277 | 4334 0 0 | 19644 812 1088 | T:ref | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
23615 | 6022 0 0 | 21348 812 1088 | T:ref64 | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
23826 | 4298 0 0 | 19251 804 1088 | T:ref | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
23997 | 3697 0 0 | 17391 788 1056 | T:ref | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
24058 | 5888 0 0 | 20843 804 1088 | T:ref64 | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
24284 | 5529 0 0 | 19231 788 1056 | T:ref64 | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240626 | 20240625 |
Compiler output
morus1280128v1avx2.c: morus1280128v1avx2.c: In function 'crypto_aead_morus1280128v1_avx2_timingleaks_encrypt':
morus1280128v1avx2.c: morus1280128v1avx2.c:306:30: warning: unused variable 'j' [-Wunused-variable]
morus1280128v1avx2.c: 306 | unsigned long long i,j;
morus1280128v1avx2.c: | ^
morus1280128v1avx2.c: morus1280128v1avx2.c: In function 'crypto_aead_morus1280128v1_avx2_timingleaks_decrypt':
morus1280128v1avx2.c: morus1280128v1avx2.c:357:23: warning: unused variable 'check' [-Wunused-variable]
morus1280128v1avx2.c: 357 | unsigned char check = 0;
morus1280128v1avx2.c: | ^~~~~
morus1280128v1avx2.c: morus1280128v1avx2.c:356:23: warning: unused variable 'tag' [-Wunused-variable]
morus1280128v1avx2.c: 356 | unsigned char tag[16];
morus1280128v1avx2.c: | ^~~
morus1280128v1avx2.c: morus1280128v1avx2.c:354:30: warning: unused variable 'j' [-Wunused-variable]
morus1280128v1avx2.c: 354 | unsigned long long i,j;
morus1280128v1avx2.c: | ^
morus1280128v1avx2.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:47,
morus1280128v1avx2.c: from morus1280128v1avx2.c:2:
morus1280128v1avx2.c: morus1280128v1avx2.c: In function 'morus_enc_aut_step':
morus1280128v1avx2.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
morus1280128v1avx2.c: 1071 | _mm256_permute4x64_epi64 (__m256i __X, const int __M)
morus1280128v1avx2.c: | ^~~~~~~~~~~~~~~~~~~~~~~~
morus1280128v1avx2.c: morus1280128v1avx2.c:41:27: note: called from here
morus1280128v1avx2.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*/
morus1280128v1avx2.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
morus1280128v1avx2.c: morus1280128v1avx2.c:204:20: note: in expansion of macro 'ROTL256_64'
morus1280128v1avx2.c: 204 | state[2] = ROTL256_64(state[2]);
morus1280128v1avx2.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_morus1280128v1_ref_timingleaks_encrypt':
encrypt.c: encrypt.c:224:17: warning: unused variable 'plaintextblock' [-Wunused-variable]
encrypt.c: 224 | uint8_t plaintextblock[32], ciphertextblock[32];
encrypt.c: | ^~~~~~~~~~~~~~
encrypt.c: encrypt.c: In function 'crypto_aead_morus1280128v1_ref_timingleaks_decrypt':
encrypt.c: encrypt.c:271:17: warning: unused variable 'check' [-Wunused-variable]
encrypt.c: 271 | uint8_t check = 0;
encrypt.c: | ^~~~~
encrypt.c: encrypt.c:270:17: warning: unused variable 'tag' [-Wunused-variable]
encrypt.c: 270 | uint8_t tag[16];
encrypt.c: | ^~~
encrypt.c: encrypt.c:269:17: warning: unused variable 'plaintextblock' [-Wunused-variable]
encrypt.c: 269 | uint8_t plaintextblock[32], ciphertextblock[32];
encrypt.c: | ^~~~~~~~~~~~~~
encrypt.c: encrypt.c:268:25: warning: unused variable 'j' [-Wunused-variable]
encrypt.c: 268 | unsigned long i,j;
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
morus1280128v1opt64.c: morus1280128v1opt64.c: In function 'crypto_aead_morus1280128v1_ref64_timingleaks_encrypt':
morus1280128v1opt64.c: morus1280128v1opt64.c:286:17: warning: unused variable 'plaintextblock' [-Wunused-variable]
morus1280128v1opt64.c: 286 | uint8_t plaintextblock[32], ciphertextblock[32];
morus1280128v1opt64.c: | ^~~~~~~~~~~~~~
morus1280128v1opt64.c: morus1280128v1opt64.c: In function 'crypto_aead_morus1280128v1_ref64_timingleaks_decrypt':
morus1280128v1opt64.c: morus1280128v1opt64.c:334:17: warning: unused variable 'check' [-Wunused-variable]
morus1280128v1opt64.c: 334 | uint8_t check = 0;
morus1280128v1opt64.c: | ^~~~~
morus1280128v1opt64.c: morus1280128v1opt64.c:333:17: warning: unused variable 'tag' [-Wunused-variable]
morus1280128v1opt64.c: 333 | uint8_t tag[16];
morus1280128v1opt64.c: | ^~~
morus1280128v1opt64.c: morus1280128v1opt64.c:332:17: warning: unused variable 'plaintextblock' [-Wunused-variable]
morus1280128v1opt64.c: 332 | uint8_t plaintextblock[32], ciphertextblock[32];
morus1280128v1opt64.c: | ^~~~~~~~~~~~~~
morus1280128v1opt64.c: morus1280128v1opt64.c:331:25: warning: unused variable 'j' [-Wunused-variable]
morus1280128v1opt64.c: 331 | unsigned long i,j;
morus1280128v1opt64.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
morus1280128v1sse2.c: morus1280128v1sse2.c: In function 'morus_enc_aut_step':
morus1280128v1sse2.c: morus1280128v1sse2.c:197:21: warning: unused variable 't2' [-Wunused-variable]
morus1280128v1sse2.c: 197 | __m128i tt, t1, t2;
morus1280128v1sse2.c: | ^~
morus1280128v1sse2.c: morus1280128v1sse2.c:197:17: warning: unused variable 't1' [-Wunused-variable]
morus1280128v1sse2.c: 197 | __m128i tt, t1, t2;
morus1280128v1sse2.c: | ^~
morus1280128v1sse2.c: morus1280128v1sse2.c:197:13: warning: unused variable 'tt' [-Wunused-variable]
morus1280128v1sse2.c: 197 | __m128i tt, t1, t2;
morus1280128v1sse2.c: | ^~
morus1280128v1sse2.c: morus1280128v1sse2.c:196:13: warning: unused variable 't' [-Wunused-variable]
morus1280128v1sse2.c: 196 | __m128i t;
morus1280128v1sse2.c: | ^
morus1280128v1sse2.c: morus1280128v1sse2.c: In function 'morus_dec_aut_step':
morus1280128v1sse2.c: morus1280128v1sse2.c:222:13: warning: unused variable 't' [-Wunused-variable]
morus1280128v1sse2.c: 222 | __m128i t;
morus1280128v1sse2.c: | ^
morus1280128v1sse2.c: morus1280128v1sse2.c: In function 'crypto_aead_morus1280128v1_sse2_timingleaks_encrypt':
morus1280128v1sse2.c: morus1280128v1sse2.c:314:13: warning: unused variable 'plaintextblock' [-Wunused-variable]
morus1280128v1sse2.c: 314 | uint8_t plaintextblock[32], ciphertextblock[32];
morus1280128v1sse2.c: | ^~~~~~~~~~~~~~
morus1280128v1sse2.c: morus1280128v1sse2.c: In function 'crypto_aead_morus1280128v1_sse2_timingleaks_decrypt':
morus1280128v1sse2.c: morus1280128v1sse2.c:362:13: warning: unused variable 'check' [-Wunused-variable]
morus1280128v1sse2.c: 362 | uint8_t check = 0;
morus1280128v1sse2.c: | ^~~~~
morus1280128v1sse2.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:sse2 | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:sse2 | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:sse2 | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:sse2 | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |