Implementation notes: amd64, trident, crypto_aead/kiasueq128v1
Computer: trident
Microarchitecture: amd64; Core 2 65nm (6fb)
Architecture: amd64
CPU ID: GenuineIntel-000006fb-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_aead
Primitive: kiasueq128v1
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
138658 | 57029 352 0 | 70496 1164 1016 | T:bitslice | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
139635 | 60520 352 0 | 77128 1180 1016 | T:bitslice | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
139782 | 60483 352 0 | 76968 1180 1016 | T:bitslice | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
139988 | 56910 352 0 | 70944 1164 1016 | T:bitslice | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
140133 | 60120 352 0 | 75640 1180 1016 | T:bitslice | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
335743 | 25937 0 0 | 41464 780 1080 | T:ref | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
355327 | 23926 0 0 | 39312 812 1016 | T:ref | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
357021 | 24726 0 0 | 41200 812 1016 | T:ref | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
357302 | 24638 0 0 | 40992 812 1016 | T:ref | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
370172 | 22684 0 0 | 37224 780 1080 | T:ref | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
371973 | 21185 0 0 | 34582 804 1016 | T:ref | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
397064 | 20596 0 0 | 33499 756 1048 | T:ref | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
409472 | 21849 0 0 | 35967 772 1080 | T:ref | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
416731 | 21129 0 0 | 35110 804 1016 | T:ref | clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240701 | 20240625 |
Compiler output
kiasu.c: kiasu.c:74:25: warning: unused function 'bswap64' [-Wunused-function]
kiasu.c: static inline uint64_t bswap64(uint64_t x) {
kiasu.c: ^
kiasu.c: 1 warning generated.
Number of similar (implementation,compiler) pairs: 5, 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) |
T:bitslice | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
Compiler output
try.c: /usr/bin/ld: libcrypto_aead_kiasueq128v1.a(aes_tweaked.o): relocation R_X86_64_32S against symbol `M0' can not be used when making a PIE object; recompile with -fPIE
try.c: collect2: error: ld returned 1 exit status
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:bitslice | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:bitslice | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:bitslice | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:bitslice | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
Compiler output
kiasu.c: kiasu.c:123:7: warning: unused variable 'j' [-Wunused-variable]
kiasu.c: int j;
kiasu.c: ^
kiasu.c: kiasu.c:119:45: warning: implicit conversion from 'int' to 'char' changes value from 128 to -128 [-Wconstant-conversion]
kiasu.c: const __m128i MSB_XLS1 = constant8( (0x8<<4),0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00 );
kiasu.c: ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kiasu.c: ./aes_ni.macros:13:171: note: expanded from macro 'constant8'
kiasu.c: #define constant8(b15,b14,b13,b12,b11,b10,b9,b8,b7,b6,b5,b4,b3,b2,b1,b0) _mm_set_epi8 ((b0),(b1),(b2),(b3),(b4),(b5),(b6),(b7),(b8),(b9),(b10),(b11),(b12),(b13),(b14),(b15))
kiasu.c: ~~~~~~~~~~~~ ^~~
kiasu.c: kiasu.c:120:45: warning: implicit conversion from 'int' to 'char' changes value from 144 to -112 [-Wconstant-conversion]
kiasu.c: const __m128i MSB_XLS2 = constant8( (0x9<<4),0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00 );
kiasu.c: ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
kiasu.c: ./aes_ni.macros:13:171: note: expanded from macro 'constant8'
kiasu.c: #define constant8(b15,b14,b13,b12,b11,b10,b9,b8,b7,b6,b5,b4,b3,b2,b1,b0) _mm_set_epi8 ((b0),(b1),(b2),(b3),(b4),(b5),(b6),(b7),(b8),(b9),(b10),(b11),(b12),(b13),(b14),(b15))
kiasu.c: ~~~~~~~~~~~~ ^~~
kiasu.c: kiasu.c:133:12: error: always_inline function '_mm_aesimc_si128' requires target feature 'aes', but would be inlined into function 'XLS' that is compiled without support for 'aes'
kiasu.c: dTweak = mc_inv(Tweak);
kiasu.c: ^
kiasu.c: ./aes_ni.macros:5:23: note: expanded from macro 'mc_inv'
kiasu.c: #define mc_inv(a) _mm_aesimc_si128(a)
kiasu.c: ^
kiasu.c: kiasu.c:135:22: error: always_inline function '_mm_aesenc_si128' requires target feature 'aes', but would be inlined into function 'XLS' that is compiled without support for 'aes'
kiasu.c: if( Direction){ AES( State , subkeys , Tweak ); }
kiasu.c: ^
kiasu.c: ./aes_ni.macros:21:5: note: expanded from macro 'AES'
kiasu.c: ...
Number of similar (implementation,compiler) pairs: 5, namely:
Implementation | Compiler |
T:opt | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:opt | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:opt | clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:opt | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
T:opt | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1) |
Compiler output
kiasu.c: kiasu.c: In function 'XLS':
kiasu.c: kiasu.c:123:7: warning: unused variable 'j' [-Wunused-variable]
kiasu.c: 123 | int j;
kiasu.c: | ^
kiasu.c: kiasu.c: In function 'kiasu_aead_encrypt':
kiasu.c: kiasu.c:206:13: warning: unused variable 'Pad' [-Wunused-variable]
kiasu.c: 206 | __m128i Pad;
kiasu.c: | ^~~
kiasu.c: kiasu.c:200:19: warning: unused variable 'MSB_M_LAST_NONZERO' [-Wunused-variable]
kiasu.c: 200 | const __m128i MSB_M_LAST_NONZERO = constant8( (0x4<<4),0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00 );
kiasu.c: | ^~~~~~~~~~~~~~~~~~
kiasu.c: kiasu.c:199:19: warning: unused variable 'MSB_M_LAST_ZERO' [-Wunused-variable]
kiasu.c: 199 | const __m128i MSB_M_LAST_ZERO = constant8( (0x1<<4),0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00 );
kiasu.c: | ^~~~~~~~~~~~~~~
kiasu.c: kiasu.c:182:20: warning: unused variable 'j' [-Wunused-variable]
kiasu.c: 182 | unsigned int i,j;
kiasu.c: | ^
kiasu.c: kiasu.c: In function 'kiasu_aead_decrypt':
kiasu.c: kiasu.c:471:13: warning: unused variable 'Pad' [-Wunused-variable]
kiasu.c: 471 | __m128i Pad;
kiasu.c: | ^~~
kiasu.c: kiasu.c:465:19: warning: unused variable 'MSB_M_LAST_NONZERO' [-Wunused-variable]
kiasu.c: 465 | const __m128i MSB_M_LAST_NONZERO = constant8( (0x4<<4),0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00 );
kiasu.c: | ^~~~~~~~~~~~~~~~~~
kiasu.c: kiasu.c:464:19: warning: unused variable 'MSB_M_LAST_ZERO' [-Wunused-variable]
kiasu.c: ...
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:opt | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:opt | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:opt | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
T:opt | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |
Compiler output
kiasu.c: kiasu.c: In function 'kiasu_aead_encrypt':
kiasu.c: kiasu.c:59:23: warning: 'tweak' is used uninitialized in this function [-Wuninitialized]
kiasu.c: 59 | tweak[0] = (tweak[0]&0xf0) ^ nonce[0] >> 4;
kiasu.c: | ~~~~~^~~
kiasu.c: kiasu.c: In function 'kiasu_aead_decrypt':
kiasu.c: kiasu.c:59:23: warning: 'tweak' is used uninitialized in this function [-Wuninitialized]
kiasu.c: 59 | tweak[0] = (tweak[0]&0xf0) ^ nonce[0] >> 4;
kiasu.c: | ~~~~~^~~
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110) |