Implementation notes: amd64, hunsnivy, crypto_aead/ketjesrv1

Computer: hunsnivy
Microarchitecture: amd64; Ivy Bridge+AES (306a9)
Architecture: amd64
CPU ID: GenuineIntel-000306a9-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_aead
Primitive: ketjesrv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
20882631414 0 036803 828 1016T:compactclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
20890338905 0 1239475 828 1016T:referenceclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
23078330628 0 035979 828 1016T:compactclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
23107036807 0 1238107 828 1016T:referenceclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
23119831836 0 038547 828 1016T:compactclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
23779739479 0 1241491 828 1016T:referenceclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
27185735096 0 034715 796 1080T:compactgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
27985628928 0 1634771 796 1080T:referencegcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
42126113658 0 18435715 796 1272T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
46606713954 0 17638171 828 1240T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
53012813874 0 16036467 828 1208T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
57796112738 0 16035275 828 1208T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
110679320769 0 031251 796 1080T:compactgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
110758826088 0 1632747 796 1080T:referencegcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
112631929164 0 1232750 820 1016T:referenceclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
114023021330 0 030446 820 1016T:compactclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
12657478441 0 16028566 820 1208T:refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
12831748578 0 18429675 796 1272T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
184898126907 0 1632667 796 1080T:referencegcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
184954320125 0 030803 796 1080T:compactgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
191808519203 0 029390 820 1016T:compactclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
193552126717 0 1231614 820 1016T:referenceclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
19765408419 0 18429139 796 1272T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
20023018117 0 16027806 820 1208T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
227339217463 0 027643 772 1048T:compactgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
24267227093 0 18426155 772 1240T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625
243876122253 0 1628891 772 1048T:referencegcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062820240625

Compiler output


KeccakP-200-compact.c: KeccakP-200-compact.c:20:36: warning: '/*' within block comment [-Wcomment]
KeccakP-200-compact.c: /* #define DIVISION_INSTRUCTION    /* comment if no division instruction or more compact when not using division */
KeccakP-200-compact.c:                                    ^
KeccakP-200-compact.c: 1 warning generated.
KeccakP-400-reference.c: KeccakP-400-reference.c:227:13: warning: unused function 'fromBytesToWords' [-Wunused-function]
KeccakP-400-reference.c: static void fromBytesToWords(tKeccakLane *stateAsWords, const unsigned char *state)
KeccakP-400-reference.c:             ^
KeccakP-400-reference.c: KeccakP-400-reference.c:238:13: warning: unused function 'fromWordsToBytes' [-Wunused-function]
KeccakP-400-reference.c: static void fromWordsToBytes(unsigned char *state, const tKeccakLane *stateAsWords)
KeccakP-400-reference.c:             ^
KeccakP-400-reference.c: 2 warnings generated.
KeccakP-800-compact.c: KeccakP-800-compact.c:27:36: warning: '/*' within block comment [-Wcomment]
KeccakP-800-compact.c: /* #define DIVISION_INSTRUCTION    /* comment if no division instruction or more compact when not using division */
KeccakP-800-compact.c:                                    ^
KeccakP-800-compact.c: 1 warning generated.

Number of similar (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:compactclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:compactclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:compactclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:compactclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:compactclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


KeccakP-200-compact.c: KeccakP-200-compact.c:20:36: warning: "/*" within comment [-Wcomment]
KeccakP-200-compact.c:    20 | /* #define DIVISION_INSTRUCTION    /* comment if no division instruction or more compact when not using division */
KeccakP-200-compact.c:       |
KeccakP-400-reference.c: KeccakP-400-reference.c:238:13: warning: 'fromWordsToBytes' defined but not used [-Wunused-function]
KeccakP-400-reference.c:   238 | static void fromWordsToBytes(unsigned char *state, const tKeccakLane *stateAsWords)
KeccakP-400-reference.c:       |             ^~~~~~~~~~~~~~~~
KeccakP-400-reference.c: KeccakP-400-reference.c:227:13: warning: 'fromBytesToWords' defined but not used [-Wunused-function]
KeccakP-400-reference.c:   227 | static void fromBytesToWords(tKeccakLane *stateAsWords, const unsigned char *state)
KeccakP-400-reference.c:       |             ^~~~~~~~~~~~~~~~
KeccakP-800-compact.c: KeccakP-800-compact.c:27:36: warning: "/*" within comment [-Wcomment]
KeccakP-800-compact.c:    27 | /* #define DIVISION_INSTRUCTION    /* comment if no division instruction or more compact when not using division */
KeccakP-800-compact.c:       |

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:compactgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:compactgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:compactgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:compactgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

Compiler output


Ketje.c: Ketje.c:70:2: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation]
Ketje.c:         if ( (instance->dataRemainderSize + dataSizeInBytes) > Ketje_BlockSize )
Ketje.c:         ^
Ketje.c: Ketje.c:67:5: note: previous statement is here
Ketje.c:     if ((instance->phase & Ketje_Phase_FeedingAssociatedData) == 0)
Ketje.c:     ^
Ketje.c: 1 warning generated.

