Implementation notes: amd64, panther, crypto_kem/threebears1248r2cpa

Computer: panther
Microarchitecture: amd64; Tiger Lake (806c1)
Architecture: amd64
CPU ID: GenuineIntel-000806c1-00-bfebfbff
SUPERCOP version: 20240425
Operation: crypto_kem
Primitive: threebears1248r2cpa
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
96566536584 0 061670 852 1752refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024043020240425
118366121622 0 046678 852 1752refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024043020240425
122173810691 0 036184 796 1784refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425
202072519530 0 044214 852 1752refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024043020240425
23831856719 0 029084 844 1752refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024043020240425
57511056909 0 029676 844 1752refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024043020240425
63718977191 0 030649 804 1784refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425
66404286553 0 029505 804 1784refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425
73052925309 0 027241 796 1752refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024043020240425

Compiler output

Implementation: lowmem
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: /usr/bin/ld: /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libkeccak.a(KeccakP-1600-AVX2.o): in function `KeccakP1600_Initialize':
try.c: (.text+0x...): multiple definition of `KeccakP1600_Initialize'; /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libsupercop.a(crypto_hash_sha3224_kcp_optimized1600AVX512_constbranchindex-KeccakP-1600-AVX512.o):KeccakP-1600-AVX512.c:(.text+0x...): first defined here
try.c: /usr/bin/ld: /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libkeccak.a(KeccakP-1600-AVX2.o): in function `KeccakP1600_AddBytes':
try.c: (.text+0x...): multiple definition of `KeccakP1600_AddBytes'; /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libsupercop.a(crypto_hash_sha3224_kcp_optimized1600AVX512_constbranchindex-KeccakP-1600-AVX512.o):KeccakP-1600-AVX512.c:(.text+0x...): first defined here
try.c: /usr/bin/ld: /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libkeccak.a(KeccakP-1600-AVX2.o): in function `KeccakP1600_OverwriteBytes':
try.c: (.text+0x...): multiple definition of `KeccakP1600_OverwriteBytes'; /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libsupercop.a(crypto_hash_sha3224_kcp_optimized1600AVX512_constbranchindex-KeccakP-1600-AVX512.o):KeccakP-1600-AVX512.c:(.text+0x...): first defined here
try.c: /usr/bin/ld: /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libkeccak.a(KeccakP-1600-AVX2.o): in function `KeccakP1600_OverwriteWithZeroes':
try.c: (.text+0x...): multiple definition of `KeccakP1600_OverwriteWithZeroes'; /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libsupercop.a(crypto_hash_sha3224_kcp_optimized1600AVX512_constbranchindex-KeccakP-1600-AVX512.o):KeccakP-1600-AVX512.c:(.text+0x...): first defined here
try.c: /usr/bin/ld: /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libkeccak.a(KeccakP-1600-AVX2.o): in function `KeccakP1600_ExtractBytes':
try.c: (.text+0x...): multiple definition of `KeccakP1600_ExtractBytes'; /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libsupercop.a(crypto_hash_sha3224_kcp_optimized1600AVX512_constbranchindex-KeccakP-1600-AVX512.o):KeccakP-1600-AVX512.c:(.text+0x...): first defined here
try.c: /usr/bin/ld: /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libkeccak.a(KeccakP-1600-AVX2.o): in function `KeccakP1600_ExtractAndAddBytes':
try.c: (.text+0x...): multiple definition of `KeccakP1600_ExtractAndAddBytes'; /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libsupercop.a(crypto_hash_sha3224_kcp_optimized1600AVX512_constbranchindex-KeccakP-1600-AVX512.o):KeccakP-1600-AVX512.c:(.text+0x...): first defined here
try.c: /usr/bin/ld: /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libkeccak.a(KeccakP-1600-AVX2.o): in function `KeccakP1600_Permute_24rounds':
try.c: (.text+0x...): multiple definition of `KeccakP1600_Permute_24rounds'; /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libsupercop.a(crypto_hash_sha3224_kcp_optimized1600AVX512_constbranchindex-KeccakP-1600-AVX512.o):KeccakP-1600-AVX512.c:(.text+0x...): first defined here
try.c: /usr/bin/ld: /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libkeccak.a(KeccakP-1600-AVX2.o): in function `KeccakP1600_Permute_12rounds':
try.c: (.text+0x...): multiple definition of `KeccakP1600_Permute_12rounds'; /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libsupercop.a(crypto_hash_sha3224_kcp_optimized1600AVX512_constbranchindex-KeccakP-1600-AVX512.o):KeccakP-1600-AVX512.c:(.text+0x...): first defined here
try.c: /usr/bin/ld: /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libkeccak.a(KeccakP-1600-AVX2.o): in function `KeccakP1600_Permute_Nrounds':
try.c: (.text+0x...): multiple definition of `KeccakP1600_Permute_Nrounds'; /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libsupercop.a(crypto_hash_sha3224_kcp_optimized1600AVX512_constbranchindex-KeccakP-1600-AVX512.o):KeccakP-1600-AVX512.c:(.text+0x...): first defined here
try.c: /usr/bin/ld: /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libkeccak.a(KeccakP-1600-AVX2.o): in function `KeccakF1600_FastLoop_Absorb':
try.c: (.text+0x...): multiple definition of `KeccakF1600_FastLoop_Absorb'; /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libsupercop.a(crypto_hash_sha3224_kcp_optimized1600AVX512_constbranchindex-KeccakP-1600-AVX512.o):KeccakP-1600-AVX512.c:(.text+0x...): first defined here
try.c: /usr/bin/ld: /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libkeccak.a(KeccakP-1600-AVX2.o): in function `KeccakP1600_12rounds_FastLoop_Absorb':
try.c: (.text+0x...): multiple definition of `KeccakP1600_12rounds_FastLoop_Absorb'; /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libsupercop.a(crypto_hash_sha3224_kcp_optimized1600AVX512_constbranchindex-KeccakP-1600-AVX512.o):KeccakP-1600-AVX512.c:(.text+0x...): first defined here
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

