Implementation notes: amd64, gemini, crypto_aead/deoxysi128v141
Computer: gemini
Microarchitecture: amd64; Goldmont Plus (706a8)
Architecture: amd64
CPU ID: GenuineIntel-000706a8-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_aead
Primitive: deoxysi128v141
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
9522 | 31706 0 0 | 48584 812 1016 | T:aesni | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
9555 | 31674 0 0 | 46248 812 1016 | T:aesni | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
9900 | 30548 0 0 | 43542 804 1016 | T:aesni | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
10237 | 33493 0 0 | 49104 780 1080 | T:aesni | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
10497 | 32045 0 0 | 46512 780 1080 | T:aesni | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
10810 | 31711 0 0 | 45816 780 1080 | T:aesni | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
11019 | 26148 0 0 | 39019 756 1048 | T:aesni | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
11136 | 30726 0 0 | 44294 804 1016 | T:aesni | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
13104 | 146461 0 0 | 159326 804 1016 | T:aesnis | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
13151 | 145853 0 0 | 159294 804 1016 | T:aesnis | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
13173 | 146392 0 0 | 163456 812 1016 | T:aesnis | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
13286 | 146392 0 0 | 161152 812 1016 | T:aesnis | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
13765 | 127525 0 0 | 140395 756 1048 | T:aesnis | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
14218 | 143978 0 0 | 158136 780 1080 | T:aesnis | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
14466 | 146683 0 0 | 162352 780 1080 | T:aesnis | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
15924 | 146628 0 0 | 161136 780 1080 | T:aesnis | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
102116 | 100249 0 547 | 116496 812 1592 | T:bitslice | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
108030 | 123063 0 592 | 138712 780 1688 | T:bitslice | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
112220 | 100249 0 547 | 114192 812 1592 | T:bitslice | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
114410 | 99153 0 547 | 111206 804 1592 | T:bitslice | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
117423 | 98380 0 547 | 111414 804 1592 | T:bitslice | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
118077 | 101426 0 592 | 115960 780 1688 | T:bitslice | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
131633 | 164063 0 592 | 178224 780 1688 | T:bitslice | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
131809 | 89683 0 592 | 102555 756 1656 | T:bitslice | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
159787 | 34042 0 547 | 47478 804 1592 | T:table | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
171665 | 32787 0 592 | 45707 756 1656 | T:table | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
175987 | 34332 0 592 | 48528 780 1688 | T:table | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
176570 | 35334 0 592 | 49864 780 1688 | T:table | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
190685 | 36803 0 592 | 52488 780 1688 | T:table | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
207558 | 35004 0 547 | 51336 812 1592 | T:table | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
211945 | 33331 0 547 | 47390 804 1592 | T:table | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
217881 | 34516 0 547 | 52136 812 1592 | T:table | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
236704 | 34500 0 547 | 49816 812 1592 | T:table | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
772689 | 24175 0 0 | 39512 812 1016 | T:ref | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
997986 | 28947 0 0 | 44624 780 1080 | T:ref | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
1123078 | 26664 0 0 | 43032 812 1016 | T:ref | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
1143321 | 26223 0 0 | 43880 812 1016 | T:ref | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
2087002 | 25311 0 0 | 39840 780 1080 | T:ref | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
3687294 | 22788 0 0 | 36854 804 1016 | T:ref | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
3712766 | 22364 0 0 | 35283 756 1048 | T:ref | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
3790627 | 24047 0 0 | 37502 804 1016 | T:ref | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
3982148 | 23810 0 0 | 37992 780 1080 | T:ref | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
Compiler output
deoxys.c: deoxys.c:98:13: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'deoxys_aead_encrypt' that is compiled without support for 'ssse3'
deoxys.c: tmp = permute( tmp, H_PERMUTATION );
deoxys.c: ^
deoxys.c: ./tweakable-cipher.macros:7:22: note: expanded from macro 'permute'
deoxys.c: #define permute(a,b) _mm_shuffle_epi8(a,b)
deoxys.c: ^
deoxys.c: deoxys.c:105:5: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'deoxys_aead_encrypt' that is compiled without support for 'ssse3'
deoxys.c: TWEAKEY_SCHEDULE2( tsubkeys,subkeys, key);
deoxys.c: ^
deoxys.c: ./tweakable-cipher.macros:39:3: note: expanded from macro 'TWEAKEY_SCHEDULE2'
deoxys.c: ONE_KEY_ROUND( subkeys[ 0], subkeys[ 1] ); ts[ 1] = xor( subkeys[ 1], RCONS[ 1] ); \
deoxys.c: ^
deoxys.c: ./tweakable-cipher.macros:35:13: note: expanded from macro 'ONE_KEY_ROUND'
deoxys.c: new_key = permute( new_key, H_PERMUTATION);
deoxys.c: ^
deoxys.c: ./tweakable-cipher.macros:7:22: note: expanded from macro 'permute'
deoxys.c: #define permute(a,b) _mm_shuffle_epi8(a,b)
deoxys.c: ^
deoxys.c: deoxys.c:105:5: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'deoxys_aead_encrypt' that is compiled without support for 'ssse3'
deoxys.c: ./tweakable-cipher.macros:40:3: note: expanded from macro 'TWEAKEY_SCHEDULE2'
deoxys.c: ONE_KEY_ROUND( subkeys[ 1], subkeys[ 2] ); ts[ 2] = xor( subkeys[ 2], RCONS[ 2] ); \
deoxys.c: ^
deoxys.c: ./tweakable-cipher.macros:35:13: note: expanded from macro 'ONE_KEY_ROUND'
deoxys.c: new_key = permute( new_key, H_PERMUTATION);
deoxys.c: ^
deoxys.c: ...
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:aesni | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
Compiler output
deoxys.c: deoxys.c:346:20: warning: variable 'Checksum' is uninitialized when used here [-Wuninitialized]
deoxys.c: Checksum = xor(Checksum, Checksum);
deoxys.c: ^~~~~~~~
deoxys.c: ./tweakable-cipher.macros:5:32: note: expanded from macro 'xor'
deoxys.c: #define xor(a,b) _mm_xor_si128(a,b)
deoxys.c: ^
deoxys.c: deoxys.c:72:5: note: variable 'Checksum' is declared here
deoxys.c: __m128i Checksum;
deoxys.c: ^
deoxys.c: deoxys.c:90:16: warning: variable 'Auth' is uninitialized when used here [-Wuninitialized]
deoxys.c: Auth = xor(Auth, Auth);
deoxys.c: ^~~~
deoxys.c: ./tweakable-cipher.macros:5:32: note: expanded from macro 'xor'
deoxys.c: #define xor(a,b) _mm_xor_si128(a,b)
deoxys.c: ^
deoxys.c: deoxys.c:71:5: note: variable 'Auth' is declared here
deoxys.c: __m128i Auth;
deoxys.c: ^
deoxys.c: deoxys.c:91:17: warning: variable 'Tweak' is uninitialized when used here [-Wuninitialized]
deoxys.c: Tweak = xor(Tweak, Tweak);
deoxys.c: ^~~~~
deoxys.c: ./tweakable-cipher.macros:5:32: note: expanded from macro 'xor'
deoxys.c: #define xor(a,b) _mm_xor_si128(a,b)
deoxys.c: ^
deoxys.c: deoxys.c:69:5: note: variable 'Tweak' is declared here
deoxys.c: ...
Number of similar (implementation,compiler) pairs: 5, namely:
Implementation | Compiler |
T:aesnis | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:aesnis | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:aesnis | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:aesnis | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:aesnis | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
Compiler output
deoxys.c: In file included from deoxys.c:30:
deoxys.c: deoxys.c: In function 'deoxys_aead_encrypt':
deoxys.c: tweakable-cipher.macros:5:18: warning: 'Auth' is used uninitialized in this function [-Wuninitialized]
deoxys.c: 5 | #define xor(a,b) _mm_xor_si128(a,b)
deoxys.c: | ^~~~~~~~~~~~~
deoxys.c: deoxys.c:71:13: note: 'Auth' was declared here
deoxys.c: 71 | __m128i Auth;
deoxys.c: | ^~~~
deoxys.c: In file included from deoxys.c:30:
deoxys.c: tweakable-cipher.macros:5:18: warning: 'Tweak' is used uninitialized in this function [-Wuninitialized]
deoxys.c: 5 | #define xor(a,b) _mm_xor_si128(a,b)
deoxys.c: | ^~~~~~~~~~~~~
deoxys.c: deoxys.c:69:13: note: 'Tweak' was declared here
deoxys.c: 69 | __m128i Tweak;
deoxys.c: | ^~~~~
deoxys.c: In file included from deoxys.c:30:
deoxys.c: tweakable-cipher.macros:5:18: warning: 'Checksum' is used uninitialized in this function [-Wuninitialized]
deoxys.c: 5 | #define xor(a,b) _mm_xor_si128(a,b)
deoxys.c: | ^~~~~~~~~~~~~
deoxys.c: deoxys.c:72:13: note: 'Checksum' was declared here
deoxys.c: 72 | __m128i Checksum;
deoxys.c: | ^~~~~~~~
deoxys.c: In file included from deoxys.c:30:
deoxys.c: deoxys.c: In function 'deoxys_aead_decrypt':
deoxys.c: tweakable-cipher.macros:5:18: warning: 'Auth' is used uninitialized in this function [-Wuninitialized]
deoxys.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:aesnis | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:aesnis | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:aesnis | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:aesnis | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
Compiler output
deoxys_8.c: deoxys_8.c:248:18: warning: variable 'CHECKSUM' is uninitialized when used here [-Wuninitialized]
deoxys_8.c: CHECKSUM=XOR(CHECKSUM,CHECKSUM);
deoxys_8.c: ^~~~~~~~
deoxys_8.c: ./deoxys.macros:38:39: note: expanded from macro 'XOR'
deoxys_8.c: #define XOR(a,b) _mm_xor_si128(a,b)
deoxys_8.c: ^
deoxys_8.c: deoxys_8.c:159:5: note: variable 'CHECKSUM' is declared here
deoxys_8.c: __m128i CHECKSUM;
deoxys_8.c: ^
deoxys_8.c: deoxys_8.c:174:14: warning: variable 'AUTH' is uninitialized when used here [-Wuninitialized]
deoxys_8.c: AUTH=XOR(AUTH,AUTH);
deoxys_8.c: ^~~~
deoxys_8.c: ./deoxys.macros:38:39: note: expanded from macro 'XOR'
deoxys_8.c: #define XOR(a,b) _mm_xor_si128(a,b)
deoxys_8.c: ^
deoxys_8.c: deoxys_8.c:158:5: note: variable 'AUTH' is declared here
deoxys_8.c: __m128i AUTH;
deoxys_8.c: ^
deoxys_8.c: deoxys_8.c:460:18: warning: variable 'CHECKSUM' is uninitialized when used here [-Wuninitialized]
deoxys_8.c: CHECKSUM=XOR(CHECKSUM,CHECKSUM);
deoxys_8.c: ^~~~~~~~
deoxys_8.c: ./deoxys.macros:38:39: note: expanded from macro 'XOR'
deoxys_8.c: #define XOR(a,b) _mm_xor_si128(a,b)
deoxys_8.c: ^
deoxys_8.c: deoxys_8.c:366:5: note: variable 'CHECKSUM' is declared here
deoxys_8.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:bitslice | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:bitslice | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:bitslice | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:bitslice | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
Compiler output
deoxys_8.c: deoxys_8.c:248:18: warning: variable 'CHECKSUM' is uninitialized when used here [-Wuninitialized]
deoxys_8.c: CHECKSUM=XOR(CHECKSUM,CHECKSUM);
deoxys_8.c: ^~~~~~~~
deoxys_8.c: ./deoxys.macros:38:39: note: expanded from macro 'XOR'
deoxys_8.c: #define XOR(a,b) _mm_xor_si128(a,b)
deoxys_8.c: ^
deoxys_8.c: deoxys_8.c:159:5: note: variable 'CHECKSUM' is declared here
deoxys_8.c: __m128i CHECKSUM;
deoxys_8.c: ^
deoxys_8.c: deoxys_8.c:174:14: warning: variable 'AUTH' is uninitialized when used here [-Wuninitialized]
deoxys_8.c: AUTH=XOR(AUTH,AUTH);
deoxys_8.c: ^~~~
deoxys_8.c: ./deoxys.macros:38:39: note: expanded from macro 'XOR'
deoxys_8.c: #define XOR(a,b) _mm_xor_si128(a,b)
deoxys_8.c: ^
deoxys_8.c: deoxys_8.c:158:5: note: variable 'AUTH' is declared here
deoxys_8.c: __m128i AUTH;
deoxys_8.c: ^
deoxys_8.c: deoxys_8.c:178:5: error: always_inline function '_mm_shuffle_epi8' requires target feature 'ssse3', but would be inlined into function 'deoxys_aead_encrypt_8' that is compiled without support for 'ssse3'
deoxys_8.c: KEY_SCHEDULE(key, subkey);
deoxys_8.c: ^
deoxys_8.c: ./deoxys.macros:76:5: note: expanded from macro 'KEY_SCHEDULE'
deoxys_8.c: packing(subkey[0]);\
deoxys_8.c: ^
deoxys_8.c: ./deoxys.macros:401:14: note: expanded from macro 'packing'
deoxys_8.c: ...
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:bitslice | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |