Implementation notes: amd64, speed2supercop, crypto_aead/lakekeyakv1

Computer: speed2supercop
Microarchitecture: amd64; Haswell+AES (306c3)
Architecture: amd64
CPU ID: GenuineIntel-000306c3-1fc9cbf5
SUPERCOP version: 20240107
Operation: crypto_aead
Primitive: lakekeyakv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
29772176987 0 0197029 752 928T:opt64ufullgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011420240107
30124180928 0 0203445 752 928T:opt64ufullgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011420240107
30232179346 0 0200069 752 928T:opt64ufullgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011420240107
3056882858 0 0105381 752 928T:opt64u6gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011420240107
3063282821 0 0102861 752 928T:opt64u6gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011420240107
3072481171 0 0101909 752 928T:opt64u6gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011420240107
33072183594 0 0203629 752 928T:opt64lcufullgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011420240107
33320183023 0 0203053 752 928T:opt64lcufullshldgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011420240107
3385683533 0 0103565 752 928T:opt64lcu6gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011420240107
33864165135 0 0183456 728 896T:opt64ufullgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011420240107
34028197333 0 0219853 752 928T:opt64lcufullshldgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011420240107
34052175293 0 0193616 728 896T:opt64lcufullshldgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011420240107
34076195815 0 0216541 752 928T:opt64lcufullshldgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011420240107
34548197501 0 0220013 752 928T:opt64lcufullgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011420240107
34604195967 0 0216685 752 928T:opt64lcufullgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011420240107
3467277225 0 095536 728 896T:opt64u6gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011420240107
3486890636 0 0113165 752 928T:opt64lcu6gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011420240107
3492888943 0 0109677 752 928T:opt64lcu6gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011420240107
36692170687 0 0189008 728 896T:opt64lcufullgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011420240107
3773678471 0 096784 728 896T:opt64lcu6gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011420240107
8285635732 0 058261 752 928T:inplace32bigcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011420240107
8460014068 0 036525 752 928T:compact64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011420240107
9297228598 0 049309 752 928T:inplace32bigcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011420240107
9484819802 0 33642448 768 1264T:refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011420240107
9848826327 0 046349 752 928T:inplace32bigcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011420240107
10534424346 0 042624 728 896T:inplace32bigcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011420240107
1361809698 0 030365 752 928T:compact64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011420240107
1442688301 0 026552 728 896T:compact64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011420240107
1636408994 0 028965 752 928T:compact64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011420240107
35136410708 0 33631544 768 1264T:refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011420240107
50068810301 0 33630424 768 1264T:refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011420240107
7276808789 0 33627224 744 1232T:refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024011420240107

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