Implementation notes: aarch64, pi4b, crypto_aead/lilliputaei128v11
Computer: pi4b
Microarchitecture: aarch64; Cortex-A72 (410fd083)
Architecture: aarch64
CPU ID: 410fd083
SUPERCOP version: 20240716
Operation: crypto_aead
Primitive: lilliputaei128v11
Time | Object size | Test size | Implementation | Compiler | Benchmark date | SUPERCOP version |
1904238 | 7188 0 0 | 24129 896 872 | T:add_felicsref | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
1909572 | 7532 0 0 | 24481 896 872 | T:ref | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
1911350 | 7532 0 0 | 24489 896 872 | T:add_tweakeyloop | clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
2031365 | 6984 0 0 | 23050 880 880 | T:add_felicsref | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
2327402 | 7608 56 0 | 23914 936 880 | T:ref | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
2434971 | 7544 56 0 | 23850 936 880 | T:add_tweakeyloop | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
4342765 | 4748 0 0 | 19778 880 864 | T:add_felicsref | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
4838827 | 5408 56 0 | 20682 936 864 | T:add_tweakeyloop | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
4873498 | 5504 56 0 | 20770 936 864 | T:ref | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
4962398 | 4720 56 0 | 18947 912 856 | T:ref | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
5090414 | 4368 0 0 | 18427 856 856 | T:add_felicsref | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
5156200 | 4788 0 0 | 19953 872 864 | T:add_felicsref | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
5192649 | 5132 56 0 | 20465 928 864 | T:ref | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
5678043 | 4664 56 0 | 18915 912 856 | T:add_tweakeyloop | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
6051423 | 5196 56 0 | 20537 928 864 | T:add_tweakeyloop | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
17398619 | 11444 56 0 | 27812 944 880 | T:add_threshold | gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
21565362 | 6748 56 0 | 21077 920 856 | T:add_threshold | gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
21720937 | 7932 56 0 | 23268 944 864 | T:add_threshold | gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
22116542 | 7292 56 0 | 22723 936 864 | T:add_threshold | gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall | 20240629 | 20240625 |
Compiler output
tweakey.c: In file included from tweakey.c:33:
tweakey.c: ./multiplications.h:105:13: warning: unused function '_multiply_MR2' [-Wunused-function]
tweakey.c: 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: static void _multiply_MR3(const uint8_t x[LANE_BYTES], uint8_t y[LANE_BYTES])
tweakey.c: ^
tweakey.c: 2 warnings generated.
Number of similar (implementation,compiler) pairs: 1, namely:
Implementation | Compiler |
T:add_felicsref | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
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: | ^~~~~~~~~~~~~
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:add_felicsref | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:add_felicsref | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:add_felicsref | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:add_felicsref | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
Compiler output
cipher.c: cipher.c:173:24: warning: '&' within '^' [-Wbitwise-op-parentheses]
cipher.c: 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: 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: 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: 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: 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: 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: 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: 1, namely:
Implementation | Compiler |
T:add_threshold | clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0) |
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[40]' {aka 'unsigned char[40]'}
tweakey.c: 33 | uint8_t TK_Y[TWEAKEY_BYTES],
tweakey.c: | ~~~~~~~~^~~~~~~~~~~~~~~~~~~
Number of similar (implementation,compiler) pairs: 4, namely:
Implementation | Compiler |
T:add_threshold | gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:add_threshold | gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:add_threshold | gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |
T:add_threshold | gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0) |