Implementation notes: amd64, spawn, crypto_aead/lakekeyakv1

Computer: spawn
Microarchitecture: amd64; Zen 3 (a20f10)
Architecture: amd64
CPU ID: AuthenticAMD-00a20f10-178bfbff
SUPERCOP version: 20231215
Operation: crypto_aead
Primitive: lakekeyakv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
20646181255 0 0204989 784 928T:opt64ufullgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
2086883766 0 0107501 784 928T:opt64u6gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
20905174165 0 0195093 784 928T:opt64ufullgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
20942176673 0 0198493 784 928T:opt64ufullgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
2138682614 0 0103541 784 928T:opt64u6gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
21497166795 0 0185992 760 896T:opt64ufullgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
2153482384 0 0104205 784 928T:opt64u6gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
2201577564 0 096760 760 896T:opt64u6gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
22533188807 0 0212541 784 928T:opt64lcufullgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
2257088016 0 0111757 784 928T:opt64lcu6gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
2268183508 0 0104437 784 928T:opt64lcu6gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
22755172574 0 0191768 760 896T:opt64lcufullgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
22866180013 0 0200933 784 928T:opt64lcufullgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
2297778470 0 097672 760 896T:opt64lcu6gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
23051182921 0 0204741 784 928T:opt64lcufullgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
34928168200 0 0187400 760 896T:opt64lcufullshldgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
35594179942 0 0201765 784 928T:opt64lcufullshldgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
35742185876 0 0209613 784 928T:opt64lcufullshldgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
35964177973 0 0198901 784 928T:opt64lcufullshldgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
4647284708 0 0106533 784 928T:opt64lcu6gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
5353914937 0 038510 776 928T:compact64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
5849735551 0 059277 784 928T:inplace32bigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
6722926632 0 047509 784 928T:inplace32bigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
6771025350 0 044488 760 896T:inplace32bigcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
7030028705 0 050501 784 928T:inplace32bigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
8854110566 0 032222 776 928T:compact64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
923898791 0 027801 752 896T:compact64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
960529651 0 030382 776 928T:compact64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
10326721130 0 33644881 792 1264T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
18444511812 0 33633641 792 1264T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
30277111203 0 33632121 792 1264T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215
3168319700 0 33628921 768 1232T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121720231215

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