Implementation notes: amd64, cannon, crypto_hash/shake256

Computer: cannon
Architecture: amd64
CPU ID: GenuineIntel-00060663-bfebfbff
SUPERCOP version: 20190910
Operation: crypto_hash
Primitive: shake256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1083089 0 045771 832 752usekcpclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091020190910
10832100 0 042597 808 808usekcpgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091020190910
1083489 0 045771 832 752usekcpclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091020190910
10834100 0 042597 808 808usekcpgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091020190910
1084032984 0 046715 832 752kcp/optimized1600AVX512clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091020190910
10844100 0 041865 800 776usekcpgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091020190910
1085289 0 042481 824 736usekcpclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091020190910
1085431781 0 045187 832 752kcp/optimized1600AVX512clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091020190910
1085689 0 046091 832 752usekcpclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091020190910
1088227521 0 037689 824 736kcp/optimized1600AVX512clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091020190910
10954100 0 045341 808 808usekcpgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091020190910
1106823851 0 033164 784 776kcp/optimized1600AVX512gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091020190910
1120427136 0 037365 808 808kcp/optimized1600AVX512gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091020190910
1120824979 0 035205 808 808kcp/optimized1600AVX512gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091020190910
1122025681 0 038717 808 808kcp/optimized1600AVX512gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091020190910
1127831781 0 045187 832 752kcp/optimized1600AVX512clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091020190910
14698749 0 035629 808 808oncore64bitsgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091020190910
147081579 0 039237 808 808oncore64bitsgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091020190910
14800743 0 035637 808 808oncore64bitsgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091020190910
14954565 0 034721 800 776oncore64bitsgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091020190910
149623226 0 041323 832 752oncore64bitsclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091020190910
14962672 0 035545 824 736oncore64bitsclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091020190910
149703226 0 041323 832 752oncore64bitsclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091020190910
150043290 0 041707 832 752oncore64bitsclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091020190910
15996230 0 010766 848 808opensslgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091020190910
16010220 0 014045 880 752opensslclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091020190910
16012255 0 010782 848 808opensslgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091020190910
16066220 0 014365 880 752opensslclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091020190910
16152220 0 014045 880 752opensslclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091020190910
16178255 0 013663 856 808opensslgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091020190910
16214220 0 010787 872 736opensslclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091020190910
16332208 0 09902 832 776opensslgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091020190910
165784788 0 017621 808 808gil/singlefilegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091020190910
181444180 0 014164 800 808gil/singlefilegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091020190910
189704249 0 014244 800 808gil/singlefilegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091020190910
1900822901 0 035773 808 808gil/singlefile_unrolledgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091020190910
196781967 0 011132 784 776gil/singlefilegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091020190910
2079422340 0 032340 800 808gil/singlefile_unrolledgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091020190910
2182222058 0 032060 800 808gil/singlefile_unrolledgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091020190910
2187422329 0 031452 784 776gil/singlefile_unrolledgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091020190910
2612426373 0 039627 832 752gil/singlefile_unrolledclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091020190910
2614626373 0 039627 832 752gil/singlefile_unrolledclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091020190910
2616226373 0 039947 832 752gil/singlefile_unrolledclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091020190910
2656225674 0 035729 824 736gil/singlefile_unrolledclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091020190910
310123278 0 029283 832 752oncore32bitsclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091020190910
310783278 0 029283 832 752oncore32bitsclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091020190910
313423278 0 029603 832 752oncore32bitsclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091020190910
316503850 0 029453 808 808oncore32bitsgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091020190910
322723100 0 016355 832 752gil/singlefileclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091020190910
322923100 0 016355 832 752gil/singlefileclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091020190910
323143100 0 016675 832 752gil/singlefileclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091020190910
328402398 0 012489 824 736gil/singlefileclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091020190910
349641958 0 024773 808 808oncore32bitsgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091020190910
349701362 0 024153 824 736oncore32bitsclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019091020190910
356102023 0 024853 808 808oncore32bitsgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091020190910
363161848 0 023937 800 776oncore32bitsgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019091020190910

Compiler output

