Implementation notes: amd64, hydra8, crypto_aead/ketjejrv1

Computer: hydra8
Microarchitecture: amd64; Ivy Bridge+AES (306a9)
Architecture: amd64
CPU ID: GenuineIntel-000306a9-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_aead
Primitive: ketjejrv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
42830539778 0 1240011 876 1024T:referenceclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
45463837932 0 1238243 876 1024T:referenceclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
45487531924 0 1637152 820 1088T:referencegcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
46803940508 0 1241915 876 1024T:referenceclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
68303737381 0 036800 820 1088T:compactgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
71142530783 0 035715 876 1024T:compactclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
74953431911 0 038755 876 1024T:compactclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
78002331598 0 037291 876 1024T:compactclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
78672214331 0 14637456 820 1248T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
94108422479 0 032936 820 1088T:compactgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
95922321845 0 032392 820 1088T:compactgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
100694114412 0 14438579 876 1184T:refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
106573021193 0 030475 876 1024T:compactclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
107320919150 0 029104 796 1056T:compactgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
108425719123 0 029546 868 1024T:compactclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
111372012812 0 14435035 876 1184T:refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
117953514616 0 14437435 876 1184T:refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
201982429355 0 1232571 876 1024T:referenceclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
218825428432 0 1634624 820 1088T:referencegcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
22384619275 0 14429547 876 1184T:refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
25469799129 0 14631016 820 1248T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
329829929153 0 1634312 820 1088T:referencegcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
361358026839 0 1231722 868 1024T:referenceclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
36448629228 0 14630608 820 1248T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
37099757640 0 14427570 868 1184T:refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
48158177707 0 14627376 796 1216T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
484155724168 0 1630400 796 1056T:referencegcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625

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 (Ubuntu_Clang_14.0.0)
T:compactclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:compactclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:compactclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:compactclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

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

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 (Ubuntu_Clang_14.0.0)
T:refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

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:9: 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 (11.4.0)
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

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 (Ubuntu_Clang_14.0.0)
T:referenceclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:referenceclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:referenceclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
T:referenceclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

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