Implementation notes: amd64, temp, crypto_hash/sha3512

Computer: temp
Architecture: amd64
CPU ID: AuthenticAMD-00800f12-178bfbff
SUPERCOP version: 20191017
Operation: crypto_hash
Primitive: sha3512
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
21359500 0 033018 776 744oncore64bitsgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
29884643 0 033902 792 776oncore64bitsgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
29946696 0 036894 792 808oncore64bitsgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
33232678 0 034118 792 776oncore64bitsgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
504061700 0 023926 792 776oncore32bitsgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
506231771 0 023806 792 776oncore32bitsgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
507781591 0 022906 776 744oncore32bitsgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017
688514124 0 029070 792 808oncore32bitsgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121920191017

Compiler output

Implementation: kcp/optimized1600ARMv7A
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
keccak.s: keccak.s: Assembler messages:
keccak.s: keccak.s:1: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:2: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:3: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:4: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:5: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:6: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:7: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:8: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:9: Error: junk at end of line, first unrecognized character is `@'
keccak.s: ...
keccak.s: keccak.s:795: Error: no such instruction: `veor.64 d4,d4,d30'
keccak.s: keccak.s:796: Error: no such instruction: `vld1.64 d30,[r2],r7'
keccak.s: keccak.s:797: Error: no such instruction: `veor.64 d2,d2,d30'
keccak.s: keccak.s:798: Error: no such instruction: `vld1.64 d30,[r2],r7'
keccak.s: keccak.s:799: Error: no such instruction: `veor.64 d0,d0,d30'
keccak.s: keccak.s:801: Error: no such instruction: `vld1.64 {d30},[sp:64]'
keccak.s: keccak.s:802: Error: no such instruction: `bl KeccakP1600_XORandPermuteAsmOnly'
keccak.s: keccak.s:803: Error: too many memory references for `sub'
keccak.s: keccak.s:804: Error: no such instruction: `bcs KeccakF1600_FastLoop_Absorb_LoopLessThan16Lanes'
keccak.s: keccak.s:805: Error: no such instruction: `b KeccakF1600_FastLoop_Absorb_Done'

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

Compiler output

Implementation: kcp/optimized1600ARMv8A
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
keccak.s: keccak.s: Assembler messages:
keccak.s: keccak.s:258: Error: no such instruction: `movi v0.2d,'
keccak.s: keccak.s:259: Error: no such instruction: `movi v1.2d,'
keccak.s: keccak.s:260: Error: no such instruction: `movi v2.2d,'
keccak.s: keccak.s:261: Error: no such instruction: `movi v3.2d,'
keccak.s: keccak.s:262: Error: no such instruction: `st4 { v0.2d,v1.2d,v2.2d,v3.2d},[x0],'
keccak.s: keccak.s:263: Error: no such instruction: `st4 { v0.2d,v1.2d,v2.2d,v3.2d},[x0],'
keccak.s: keccak.s:264: Error: no such instruction: `st4 { v0.2d,v1.2d,v2.2d,v3.2d},[x0],'
keccak.s: keccak.s:265: Error: no such instruction: `st1 { v0.d}[0],[x0],'
keccak.s: keccak.s:276: Error: no such instruction: `ldrb w3,[x0,x2]'
keccak.s: ...
keccak.s: keccak.s:524: Error: no such instruction: `eor v25.16b,v25.16b,v7.16b//A[10]^=~A[11]&A[12],A[14]^=~A[10]&A[11]'
keccak.s: keccak.s:524: Error: no such instruction: `eor v26.16b,v26.16b,v4.16b//A[11]^=~A[12]&A[13],A[15]^=~A[16]&A[17]'
keccak.s: keccak.s:524: Error: no such instruction: `ld1 { v16.d}[0],[x1],'
keccak.s: keccak.s:524: Error: no such instruction: `eor v19.16b,v19.16b,v16.16b'
keccak.s: keccak.s:525: Error: too many memory references for `sub'
keccak.s: keccak.s:526: Error: no such instruction: `bne KeccakP1600_Permute_RoundLoop'
keccak.s: keccak.s:528: Error: no such instruction: `st4 { v19.2d,v20.2d,v21.2d,v22.2d},[x0],'
keccak.s: keccak.s:528: Error: no such instruction: `st4 { v23.2d,v24.2d,v25.2d,v26.2d},[x0],'
keccak.s: keccak.s:528: Error: no such instruction: `st4 { v27.2d,v28.2d,v29.2d,v30.2d},[x0],'
keccak.s: keccak.s:528: Error: no such instruction: `st1 { v31.d}[0],[x0],'

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

