Implementation notes: amd64, hydra7, crypto_aead/lakekeyakv1

Computer: hydra7
Microarchitecture: amd64; Sandy Bridge+AES (206a7)
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20240107
Operation: crypto_aead
Primitive: lakekeyakv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
40438169742 0 0189391 788 1056T:opt64lcufullshldgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
42601181384 0 0203268 812 1088T:opt64lcufullshldgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
42776179973 0 0201412 812 1088T:opt64lcufullshldgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
42804188854 0 0211996 812 1088T:opt64lcufullshldgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
4425780969 0 0102420 812 1088T:opt64lcu6gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
4453875832 0 095487 788 1056T:opt64lcu6gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
4492382285 0 0104180 812 1088T:opt64lcu6gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
45798164816 0 0184479 788 1056T:opt64lcufullgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
4589286717 0 0109852 812 1088T:opt64lcu6gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
46969172922 0 0194372 812 1088T:opt64lcufullgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
47166174857 0 0196756 812 1088T:opt64lcufullgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
4760079911 0 099567 788 1056T:opt64u6gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
47896183215 0 0206364 812 1088T:opt64lcufullgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
4844087208 0 0110340 812 1088T:opt64u6gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
4880085268 0 0107164 812 1088T:opt64u6gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
4882286970 0 0108412 812 1088T:opt64u6gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
49042172830 0 0192479 788 1056T:opt64ufullgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
49912182445 0 0203884 812 1088T:opt64ufullgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
50675194635 0 0217764 812 1088T:opt64ufullgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
50704185036 0 0206924 812 1088T:opt64ufullgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
10027514889 0 037861 804 1088T:compact64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
11278333859 0 056948 812 1088T:inplace32bigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
12854520453 0 33643576 820 1440T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
13003925192 0 044791 788 1056T:inplace32bigcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
13942427451 0 048844 812 1088T:inplace32bigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
13961828669 0 050516 812 1088T:inplace32bigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
1672829587 0 030845 804 1088T:compact64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
17206410383 0 032109 804 1088T:compact64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
1770368757 0 028216 780 1056T:compact64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
41424611663 0 33633560 820 1440T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
65731611220 0 33632656 820 1440T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
8524989686 0 33629360 796 1408T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212

Compiler output