Implementation: kcp/optimized1600ARMv7A
Security model: unknown
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
keccak.s: keccak.s:1:1: error: unexpected token at start of statement
keccak.s: @
keccak.s: ^
keccak.s: keccak.s:2:1: error: unexpected token at start of statement
keccak.s: @ Implementation by the Keccak, Keyak and Ketje Teams, namely, Guido Bertoni,
keccak.s: ^
keccak.s: keccak.s:3:1: error: unexpected token at start of statement
keccak.s: @ Joan Daemen, Michaƫl Peeters, Gilles Van Assche and Ronny Van Keer, hereby
keccak.s: keccak.s:4:1: error: unexpected token at start of statement
keccak.s: @ denoted as "the implementer".
keccak.s: ^
keccak.s: keccak.s:5:1: error: unexpected token at start of statement
keccak.s: @
keccak.s: ^
keccak.s: keccak.s:6:1: error: unexpected token at start of statement
keccak.s: @ For more information, feedback or questions, please refer to our websites:
keccak.s: ^
keccak.s: keccak.s:7:1: error: unexpected token at start of statement
keccak.s: @ http://keccak.noekeon.org/
keccak.s: ^
keccak.s: keccak.s:8:1: error: unexpected token at start of statement
keccak.s: @ http://keyak.noekeon.org/
keccak.s: ^
keccak.s: keccak.s:9:1: error: unexpected token at start of statement
keccak.s: @ http://ketje.noekeon.org/
keccak.s: ...

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

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:10: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:11: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:12: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:13: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:14: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:16: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:17: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:18: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:23: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:24: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:26: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:53: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:269: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:270: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:271: Error: junk at end of line, first unrecognized character is `@'
keccak.s: ...

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: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
keccak.s: keccak.s:258:20: error: unknown token in expression
keccak.s: movi v0.2d, #0
keccak.s: ^
keccak.s: keccak.s:259:20: error: unknown token in expression
keccak.s: movi v1.2d, #0
keccak.s: ^
keccak.s: keccak.s:260:20: error: unknown token in expression
keccak.s: movi v2.2d, #0
keccak.s: ^
keccak.s: keccak.s:261:20: error: unknown token in expression
keccak.s: movi v3.2d, #0
keccak.s: ^
keccak.s: keccak.s:262:15: error: unknown token in expression
keccak.s: st4 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0], #64 // Clear 8lanes=64 bytes at a time
keccak.s: ^
keccak.s: keccak.s:263:15: error: unknown token in expression
keccak.s: st4 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0], #64
keccak.s: ^
keccak.s: keccak.s:264:15: error: unknown token in expression
keccak.s: st4 { v0.2d, v1.2d, v2.2d, v3.2d }, [x0], #64
keccak.s: ^
keccak.s: keccak.s:265:15: error: unknown token in expression
keccak.s: st1 { v0.d }[0], [x0], #8
keccak.s: ^
keccak.s: keccak.s:276:20: error: expected ']' in brackets expression
keccak.s: ...

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

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:277: Error: no such instruction: `eor w3,w3,w1'
keccak.s: keccak.s:278: Error: invalid char '[' beginning operand 2 `[x0'
keccak.s: keccak.s:289: Error: too many memory references for `add'
keccak.s: keccak.s:290: Error: too many memory references for `sub'
keccak.s: keccak.s:291: Error: no such instruction: `b.cc KeccakP1600_AddBytes_Exit//length 0,move along'
keccak.s: keccak.s:293: Error: too many memory references for `sub'
keccak.s: keccak.s:294: Error: no such instruction: `b.cc KeccakP1600_AddBytes_Lanes//Jump if length is negative'
keccak.s: keccak.s:295: Error: no such instruction: `ld4 { v0.2d,v1.2d,v2.2d,v3.2d },[x0]'
keccak.s: keccak.s:296: Error: no such instruction: `ld4 { v4.2d,v5.2d,v6.2d,v7.2d },[x1],'
keccak.s: keccak.s:297: Error: no such instruction: `eor v0.16b,v0.16b,v4.16b'
keccak.s: keccak.s:298: Error: no such instruction: `eor v1.16b,v1.16b,v5.16b'
keccak.s: keccak.s:299: Error: no such instruction: `eor v2.16b,v2.16b,v6.16b'
keccak.s: keccak.s:300: Error: no such instruction: `eor v3.16b,v3.16b,v7.16b'
keccak.s: keccak.s:301: Error: no such instruction: `st4 { v0.2d,v1.2d,v2.2d,v3.2d },[x0],'
keccak.s: keccak.s:302: Error: no such instruction: `b KeccakP1600_AddBytes_8LanesLoop'
keccak.s: ...

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: clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KeccakSpongeWidth1600.c: clang-8: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
SHAKE256.c: clang-8: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
try.cpp: /usr/bin/ld: crypto_hash_shake256.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: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Initialize(void*)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakF1600_FastLoop_Absorb(void*, unsigned int, unsigned char const*, unsigned long)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_ExtractBytes(void const*, unsigned char*, unsigned int, unsigned int)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_ExtractBytes(void const*, unsigned char*, unsigned int, unsigned int)'
try.cpp: /usr/bin/ld: crypto_hash_shake256.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: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Initialize(void*)'
try.cpp: /usr/bin/ld: crypto_hash_shake256.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: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: /usr/bin/ld: crypto_hash_shake256.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: ...

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE kcp/optimized1600AVX2
clang++ -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE kcp/optimized1600AVX2
clang++ -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE kcp/optimized1600AVX2

