Implementation notes: amd64, comet, crypto_aead/lilliputaei128v11

Computer: comet
Microarchitecture: amd64; Comet Lake (806ec)
Architecture: amd64
CPU ID: GenuineIntel-000806ec-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_aead
Primitive: lilliputaei128v11
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
18214358020 0 024481 852 1024T:add_felicsrefclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
18247508698 0 025177 852 1024T:add_tweakeyloopclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
18276708995 0 026937 852 1088T:add_tweakeyloopclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
18330296957 0 024585 852 1056T:add_felicsrefclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
18367918709 0 025169 852 1024T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
18368329006 0 026945 852 1088T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
18368838339 0 026273 852 1088T:add_felicsrefclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
18532197197 0 024833 852 1056T:add_tweakeyloopclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
18645797208 0 024841 852 1056T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
193254611655 56 028084 836 1088T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
206817112047 56 028476 836 1088T:add_tweakeyloopgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
209262410781 0 026988 780 1088T:add_felicsrefgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
25618294534 0 018489 852 1024T:add_felicsrefclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
25804805303 56 019868 836 1088T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
27266824744 56 018843 828 1088T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
27326445395 0 019740 780 1088T:add_felicsrefgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
27652795695 56 020260 836 1088T:add_tweakeyloopgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
28989814788 56 018969 908 1024T:refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
29424654894 56 019081 908 1024T:add_tweakeyloopclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
30023724989 0 019591 844 1088T:add_felicsrefclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
33159704405 0 018315 772 1088T:add_felicsrefgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
33184413998 56 016871 812 1056T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
33406645212 56 020047 900 1088T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
33849583732 0 016423 756 1056T:add_felicsrefgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
34163065309 56 020143 900 1088T:add_tweakeyloopclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
34796734533 56 018627 828 1088T:add_tweakeyloopgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
39667983665 56 016535 812 1056T:add_tweakeyloopgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
902301710712 0 027217 852 1024T:add_thresholdclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
932922215613 56 032036 836 1088T:add_thresholdgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
96487156457 56 020657 908 1024T:add_thresholdclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
100564827682 56 022260 836 1088T:add_thresholdgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
1036576716029 0 034001 852 1088T:add_thresholdclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
1047054314077 0 031753 852 1056T:add_thresholdclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
108229576754 56 020859 828 1088T:add_thresholdgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
1087105512101 56 026943 900 1088T:add_thresholdclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
158180216016 56 018895 812 1056T:add_thresholdgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625

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: 5, namely:
ImplementationCompiler
T:add_felicsrefclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6)
T:add_felicsrefclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6)
T:add_felicsrefclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6)
T:add_felicsrefclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6)
T:add_felicsrefclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6)

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:
ImplementationCompiler
T:add_felicsrefgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
T:add_felicsrefgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
T:add_felicsrefgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
T:add_felicsrefgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.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: 5, namely:
ImplementationCompiler
T:add_thresholdclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6)
T:add_thresholdclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6)
T:add_thresholdclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6)
T:add_thresholdclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6)
T:add_thresholdclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_14.0.6)

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:
ImplementationCompiler
T:add_thresholdgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
T:add_thresholdgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
T:add_thresholdgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)
T:add_thresholdgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (12.2.0)