Number of similar (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


Ketje.c: Ketje.c: In function 'Ketje_FeedAssociatedData':
Ketje.c: Ketje.c:67:5: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
Ketje.c:    67 |     if ((instance->phase & Ketje_Phase_FeedingAssociatedData) == 0)
Ketje.c:       |     ^~
Ketje.c: Ketje.c:70:2: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
Ketje.c:    70 |  if ( (instance->dataRemainderSize + dataSizeInBytes) > Ketje_BlockSize )
Ketje.c:       |  ^~

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

Compiler output


KeccakP-1600-reference.c: KeccakP-1600-reference.c:231:13: warning: unused function 'fromBytesToWords' [-Wunused-function]
KeccakP-1600-reference.c: static void fromBytesToWords(tKeccakLane *stateAsWords, const unsigned char *state)
KeccakP-1600-reference.c:             ^
KeccakP-1600-reference.c: KeccakP-1600-reference.c:242:13: warning: unused function 'fromWordsToBytes' [-Wunused-function]
KeccakP-1600-reference.c: static void fromWordsToBytes(unsigned char *state, const tKeccakLane *stateAsWords)
KeccakP-1600-reference.c:             ^
KeccakP-1600-reference.c: 2 warnings generated.
KeccakP-200-reference.c: KeccakP-200-reference.c:225:13: warning: unused function 'fromBytesToWords' [-Wunused-function]
KeccakP-200-reference.c: static void fromBytesToWords(tKeccakLane *stateAsWords, const unsigned char *state)
KeccakP-200-reference.c:             ^
KeccakP-200-reference.c: KeccakP-200-reference.c:236:13: warning: unused function 'fromWordsToBytes' [-Wunused-function]
KeccakP-200-reference.c: static void fromWordsToBytes(unsigned char *state, const tKeccakLane *stateAsWords)
KeccakP-200-reference.c:             ^
KeccakP-200-reference.c: 2 warnings generated.
KeccakP-400-reference.c: KeccakP-400-reference.c:227:13: warning: unused function 'fromBytesToWords' [-Wunused-function]
KeccakP-400-reference.c: static void fromBytesToWords(tKeccakLane *stateAsWords, const unsigned char *state)
KeccakP-400-reference.c:             ^
KeccakP-400-reference.c: KeccakP-400-reference.c:238:13: warning: unused function 'fromWordsToBytes' [-Wunused-function]
KeccakP-400-reference.c: static void fromWordsToBytes(unsigned char *state, const tKeccakLane *stateAsWords)
KeccakP-400-reference.c:             ^
KeccakP-400-reference.c: 2 warnings generated.
KeccakP-800-reference.c: KeccakP-800-reference.c:229:13: warning: unused function 'fromBytesToWords' [-Wunused-function]
KeccakP-800-reference.c: static void fromBytesToWords(tKeccakLane *stateAsWords, const unsigned char *state)
KeccakP-800-reference.c:             ^
KeccakP-800-reference.c: KeccakP-800-reference.c:240:13: warning: unused function 'fromWordsToBytes' [-Wunused-function]
KeccakP-800-reference.c: static void fromWordsToBytes(unsigned char *state, const tKeccakLane *stateAsWords)
KeccakP-800-reference.c:             ^
KeccakP-800-reference.c: 2 warnings generated.

Number of similar (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:referenceclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:referenceclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:referenceclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:referenceclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:referenceclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


KeccakP-1600-reference.c: KeccakP-1600-reference.c:242:13: warning: 'fromWordsToBytes' defined but not used [-Wunused-function]
KeccakP-1600-reference.c:   242 | static void fromWordsToBytes(unsigned char *state, const tKeccakLane *stateAsWords)
KeccakP-1600-reference.c:       |             ^~~~~~~~~~~~~~~~
KeccakP-1600-reference.c: KeccakP-1600-reference.c:231:13: warning: 'fromBytesToWords' defined but not used [-Wunused-function]
KeccakP-1600-reference.c:   231 | static void fromBytesToWords(tKeccakLane *stateAsWords, const unsigned char *state)
KeccakP-1600-reference.c:       |             ^~~~~~~~~~~~~~~~
KeccakP-200-reference.c: KeccakP-200-reference.c:236:13: warning: 'fromWordsToBytes' defined but not used [-Wunused-function]
KeccakP-200-reference.c:   236 | static void fromWordsToBytes(unsigned char *state, const tKeccakLane *stateAsWords)
KeccakP-200-reference.c:       |             ^~~~~~~~~~~~~~~~
KeccakP-200-reference.c: KeccakP-200-reference.c:225:13: warning: 'fromBytesToWords' defined but not used [-Wunused-function]
KeccakP-200-reference.c:   225 | static void fromBytesToWords(tKeccakLane *stateAsWords, const unsigned char *state)
KeccakP-200-reference.c:       |             ^~~~~~~~~~~~~~~~
KeccakP-400-reference.c: KeccakP-400-reference.c:238:13: warning: 'fromWordsToBytes' defined but not used [-Wunused-function]
KeccakP-400-reference.c:   238 | static void fromWordsToBytes(unsigned char *state, const tKeccakLane *stateAsWords)
KeccakP-400-reference.c:       |             ^~~~~~~~~~~~~~~~
KeccakP-400-reference.c: KeccakP-400-reference.c:227:13: warning: 'fromBytesToWords' defined but not used [-Wunused-function]
KeccakP-400-reference.c:   227 | static void fromBytesToWords(tKeccakLane *stateAsWords, const unsigned char *state)
KeccakP-400-reference.c:       |             ^~~~~~~~~~~~~~~~
KeccakP-800-reference.c: KeccakP-800-reference.c:240:13: warning: 'fromWordsToBytes' defined but not used [-Wunused-function]
KeccakP-800-reference.c:   240 | static void fromWordsToBytes(unsigned char *state, const tKeccakLane *stateAsWords)
KeccakP-800-reference.c:       |             ^~~~~~~~~~~~~~~~
KeccakP-800-reference.c: KeccakP-800-reference.c:229:13: warning: 'fromBytesToWords' defined but not used [-Wunused-function]
KeccakP-800-reference.c:   229 | static void fromBytesToWords(tKeccakLane *stateAsWords, const unsigned char *state)
KeccakP-800-reference.c:       |             ^~~~~~~~~~~~~~~~

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:referencegcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:referencegcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:referencegcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:referencegcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)