Implementation: T:asmx86-64
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakDuplex.c: In file included from KeccakDuplex.h:19,
KeccakDuplex.c: from KeccakDuplex.c:17:
KeccakDuplex.c: KeccakDuplex.c: In function 'Keccak_DuplexingFBWLAbsorb':
KeccakDuplex.c: SnP-interface.h:41:45: warning: implicit declaration of function 'KeccakP1600_12_SnP_FBWL_Absorb'; did you mean 'KeccakP1600_12_FBWL_Absorb'? [-Wimplicit-function-declaration]
KeccakDuplex.c: 41 | #define SnP_FBWL_Absorb KeccakP1600_12_SnP_FBWL_Absorb
KeccakDuplex.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KeccakDuplex.c: KeccakDuplex.c:177:14: note: in expansion of macro 'SnP_FBWL_Absorb'
KeccakDuplex.c: 177 | result = SnP_FBWL_Absorb(instance->state, laneCount, dataIn, dataByteLen, trailingBits);
KeccakDuplex.c: | ^~~~~~~~~~~~~~~
KeccakDuplex.c: KeccakDuplex.c: In function 'Keccak_DuplexingFBWLWrap':
KeccakDuplex.c: SnP-interface.h:43:45: warning: implicit declaration of function 'KeccakP1600_12_SnP_FBWL_Wrap'; did you mean 'KeccakP1600_12_FBWL_Wrap'? [-Wimplicit-function-declaration]
KeccakDuplex.c: 43 | #define SnP_FBWL_Wrap KeccakP1600_12_SnP_FBWL_Wrap
KeccakDuplex.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
KeccakDuplex.c: KeccakDuplex.c:198:12: note: in expansion of macro 'SnP_FBWL_Wrap'
KeccakDuplex.c: 198 | return SnP_FBWL_Wrap(instance->state, laneCount, dataIn, dataOut, dataByteLen, trailingBits);
KeccakDuplex.c: | ^~~~~~~~~~~~~
KeccakDuplex.c: KeccakDuplex.c: In function 'Keccak_DuplexingFBWLUnwrap':
KeccakDuplex.c: SnP-interface.h:44:45: warning: implicit declaration of function 'KeccakP1600_12_SnP_FBWL_Unwrap'; did you mean 'KeccakP1600_12_FBWL_Unwrap'? [-Wimplicit-function-declaration]
KeccakDuplex.c: 44 | #define SnP_FBWL_Unwrap KeccakP1600_12_SnP_FBWL_Unwrap
KeccakDuplex.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KeccakDuplex.c: KeccakDuplex.c:216:12: note: in expansion of macro 'SnP_FBWL_Unwrap'
KeccakDuplex.c: 216 | return SnP_FBWL_Unwrap(instance->state, laneCount, dataIn, dataOut, dataByteLen, trailingBits);
KeccakDuplex.c: | ^~~~~~~~~~~~~~~
try.c: /usr/bin/ld: libcrypto_aead_lakekeyakv1.a(KeccakP-1600-12-x86-64-gas.o): relocation R_X86_64_32S against `.text' can not be used when making a PIE object; recompile with -fPIE
try.c: /usr/bin/ld: failed to set dynamic section sizes: bad value
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:asmx86-64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:asmx86-64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:asmx86-64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:asmx86-64

Compiler output

Implementation: T:asmx86-64-shld
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakDuplex.c: In file included from KeccakDuplex.h:19,
KeccakDuplex.c: from KeccakDuplex.c:17:
KeccakDuplex.c: KeccakDuplex.c: In function 'Keccak_DuplexingFBWLAbsorb':
KeccakDuplex.c: SnP-interface.h:41:45: warning: implicit declaration of function 'KeccakP1600_12_SnP_FBWL_Absorb'; did you mean 'KeccakP1600_12_FBWL_Absorb'? [-Wimplicit-function-declaration]
KeccakDuplex.c: 41 | #define SnP_FBWL_Absorb KeccakP1600_12_SnP_FBWL_Absorb
KeccakDuplex.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KeccakDuplex.c: KeccakDuplex.c:177:14: note: in expansion of macro 'SnP_FBWL_Absorb'
KeccakDuplex.c: 177 | result = SnP_FBWL_Absorb(instance->state, laneCount, dataIn, dataByteLen, trailingBits);
KeccakDuplex.c: | ^~~~~~~~~~~~~~~
KeccakDuplex.c: KeccakDuplex.c: In function 'Keccak_DuplexingFBWLWrap':
KeccakDuplex.c: SnP-interface.h:43:45: warning: implicit declaration of function 'KeccakP1600_12_SnP_FBWL_Wrap'; did you mean 'KeccakP1600_12_FBWL_Wrap'? [-Wimplicit-function-declaration]
KeccakDuplex.c: 43 | #define SnP_FBWL_Wrap KeccakP1600_12_SnP_FBWL_Wrap
KeccakDuplex.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
KeccakDuplex.c: KeccakDuplex.c:198:12: note: in expansion of macro 'SnP_FBWL_Wrap'
KeccakDuplex.c: 198 | return SnP_FBWL_Wrap(instance->state, laneCount, dataIn, dataOut, dataByteLen, trailingBits);
KeccakDuplex.c: | ^~~~~~~~~~~~~
KeccakDuplex.c: KeccakDuplex.c: In function 'Keccak_DuplexingFBWLUnwrap':
KeccakDuplex.c: SnP-interface.h:44:45: warning: implicit declaration of function 'KeccakP1600_12_SnP_FBWL_Unwrap'; did you mean 'KeccakP1600_12_FBWL_Unwrap'? [-Wimplicit-function-declaration]
KeccakDuplex.c: 44 | #define SnP_FBWL_Unwrap KeccakP1600_12_SnP_FBWL_Unwrap
KeccakDuplex.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KeccakDuplex.c: KeccakDuplex.c:216:12: note: in expansion of macro 'SnP_FBWL_Unwrap'
KeccakDuplex.c: 216 | return SnP_FBWL_Unwrap(instance->state, laneCount, dataIn, dataOut, dataByteLen, trailingBits);
KeccakDuplex.c: | ^~~~~~~~~~~~~~~
try.c: /usr/bin/ld: libcrypto_aead_lakekeyakv1.a(KeccakP-1600-12-x86-64-shld-gas.o): relocation R_X86_64_32S against `.text' can not be used when making a PIE object; recompile with -fPIE
try.c: /usr/bin/ld: failed to set dynamic section sizes: bad value
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:asmx86-64-shld
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:asmx86-64-shld
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:asmx86-64-shld
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:asmx86-64-shld

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakDuplex.c: In file included from KeccakDuplex.h:17,
KeccakDuplex.c: from KeccakDuplex.c:15:
KeccakDuplex.c: KeccakDuplex.c: In function 'Keccak_Duplexing':
KeccakDuplex.c: KeccakF-interface.h:53:30: warning: implicit declaration of function 'KeccakP1600_12_StatePermute'; did you mean 'KeccakF1600_StatePermute'? [-Wimplicit-function-declaration]
KeccakDuplex.c: 53 | #define KeccakF_StatePermute KeccakP1600_12_StatePermute
KeccakDuplex.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~
KeccakDuplex.c: KeccakDuplex.c:63:9: note: in expansion of macro 'KeccakF_StatePermute'
KeccakDuplex.c: 63 | KeccakF_StatePermute(instance->state);
KeccakDuplex.c: | ^~~~~~~~~~~~~~~~~~~~
KeccakDuplex.c: KeccakF-interface.h:73:40: warning: implicit declaration of function 'KeccakP1600_12_StateXORPermuteExtract'; did you mean 'KeccakF1600_StateXORPermuteExtract'? [-Wimplicit-function-declaration]
KeccakDuplex.c: 73 | #define KeccakF_StateXORPermuteExtract KeccakP1600_12_StateXORPermuteExtract
KeccakDuplex.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KeccakDuplex.c: KeccakF-interface.h:73:40: note: in definition of macro 'KeccakF_StateXORPermuteExtract'
KeccakDuplex.c: 73 | #define KeccakF_StateXORPermuteExtract KeccakP1600_12_StateXORPermuteExtract
KeccakDuplex.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:ref