Compiler output

Implementation: kcp/optimized1600AVX2
Security model: unknown
Compiler: clang++ -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KeccakSpongeWidth1600.c: clang-8: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
SHAKE256.c: clang-8: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated]
try.cpp: /usr/bin/ld: crypto_hash_shake256.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: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Initialize(void*)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakF1600_FastLoop_Absorb(void*, unsigned int, unsigned char const*, unsigned long)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_ExtractBytes(void const*, unsigned char*, unsigned int, unsigned int)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_ExtractBytes(void const*, unsigned char*, unsigned int, unsigned int)'
try.cpp: /usr/bin/ld: crypto_hash_shake256.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: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Initialize(void*)'
try.cpp: /usr/bin/ld: crypto_hash_shake256.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: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakF1600_FastLoop_Absorb(void*, unsigned int, unsigned char const*, unsigned long)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: ...

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

Compiler output

Implementation: kcp/optimized1600AVX2
Security model: unknown
Compiler: g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.cpp: /usr/bin/ld: crypto_hash_shake256.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: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Initialize(void*)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_ExtractBytes(void const*, unsigned char*, unsigned int, unsigned int)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_ExtractBytes(void const*, unsigned char*, unsigned int, unsigned int)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakF1600_FastLoop_Absorb(void*, unsigned int, unsigned char const*, unsigned long)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: /usr/bin/ld: crypto_hash_shake256.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: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Initialize(void*)'
try.cpp: /usr/bin/ld: crypto_hash_shake256.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: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: /usr/bin/ld: crypto_hash_shake256.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: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE kcp/optimized1600AVX2
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: /usr/bin/ld: crypto_hash_shake256.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: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Initialize(void*)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakF1600_FastLoop_Absorb(void*, unsigned int, unsigned char const*, unsigned long)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_ExtractBytes(void const*, unsigned char*, unsigned int, unsigned int)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_ExtractBytes(void const*, unsigned char*, unsigned int, unsigned int)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: /usr/bin/ld: crypto_hash_shake256.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: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Initialize(void*)'
try.cpp: /usr/bin/ld: crypto_hash_shake256.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: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakF1600_FastLoop_Absorb(void*, unsigned int, unsigned char const*, unsigned long)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: /usr/bin/ld: crypto_hash_shake256.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: ...

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

Compiler output

Implementation: kcp/optimized1600AVX2
Security model: unknown
Compiler: g++ -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.cpp: /usr/bin/ld: crypto_hash_shake256.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: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Initialize(void*)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakF1600_FastLoop_Absorb(void*, unsigned int, unsigned char const*, unsigned long)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddByte(void*, unsigned char, unsigned int)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_ExtractBytes(void const*, unsigned char*, unsigned int, unsigned int)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_ExtractBytes(void const*, unsigned char*, unsigned int, unsigned int)'
try.cpp: /usr/bin/ld: crypto_hash_shake256.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: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Initialize(void*)'
try.cpp: /usr/bin/ld: crypto_hash_shake256.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: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_AddBytes(void*, unsigned char const*, unsigned int, unsigned int)'
try.cpp: /usr/bin/ld: KeccakSpongeWidth1600.c:(.text+0x...): undefined reference to `KeccakP1600_Permute_24rounds(void*)'
try.cpp: /usr/bin/ld: crypto_hash_shake256.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: ...

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