Number of similar (compiler,implementation) pairs: 15, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE lowmem
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE lowmem
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE lowmem
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE lowmem
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE lowmem
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE opt
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE opt
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE opt
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE opt
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE opt
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE vec
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE vec
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE vec
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE vec
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE vec

Compiler output

Implementation: lowmem
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libkeccak.a(KeccakP-1600-AVX2.o): in function `KeccakP1600_Initialize':
try.c: (.text+0x...): multiple definition of `KeccakP1600_Initialize'; /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libsupercop.a(crypto_hash_sha3224_kcp_optimized1600AVX512_constbranchindex-KeccakP-1600-AVX512.o):KeccakP-1600-AVX512.c:(.text+0x...): first defined here
try.c: /usr/bin/ld: /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libkeccak.a(KeccakP-1600-AVX2.o): in function `KeccakP1600_AddBytes':
try.c: (.text+0x...): multiple definition of `KeccakP1600_AddBytes'; /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libsupercop.a(crypto_hash_sha3224_kcp_optimized1600AVX512_constbranchindex-KeccakP-1600-AVX512.o):KeccakP-1600-AVX512.c:(.text+0x...): first defined here
try.c: /usr/bin/ld: /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libkeccak.a(KeccakP-1600-AVX2.o): in function `KeccakP1600_OverwriteBytes':
try.c: (.text+0x...): multiple definition of `KeccakP1600_OverwriteBytes'; /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libsupercop.a(crypto_hash_sha3224_kcp_optimized1600AVX512_constbranchindex-KeccakP-1600-AVX512.o):KeccakP-1600-AVX512.c:(.text+0x...): first defined here
try.c: /usr/bin/ld: /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libkeccak.a(KeccakP-1600-AVX2.o): in function `KeccakP1600_OverwriteWithZeroes':
try.c: (.text+0x...): multiple definition of `KeccakP1600_OverwriteWithZeroes'; /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libsupercop.a(crypto_hash_sha3224_kcp_optimized1600AVX512_constbranchindex-KeccakP-1600-AVX512.o):KeccakP-1600-AVX512.c:(.text+0x...): first defined here
try.c: /usr/bin/ld: /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libkeccak.a(KeccakP-1600-AVX2.o): in function `KeccakP1600_ExtractBytes':
try.c: (.text+0x...): multiple definition of `KeccakP1600_ExtractBytes'; /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libsupercop.a(crypto_hash_sha3224_kcp_optimized1600AVX512_constbranchindex-KeccakP-1600-AVX512.o):KeccakP-1600-AVX512.c:(.text+0x...): first defined here
try.c: /usr/bin/ld: /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libkeccak.a(KeccakP-1600-AVX2.o): in function `KeccakP1600_ExtractAndAddBytes':
try.c: (.text+0x...): multiple definition of `KeccakP1600_ExtractAndAddBytes'; /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libsupercop.a(crypto_hash_sha3224_kcp_optimized1600AVX512_constbranchindex-KeccakP-1600-AVX512.o):KeccakP-1600-AVX512.c:(.text+0x...): first defined here
try.c: /usr/bin/ld: /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libkeccak.a(KeccakP-1600-AVX2.o): in function `KeccakP1600_Permute_24rounds':
try.c: (.text+0x...): multiple definition of `KeccakP1600_Permute_24rounds'; /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libsupercop.a(crypto_hash_sha3224_kcp_optimized1600AVX512_constbranchindex-KeccakP-1600-AVX512.o):KeccakP-1600-AVX512.c:(.text+0x...): first defined here
try.c: /usr/bin/ld: /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libkeccak.a(KeccakP-1600-AVX2.o): in function `KeccakP1600_Permute_12rounds':
try.c: (.text+0x...): multiple definition of `KeccakP1600_Permute_12rounds'; /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libsupercop.a(crypto_hash_sha3224_kcp_optimized1600AVX512_constbranchindex-KeccakP-1600-AVX512.o):KeccakP-1600-AVX512.c:(.text+0x...): first defined here
try.c: /usr/bin/ld: /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libkeccak.a(KeccakP-1600-AVX2.o): in function `KeccakP1600_Permute_Nrounds':
try.c: (.text+0x...): multiple definition of `KeccakP1600_Permute_Nrounds'; /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libsupercop.a(crypto_hash_sha3224_kcp_optimized1600AVX512_constbranchindex-KeccakP-1600-AVX512.o):KeccakP-1600-AVX512.c:(.text+0x...): first defined here
try.c: /usr/bin/ld: /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libkeccak.a(KeccakP-1600-AVX2.o): in function `KeccakF1600_FastLoop_Absorb':
try.c: (.text+0x...): multiple definition of `KeccakF1600_FastLoop_Absorb'; /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libsupercop.a(crypto_hash_sha3224_kcp_optimized1600AVX512_constbranchindex-KeccakP-1600-AVX512.o):KeccakP-1600-AVX512.c:(.text+0x...): first defined here
try.c: /usr/bin/ld: /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libkeccak.a(KeccakP-1600-AVX2.o): in function `KeccakP1600_12rounds_FastLoop_Absorb':
try.c: (.text+0x...): multiple definition of `KeccakP1600_12rounds_FastLoop_Absorb'; /home/supercop/benchmarking/supercop-20240425/supercop-data/panther/amd64/lib/libsupercop.a(crypto_hash_sha3224_kcp_optimized1600AVX512_constbranchindex-KeccakP-1600-AVX512.o):KeccakP-1600-AVX512.c:(.text+0x...): first defined here
try.c: collect2: error: ld returned 1 exit status

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