Compiler output

Implementation: kcp/optimized1600AVX2
Security model: unknown
Compiler: g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.cpp: crypto_hash_sha3512.a(KeccakSpongeWidth1600.o): In function `KeccakWidth1600_Sponge(unsigned int, unsigned int, unsigned char const*, unsigned long, unsigned char, unsigned char*, unsigned long)':
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_StaticInitialize()'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Initialize(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakF1600_FastLoop_Absorb(void*, unsigned int, unsigned char const*, unsigned long)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_ExtractBytes(void const*, unsigned char*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_ExtractBytes(void const*, unsigned char*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: crypto_hash_sha3512.a(KeccakSpongeWidth1600.o): In function `KeccakWidth1600_SpongeInitialize(KeccakWidth1600_SpongeInstanceStruct*, unsigned int, unsigned int)':
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_StaticInitialize()'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Initialize(void*)'
try.cpp: crypto_hash_sha3512.a(KeccakSpongeWidth1600.o): In function `KeccakWidth1600_SpongeAbsorb(KeccakWidth1600_SpongeInstanceStruct*, unsigned char const*, unsigned long)':
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakF1600_FastLoop_Absorb(void*, unsigned int, unsigned char const*, unsigned long)'
try.cpp: crypto_hash_sha3512.a(KeccakSpongeWidth1600.o): In function `KeccakWidth1600_SpongeAbsorbLastFewBits(KeccakWidth1600_SpongeInstanceStruct*, unsigned char)':
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: crypto_hash_sha3512.a(KeccakSpongeWidth1600.o): In function `KeccakWidth1600_SpongeSqueeze(KeccakWidth1600_SpongeInstanceStruct*, unsigned char*, unsigned long)':
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_ExtractBytes(void const*, unsigned char*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_ExtractBytes(void const*, unsigned char*, unsigned int, unsigned int)'
try.cpp: crypto_hash_sha3512.a(KeccakSpongeWidth1600.o): In function `KeccakWidth1600_12rounds_Sponge(unsigned int, unsigned int, unsigned char const*, unsigned long, unsigned char, unsigned char*, unsigned long)':
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_StaticInitialize()'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Initialize(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_12rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_12rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_ExtractBytes(void const*, unsigned char*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_12rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_ExtractBytes(void const*, unsigned char*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_12rounds(void*)'
try.cpp: crypto_hash_sha3512.a(KeccakSpongeWidth1600.o): In function `KeccakWidth1600_12rounds_SpongeInitialize(KeccakWidth1600_12rounds_SpongeInstanceStruct*, unsigned int, unsigned int)':
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_StaticInitialize()'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Initialize(void*)'
try.cpp: crypto_hash_sha3512.a(KeccakSpongeWidth1600.o): In function `KeccakWidth1600_12rounds_SpongeAbsorb(KeccakWidth1600_12rounds_SpongeInstanceStruct*, unsigned char const*, unsigned long)':
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_12rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_12rounds(void*)'
try.cpp: crypto_hash_sha3512.a(KeccakSpongeWidth1600.o): In function `KeccakWidth1600_12rounds_SpongeAbsorbLastFewBits(KeccakWidth1600_12rounds_SpongeInstanceStruct*, unsigned char)':
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_12rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_12rounds(void*)'
try.cpp: crypto_hash_sha3512.a(KeccakSpongeWidth1600.o): In function `KeccakWidth1600_12rounds_SpongeSqueeze(KeccakWidth1600_12rounds_SpongeInstanceStruct*, unsigned char*, unsigned long)':
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_ExtractBytes(void const*, unsigned char*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_12rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_12rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_ExtractBytes(void const*, unsigned char*, unsigned int, unsigned int)'
try.cpp: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE kcp/optimized1600AVX2

Compiler output

Implementation: kcp/optimized1600AVX2
Security model: unknown
Compiler: g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.cpp: crypto_hash_sha3512.a(KeccakSpongeWidth1600.o): In function `KeccakWidth1600_Sponge(unsigned int, unsigned int, unsigned char const*, unsigned long, unsigned char, unsigned char*, unsigned long)':
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_StaticInitialize()'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Initialize(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakF1600_FastLoop_Absorb(void*, unsigned int, unsigned char const*, unsigned long)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_ExtractBytes(void const*, unsigned char*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_ExtractBytes(void const*, unsigned char*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: crypto_hash_sha3512.a(KeccakSpongeWidth1600.o): In function `KeccakWidth1600_SpongeInitialize(KeccakWidth1600_SpongeInstanceStruct*, unsigned int, unsigned int)':
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_StaticInitialize()'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Initialize(void*)'
try.cpp: crypto_hash_sha3512.a(KeccakSpongeWidth1600.o): In function `KeccakWidth1600_SpongeAbsorb(KeccakWidth1600_SpongeInstanceStruct*, unsigned char const*, unsigned long)':
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakF1600_FastLoop_Absorb(void*, unsigned int, unsigned char const*, unsigned long)'
try.cpp: crypto_hash_sha3512.a(KeccakSpongeWidth1600.o): In function `KeccakWidth1600_SpongeAbsorbLastFewBits(KeccakWidth1600_SpongeInstanceStruct*, unsigned char)':
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: crypto_hash_sha3512.a(KeccakSpongeWidth1600.o): In function `KeccakWidth1600_SpongeSqueeze(KeccakWidth1600_SpongeInstanceStruct*, unsigned char*, unsigned long)':
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_ExtractBytes(void const*, unsigned char*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_ExtractBytes(void const*, unsigned char*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: crypto_hash_sha3512.a(KeccakSpongeWidth1600.o): In function `KeccakWidth1600_12rounds_Sponge(unsigned int, unsigned int, unsigned char const*, unsigned long, unsigned char, unsigned char*, unsigned long)':
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_StaticInitialize()'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Initialize(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_12rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_12rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_ExtractBytes(void const*, unsigned char*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_12rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_ExtractBytes(void const*, unsigned char*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_12rounds(void*)'
try.cpp: crypto_hash_sha3512.a(KeccakSpongeWidth1600.o): In function `KeccakWidth1600_12rounds_SpongeInitialize(KeccakWidth1600_12rounds_SpongeInstanceStruct*, unsigned int, unsigned int)':
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_StaticInitialize()'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Initialize(void*)'
try.cpp: crypto_hash_sha3512.a(KeccakSpongeWidth1600.o): In function `KeccakWidth1600_12rounds_SpongeAbsorb(KeccakWidth1600_12rounds_SpongeInstanceStruct*, unsigned char const*, unsigned long)':
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_12rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_12rounds(void*)'
try.cpp: crypto_hash_sha3512.a(KeccakSpongeWidth1600.o): In function `KeccakWidth1600_12rounds_SpongeAbsorbLastFewBits(KeccakWidth1600_12rounds_SpongeInstanceStruct*, unsigned char)':
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_12rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_12rounds(void*)'
try.cpp: crypto_hash_sha3512.a(KeccakSpongeWidth1600.o): In function `KeccakWidth1600_12rounds_SpongeSqueeze(KeccakWidth1600_12rounds_SpongeInstanceStruct*, unsigned char*, unsigned long)':
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_ExtractBytes(void const*, unsigned char*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_12rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_12rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_ExtractBytes(void const*, unsigned char*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_12rounds(void*)'
try.cpp: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
g++ -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE kcp/optimized1600AVX2

Compiler output

Implementation: kcp/optimized1600AVX2
Security model: unknown
Compiler: g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.cpp: crypto_hash_sha3512.a(KeccakSpongeWidth1600.o): In function `KeccakWidth1600_Sponge(unsigned int, unsigned int, unsigned char const*, unsigned long, unsigned char, unsigned char*, unsigned long)':
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_StaticInitialize()'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Initialize(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakF1600_FastLoop_Absorb(void*, unsigned int, unsigned char const*, unsigned long)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_ExtractBytes(void const*, unsigned char*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_ExtractBytes(void const*, unsigned char*, unsigned int, unsigned int)'
try.cpp: crypto_hash_sha3512.a(KeccakSpongeWidth1600.o): In function `KeccakWidth1600_SpongeInitialize(KeccakWidth1600_SpongeInstanceStruct*, unsigned int, unsigned int)':
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_StaticInitialize()'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Initialize(void*)'
try.cpp: crypto_hash_sha3512.a(KeccakSpongeWidth1600.o): In function `KeccakWidth1600_SpongeAbsorb(KeccakWidth1600_SpongeInstanceStruct*, unsigned char const*, unsigned long)':
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakF1600_FastLoop_Absorb(void*, unsigned int, unsigned char const*, unsigned long)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: crypto_hash_sha3512.a(KeccakSpongeWidth1600.o): In function `KeccakWidth1600_SpongeAbsorbLastFewBits(KeccakWidth1600_SpongeInstanceStruct*, unsigned char)':
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: crypto_hash_sha3512.a(KeccakSpongeWidth1600.o): In function `KeccakWidth1600_SpongeSqueeze(KeccakWidth1600_SpongeInstanceStruct*, unsigned char*, unsigned long)':
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_ExtractBytes(void const*, unsigned char*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_ExtractBytes(void const*, unsigned char*, unsigned int, unsigned int)'
try.cpp: crypto_hash_sha3512.a(KeccakSpongeWidth1600.o): In function `KeccakWidth1600_12rounds_Sponge(unsigned int, unsigned int, unsigned char const*, unsigned long, unsigned char, unsigned char*, unsigned long)':
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_StaticInitialize()'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Initialize(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_12rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_12rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_12rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_ExtractBytes(void const*, unsigned char*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_12rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_ExtractBytes(void const*, unsigned char*, unsigned int, unsigned int)'
try.cpp: crypto_hash_sha3512.a(KeccakSpongeWidth1600.o): In function `KeccakWidth1600_12rounds_SpongeInitialize(KeccakWidth1600_12rounds_SpongeInstanceStruct*, unsigned int, unsigned int)':
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_StaticInitialize()'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Initialize(void*)'
try.cpp: crypto_hash_sha3512.a(KeccakSpongeWidth1600.o): In function `KeccakWidth1600_12rounds_SpongeAbsorb(KeccakWidth1600_12rounds_SpongeInstanceStruct*, unsigned char const*, unsigned long)':
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_12rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_12rounds(void*)'
try.cpp: crypto_hash_sha3512.a(KeccakSpongeWidth1600.o): In function `KeccakWidth1600_12rounds_SpongeAbsorbLastFewBits(KeccakWidth1600_12rounds_SpongeInstanceStruct*, unsigned char)':
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_12rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_12rounds(void*)'
try.cpp: crypto_hash_sha3512.a(KeccakSpongeWidth1600.o): In function `KeccakWidth1600_12rounds_SpongeSqueeze(KeccakWidth1600_12rounds_SpongeInstanceStruct*, unsigned char*, unsigned long)':
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_12rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_ExtractBytes(void const*, unsigned char*, unsigned int, unsigned int)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_12rounds(void*)'
try.cpp: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_ExtractBytes(void const*, unsigned char*, unsigned int, unsigned int)'
try.cpp: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
g++ -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE kcp/optimized1600AVX2
g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE kcp/optimized1600AVX2

Compiler output

Implementation: kcp/optimized1600AVX512
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakP-1600-AVX512.c: KeccakP-1600-AVX512.c:204:1: error: unknown type name '__m512i'
KeccakP-1600-AVX512.c: typedef __m512i V512;
KeccakP-1600-AVX512.c: ^

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

Compiler output

Implementation: openssl
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hash.c: hash.c: In function 'crypto_hash_sha3512_openssl':
hash.c: hash.c:14:3: warning: passing argument 1 of 'EVP_MD_size' makes pointer from integer without a cast [enabled by default]
hash.c: if (EVP_MD_size(EVP_sha3_512()) != crypto_hash_BYTES) ok = 0;
hash.c: ^
hash.c: In file included from hash.c:2:0:
hash.c: /usr/include/openssl/evp.h:523:5: note: expected 'const struct EVP_MD *' but argument is of type 'int'
hash.c: int EVP_MD_size(const EVP_MD *md);
hash.c: ^
hash.c: hash.c:15:3: warning: passing argument 2 of 'EVP_DigestInit_ex' makes pointer from integer without a cast [enabled by default]
hash.c: if (ok) ok = EVP_DigestInit_ex(x,EVP_sha3_512(),NULL);
hash.c: ^
hash.c: In file included from hash.c:2:0:
hash.c: /usr/include/openssl/evp.h:597:5: note: expected 'const struct EVP_MD *' but argument is of type 'int'
hash.c: int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl);
hash.c: ^
try.c: crypto_hash_sha3512.a(hash.o): In function `crypto_hash_sha3512_openssl':
try.c: hash.c:(.text+0x...): undefined reference to `EVP_sha3_512'
try.c: hash.c:(.text+0x...): undefined reference to `EVP_sha3_512'
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 openssl
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE openssl
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE openssl
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE openssl