Implementation notes: amd64, hertz, crypto_aead/lilliputaeii128v11
Computer: hertz
Microarchitecture: amd64; Zen 4 (a60f12)
Architecture: amd64
CPU ID: AuthenticAMD-00a60f12-178bfbff
SUPERCOP version: 20240716
Operation: crypto_aead
Primitive: lilliputaeii128v11
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
1751964 | 7282 0 0 | 28343 828 1096 | T:add_felicsref | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
1753347 | 5913 0 0 | 26863 828 1096 | T:add_felicsref | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
1831172 | 6015 0 0 | 26943 828 1096 | T:add_tweakeyloop | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
1836223 | 6017 0 0 | 26959 828 1096 | T:ref | clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
1885807 | 7777 0 0 | 28839 828 1096 | T:add_tweakeyloop | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
1892064 | 7779 0 0 | 28855 828 1096 | T:ref | clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
2277731 | 9319 56 0 | 26677 860 1160 | T:ref | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
2538400 | 9671 56 0 | 27061 860 1160 | T:add_tweakeyloop | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
3157848 | 4054 0 0 | 19032 820 1096 | T:add_felicsref | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
3178090 | 8155 0 0 | 25325 804 1160 | T:add_felicsref | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
3219085 | 5616 56 0 | 20957 860 1096 | T:ref | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
3461146 | 5968 56 0 | 21341 860 1096 | T:add_tweakeyloop | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
3800728 | 5377 0 0 | 20533 804 1096 | T:add_felicsref | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
4298482 | 4223 0 0 | 17768 780 1064 | T:add_felicsref | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
4778503 | 4722 56 0 | 18424 836 1064 | T:ref | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
4855490 | 4523 56 0 | 19728 876 1096 | T:add_tweakeyloop | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
5090653 | 4392 56 0 | 19592 876 1096 | T:ref | clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
6110867 | 4561 56 0 | 18296 836 1064 | T:add_tweakeyloop | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
12807115 | 13539 0 0 | 30741 804 1160 | T:add_threshold | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
13356771 | 8145 0 0 | 23349 804 1096 | T:add_threshold | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
19795478 | 6778 0 0 | 20320 780 1064 | T:add_threshold | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240716 | 20240716 |
Compiler output
tweakey.c: In file included from tweakey.c:33:
tweakey.c: ./multiplications.h:93:13: warning: unused function '_multiply_MR' [-Wunused-function]
tweakey.c: 93 | static void _multiply_MR(const uint8_t x[LANE_BYTES], uint8_t y[LANE_BYTES])
tweakey.c: | ^~~~~~~~~~~~
tweakey.c: ./multiplications.h:105:13: warning: unused function '_multiply_MR2' [-Wunused-function]
tweakey.c: 105 | static void _multiply_MR2(const uint8_t x[LANE_BYTES], uint8_t y[LANE_BYTES])
tweakey.c: | ^~~~~~~~~~~~~
tweakey.c: ./multiplications.h:119:13: warning: unused function '_multiply_MR3' [-Wunused-function]
tweakey.c: 119 | static void _multiply_MR3(const uint8_t x[LANE_BYTES], uint8_t y[LANE_BYTES])
tweakey.c: | ^~~~~~~~~~~~~
tweakey.c: 3 warnings generated.
Number of similar (implementation,compiler) pairs: 3, namely:
Implementation | Compiler |
T:add_felicsref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:add_felicsref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:add_felicsref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
Compiler output
tweakey.c: In file included from tweakey.c:33:
tweakey.c: multiplications.h:119:13: warning: '_multiply_MR3' defined but not used [-Wunused-function]
tweakey.c: 119 | static void _multiply_MR3(const uint8_t x[LANE_BYTES], uint8_t y[LANE_BYTES])
tweakey.c: | ^~~~~~~~~~~~~
tweakey.c: multiplications.h:105:13: warning: '_multiply_MR2' defined but not used [-Wunused-function]
tweakey.c: 105 | static void _multiply_MR2(const uint8_t x[LANE_BYTES], uint8_t y[LANE_BYTES])
tweakey.c: | ^~~~~~~~~~~~~
tweakey.c: multiplications.h:93:13: warning: '_multiply_MR' defined but not used [-Wunused-function]
tweakey.c: 93 | static void _multiply_MR(const uint8_t x[LANE_BYTES], uint8_t y[LANE_BYTES])
tweakey.c: | ^~~~~~~~~~~~
Number of similar (implementation,compiler) pairs: 3, namely:
Implementation | Compiler |
T:add_felicsref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:add_felicsref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:add_felicsref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
Compiler output
cipher.c: cipher.c:173:24: warning: '&' within '^' [-Wbitwise-op-parentheses]
cipher.c: 173 | tmp0 = P[Q[y_hi&3 ^ (y_hi&8)>>1][z_hi]];
cipher.c: | ~~~~^~ ~
cipher.c: cipher.c:173:24: note: place parentheses around the '&' expression to silence this warning
cipher.c: 173 | tmp0 = P[Q[y_hi&3 ^ (y_hi&8)>>1][z_hi]];
cipher.c: | ^
cipher.c: | ( )
cipher.c: cipher.c:174:24: warning: '&' within '^' [-Wbitwise-op-parentheses]
cipher.c: 174 | tmp1 = P[Q[z_hi&3 ^ (z_hi&8)>>1][x_hi]];
cipher.c: | ~~~~^~ ~
cipher.c: cipher.c:174:24: note: place parentheses around the '&' expression to silence this warning
cipher.c: 174 | tmp1 = P[Q[z_hi&3 ^ (z_hi&8)>>1][x_hi]];
cipher.c: | ^
cipher.c: | ( )
cipher.c: cipher.c:175:24: warning: '&' within '^' [-Wbitwise-op-parentheses]
cipher.c: 175 | tmp2 = P[Q[x_hi&3 ^ (x_hi&8)>>1][y_hi]];
cipher.c: | ~~~~^~ ~
cipher.c: cipher.c:175:24: note: place parentheses around the '&' expression to silence this warning
cipher.c: 175 | tmp2 = P[Q[x_hi&3 ^ (x_hi&8)>>1][y_hi]];
cipher.c: | ^
cipher.c: | ( )
cipher.c: cipher.c:176:23: warning: '&' within '^' [-Wbitwise-op-parentheses]
cipher.c: 176 | x_lo ^= Q[tmp1&3 ^ (tmp1&8)>>1][tmp2];
cipher.c: | ~~~~^~ ~
cipher.c: cipher.c:176:23: note: place parentheses around the '&' expression to silence this warning
cipher.c: ...
Number of similar (implementation,compiler) pairs: 3, namely:
Implementation | Compiler |
T:add_threshold | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:add_threshold | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:add_threshold | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
Compiler output
cipher.c: cipher.c: In function '_nonlinear_layer':
cipher.c: cipher.c:173:24: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
cipher.c: 173 | tmp0 = P[Q[y_hi&3 ^ (y_hi&8)>>1][z_hi]];
cipher.c: | ~~~~^~
cipher.c: cipher.c:174:24: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
cipher.c: 174 | tmp1 = P[Q[z_hi&3 ^ (z_hi&8)>>1][x_hi]];
cipher.c: | ~~~~^~
cipher.c: cipher.c:175:24: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
cipher.c: 175 | tmp2 = P[Q[x_hi&3 ^ (x_hi&8)>>1][y_hi]];
cipher.c: | ~~~~^~
cipher.c: cipher.c:176:23: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
cipher.c: 176 | x_lo ^= Q[tmp1&3 ^ (tmp1&8)>>1][tmp2];
cipher.c: | ~~~~^~
cipher.c: cipher.c:177:23: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
cipher.c: 177 | y_lo ^= Q[tmp2&3 ^ (tmp2&8)>>1][tmp0];
cipher.c: | ~~~~^~
cipher.c: cipher.c:178:23: warning: suggest parentheses around arithmetic in operand of '^' [-Wparentheses]
cipher.c: 178 | z_lo ^= Q[tmp0&3 ^ (tmp0&8)>>1][tmp1];
cipher.c: | ~~~~^~
tweakey.c: tweakey.c:39:13: warning: argument 2 of type 'uint8_t[16]' {aka 'unsigned char[16]'} with mismatched bound [-Warray-parameter=]
tweakey.c: 39 | uint8_t TK_Y[KEY_BYTES],
tweakey.c: | ~~~~~~~~^~~~~~~~~~~~~~~
tweakey.c: In file included from tweakey.c:29:
tweakey.c: tweakey.h:33:13: note: previously declared as 'uint8_t[32]' {aka 'unsigned char[32]'}
tweakey.c: 33 | uint8_t TK_Y[TWEAKEY_BYTES],
tweakey.c: | ~~~~~~~~^~~~~~~~~~~~~~~~~~~
Number of similar (implementation,compiler) pairs: 3, namely:
Implementation | Compiler |
T:add_threshold | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:add_threshold | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:add_threshold | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
Namespace violations
cipher.o lilliput_tbc_decrypt T
cipher.o lilliput_tbc_encrypt T
lilliput-ii.o lilliput_ae_decrypt T
lilliput-ii.o lilliput_ae_encrypt T
tweakey.o tweakey_state_extract T
tweakey.o tweakey_state_init T
tweakey.o tweakey_state_update T
Number of similar (implementation,compiler) pairs: 18, namely:
Implementation | Compiler |
T:add_felicsref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:add_felicsref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:add_felicsref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:add_felicsref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:add_felicsref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:add_felicsref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:add_tweakeyloop | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:add_tweakeyloop | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:add_tweakeyloop | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:add_tweakeyloop | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:add_tweakeyloop | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:add_tweakeyloop | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:ref | clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:ref | clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:ref | clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_18.1.3_(1ubuntu1)) |
T:ref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:ref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:ref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
Namespace violations
cipher.o lilliput_tbc_decrypt T
cipher.o lilliput_tbc_encrypt T
lilliput-ii.o lilliput_ae_decrypt T
lilliput-ii.o lilliput_ae_encrypt T
random.o randombytes T
tweakey.o tweakey_state_extract T
tweakey.o tweakey_state_init T
tweakey.o tweakey_state_update T
Number of similar (implementation,compiler) pairs: 3, namely:
Implementation | Compiler |
T:add_threshold | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:add_threshold | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |
T:add_threshold | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.2.0) |