Implementation notes: amd64, scw1b63b1, crypto_hash/shake128

Computer: scw1b63b1
Architecture: amd64
CPU ID: GenuineIntel-000506f1-0f8bfbff
SUPERCOP version: 20191017
Operation: crypto_hash
Primitive: shake128
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
18390625 0 063499 776 736oncore64bitsclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
18394909 0 064697 784 736oncore64bitsclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
18394909 0 065521 784 736oncore64bitsclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
18394909 0 064697 784 736oncore64bitsclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
18412703 0 064355 800 808oncore64bitsgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121520191017
184141430 0 067444 808 808oncore64bitsgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121520191017
184241236 0 065929 784 736oncore64bitsclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
18454712 0 064563 800 808oncore64bitsgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121520191017
18508567 0 063239 784 776oncore64bitsgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121520191017
450324449 0 029092 808 808oncore32bitsgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121520191017
473141288 0 023673 784 736oncore32bitsclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
473141288 0 024497 784 736oncore32bitsclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
473301288 0 023673 784 736oncore32bitsclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
473481233 0 022723 776 736oncore32bitsclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
481361278 0 024569 784 736oncore32bitsclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2019121520191017
496101829 0 024323 800 808oncore32bitsgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121520191017
497101858 0 024139 800 808oncore32bitsgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121520191017
501881772 0 023111 784 776oncore32bitsgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019121520191017

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:2: error: unexpected token at start of statement
keccak.s: @
keccak.s: ^
keccak.s: keccak.s:2:3: 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:3: 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:3:21: error: invalid character in input
keccak.s: @ Joan Daemen, Michaël Peeters, Gilles Van Assche and Ronny Van Keer, hereby
keccak.s: ...
keccak.s: ^~
keccak.s: keccak.s:803:51: error: invalid variant 'nbrLanes'
keccak.s: subs r3, r3, r5 @ nbrLanes -= laneCount
keccak.s: ^
keccak.s: keccak.s:804:5: error: invalid instruction mnemonic 'bcs'
keccak.s: bcs KeccakF1600_FastLoop_Absorb_LoopLessThan16Lanes
keccak.s: ^~~
keccak.s: keccak.s:805:5: error: invalid instruction mnemonic 'b'
keccak.s: b KeccakF1600_FastLoop_Absorb_Done
keccak.s: ^

Number of similar (compiler,implementation) pairs: 5, 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
clang -mcpu=native -O3 -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: 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: 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: ...
keccak.s: ^
keccak.s: keccak.s:528:5: note: while in macro instantiation
keccak.s: StoreState
keccak.s: ^
keccak.s: <instantiation>:4:13: error: unknown token in expression
keccak.s: st1 { v31.d }[0], [x0], #8
keccak.s: ^
keccak.s: keccak.s:528:5: note: while in macro instantiation
keccak.s: StoreState
keccak.s: ^

Number of similar (compiler,implementation) pairs: 5, 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
clang -mcpu=native -O3 -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: 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: clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KeccakSpongeWidth1600.c: clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated
SHAKE128.c: clang: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated
KeccakP-1600-AVX2.cpp: KeccakP-1600-AVX2.cpp:506:12: error: always_inline function '_mm256_loadu_si256' requires target feature 'xsave', but would be inlined into function 'KeccakP1600_AddBytes' that is compiled without support for 'xsave'
KeccakP-1600-AVX2.cpp: s.a0 = LOAD(t + 0*5);
KeccakP-1600-AVX2.cpp: ^
KeccakP-1600-AVX2.cpp: KeccakP-1600-AVX2.cpp:60:41: note: expanded from macro 'LOAD'
KeccakP-1600-AVX2.cpp: #define LOAD(p) _mm256_loadu_si256((const __m256i *)(p))
KeccakP-1600-AVX2.cpp: ^
KeccakP-1600-AVX2.cpp: KeccakP-1600-AVX2.cpp:507:12: error: always_inline function '_mm256_loadu_si256' requires target feature 'xsave', but would be inlined into function 'KeccakP1600_AddBytes' that is compiled without support for 'xsave'
KeccakP-1600-AVX2.cpp: s.a1 = LOAD(t + 1*5);
KeccakP-1600-AVX2.cpp: ^
KeccakP-1600-AVX2.cpp: KeccakP-1600-AVX2.cpp:60:41: note: expanded from macro 'LOAD'
KeccakP-1600-AVX2.cpp: ...
KeccakP-1600-AVX2.cpp: KeccakP-1600-AVX2.cpp:511:12: error: always_inline function '_mm256_setr_epi64x' requires target feature 'xsave', but would be inlined into function 'KeccakP1600_AddBytes' that is compiled without support for 'xsave'
KeccakP-1600-AVX2.cpp: s.c4 = SET(t[0*5 + 4], t[1*5 + 4], t[2*5 + 4], t[3*5 + 4]);
KeccakP-1600-AVX2.cpp: ^
KeccakP-1600-AVX2.cpp: KeccakP-1600-AVX2.cpp:51:41: note: expanded from macro 'SET'
KeccakP-1600-AVX2.cpp: #define SET(i0, i1, i2, i3) _mm256_setr_epi64x(i0, i1, i2, i3)
KeccakP-1600-AVX2.cpp: ^
KeccakP-1600-AVX2.cpp: KeccakP-1600-AVX2.cpp:512:13: error: always_inline function '_mm256_set1_epi64x' requires target feature 'xsave', but would be inlined into function 'KeccakP1600_AddBytes' that is compiled without support for 'xsave'
KeccakP-1600-AVX2.cpp: s.a44 = _mm256_set1_epi64x(t[4*5 + 4]);
KeccakP-1600-AVX2.cpp: ^
KeccakP-1600-AVX2.cpp: 7 errors generated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE kcp/optimized1600AVX2
clang++ -march=native -O3 -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: g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakP-1600-AVX2.cpp: KeccakP-1600-AVX2.cpp: In function ‘void KeccakP1600_AddBytes(void*, const UINT8*, size_t, size_t)’:
KeccakP-1600-AVX2.cpp: KeccakP-1600-AVX2.cpp:506:25: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
KeccakP-1600-AVX2.cpp: s.a0 = LOAD(t + 0*5);
KeccakP-1600-AVX2.cpp: ^
KeccakP-1600-AVX2.cpp: In file included from /usr/lib/gcc/x86_64-linux-gnu/6/include/immintrin.h:41:0,
KeccakP-1600-AVX2.cpp: from /usr/lib/gcc/x86_64-linux-gnu/6/include/x86intrin.h:48,
KeccakP-1600-AVX2.cpp: from KeccakP-1600-AVX2.cpp:18:
KeccakP-1600-AVX2.cpp: /usr/lib/gcc/x86_64-linux-gnu/6/include/avxintrin.h: In function ‘void __static_initialization_and_destruction_0(int, int)’:
KeccakP-1600-AVX2.cpp: /usr/lib/gcc/x86_64-linux-gnu/6/include/avxintrin.h:1377:1: error: inlining failed in call to always_inline ‘__m256i _mm256_setr_epi64x(long long int, long long int, long long int, long long int)’: target specific option mismatch
KeccakP-1600-AVX2.cpp: _mm256_setr_epi64x (long long __A, long long __B, long long __C,
KeccakP-1600-AVX2.cpp: ...
KeccakP-1600-AVX2.cpp: ^~~~~~~~~~~~~~~~~~
KeccakP-1600-AVX2.cpp: KeccakP-1600-AVX2.cpp:51:59: note: called from here
KeccakP-1600-AVX2.cpp: #define SET(i0, i1, i2, i3) _mm256_setr_epi64x(i0, i1, i2, i3)
KeccakP-1600-AVX2.cpp: ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
KeccakP-1600-AVX2.cpp: KeccakP-1600-AVX2.cpp:79:30: note: in expansion of macro ‘SET’
KeccakP-1600-AVX2.cpp: ROLV_TYPE SLLV##name = SET(i0, i1, i2, i3); ^~~
KeccakP-1600-AVX2.cpp: KeccakP-1600-AVX2.cpp:87:1: note: in expansion of macro ‘ROLV_CONST’
KeccakP-1600-AVX2.cpp: ROLV_CONST(A0, 0, 1, 62, 28)
KeccakP-1600-AVX2.cpp: ^~~~~~~~~~

Number of similar (compiler,implementation) pairs: 4, 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
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: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KeccakP-1600-AVX512.c: KeccakP-1600-AVX512.c:238:9: error: always_inline function '_mm512_mask_storeu_epi64' requires target feature 'xsave', but would be inlined into function 'KeccakP1600_AddBytes' that is compiled without support for 'xsave'
KeccakP-1600-AVX512.c: STORE_8Lanes( stateAsLanes, XOR(LOAD_8Lanes(stateAsLanes), LOAD_8Lanes((const UINT64*)data)));
KeccakP-1600-AVX512.c: ^
KeccakP-1600-AVX512.c: KeccakP-1600-AVX512.c:219:37: note: expanded from macro 'STORE_8Lanes'
KeccakP-1600-AVX512.c: #define STORE_8Lanes(a,v) STORE_Lanes(a,0xFF,v)
KeccakP-1600-AVX512.c: ^
KeccakP-1600-AVX512.c: KeccakP-1600-AVX512.c:216:37: note: expanded from macro 'STORE_Lanes'
KeccakP-1600-AVX512.c: #define STORE_Lanes(a,m,v) _mm512_mask_storeu_epi64(a,m,v)
KeccakP-1600-AVX512.c: ^
KeccakP-1600-AVX512.c: KeccakP-1600-AVX512.c:238:37: error: always_inline function '_mm512_xor_si512' requires target feature 'xsave', but would be inlined into function 'KeccakP1600_AddBytes' that is compiled without support for 'xsave'
KeccakP-1600-AVX512.c: ...
KeccakP-1600-AVX512.c: V512 pi1K = _mm512_setr_epi64(2, 0, 3, 1, 4, 5, 6, 7); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KeccakP-1600-AVX512.c: KeccakP-1600-AVX512.c:494:5: error: initializing 'V512' (aka '__m512i') with an expression of incompatible type 'int'
KeccakP-1600-AVX512.c: KeccakP_DeclareVars
KeccakP-1600-AVX512.c: ^~~~~~~~~~~~~~~~~~~
KeccakP-1600-AVX512.c: KeccakP-1600-AVX512.c:322:13: note: expanded from macro 'KeccakP_DeclareVars'
KeccakP-1600-AVX512.c: V512 pi1M = _mm512_setr_epi64(3, 1, 4, 2, 0, 5, 6, 7); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KeccakP-1600-AVX512.c: fatal error: too many errors emitted, stopping now [-ferror-limit=]
KeccakP-1600-AVX512.c: 1 warning and 20 errors generated.

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

Compiler output

Implementation: kcp/optimized1600AVX512
Security model: unknown
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KeccakP-1600-AVX512.c: KeccakP-1600-AVX512.c:238:9: error: always_inline function '_mm512_mask_storeu_epi64' requires target feature 'avx2', but would be inlined into function 'KeccakP1600_AddBytes' that is compiled without support for 'avx2'
KeccakP-1600-AVX512.c: STORE_8Lanes( stateAsLanes, XOR(LOAD_8Lanes(stateAsLanes), LOAD_8Lanes((const UINT64*)data)));
KeccakP-1600-AVX512.c: ^
KeccakP-1600-AVX512.c: KeccakP-1600-AVX512.c:219:37: note: expanded from macro 'STORE_8Lanes'
KeccakP-1600-AVX512.c: #define STORE_8Lanes(a,v) STORE_Lanes(a,0xFF,v)
KeccakP-1600-AVX512.c: ^
KeccakP-1600-AVX512.c: KeccakP-1600-AVX512.c:216:37: note: expanded from macro 'STORE_Lanes'
KeccakP-1600-AVX512.c: #define STORE_Lanes(a,m,v) _mm512_mask_storeu_epi64(a,m,v)
KeccakP-1600-AVX512.c: ^
KeccakP-1600-AVX512.c: KeccakP-1600-AVX512.c:238:37: error: always_inline function '_mm512_xor_si512' requires target feature 'avx2', but would be inlined into function 'KeccakP1600_AddBytes' that is compiled without support for 'avx2'
KeccakP-1600-AVX512.c: ...
KeccakP-1600-AVX512.c: V512 pi1K = _mm512_setr_epi64(2, 0, 3, 1, 4, 5, 6, 7); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KeccakP-1600-AVX512.c: KeccakP-1600-AVX512.c:494:5: error: initializing 'V512' (aka '__m512i') with an expression of incompatible type 'int'
KeccakP-1600-AVX512.c: KeccakP_DeclareVars
KeccakP-1600-AVX512.c: ^~~~~~~~~~~~~~~~~~~
KeccakP-1600-AVX512.c: KeccakP-1600-AVX512.c:322:13: note: expanded from macro 'KeccakP_DeclareVars'
KeccakP-1600-AVX512.c: V512 pi1M = _mm512_setr_epi64(3, 1, 4, 2, 0, 5, 6, 7); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KeccakP-1600-AVX512.c: fatal error: too many errors emitted, stopping now [-ferror-limit=]
KeccakP-1600-AVX512.c: 1 warning and 20 errors generated.

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

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: In function ‘KeccakP1600_AddBytes’:
KeccakP-1600-AVX512.c: KeccakP-1600-AVX512.c:216:37: warning: AVX512F vector return without AVX512F enabled changes the ABI [-Wpsabi]
KeccakP-1600-AVX512.c: #define STORE_Lanes(a,m,v) _mm512_mask_storeu_epi64(a,m,v)
KeccakP-1600-AVX512.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KeccakP-1600-AVX512.c: KeccakP-1600-AVX512.c:219:37: note: in expansion of macro ‘STORE_Lanes’
KeccakP-1600-AVX512.c: #define STORE_8Lanes(a,v) STORE_Lanes(a,0xFF,v)
KeccakP-1600-AVX512.c: ^~~~~~~~~~~
KeccakP-1600-AVX512.c: KeccakP-1600-AVX512.c:238:9: note: in expansion of macro ‘STORE_8Lanes’
KeccakP-1600-AVX512.c: STORE_8Lanes( stateAsLanes, XOR(LOAD_8Lanes(stateAsLanes), LOAD_8Lanes((const UINT64*)data)));
KeccakP-1600-AVX512.c: ^~~~~~~~~~~~
KeccakP-1600-AVX512.c: ...
KeccakP-1600-AVX512.c: ^~~~~~~~~~~~~~~~~~~~~~~~
KeccakP-1600-AVX512.c: KeccakP-1600-AVX512.c:216:37: note: called from here
KeccakP-1600-AVX512.c: #define STORE_Lanes(a,m,v) _mm512_mask_storeu_epi64(a,m,v)
KeccakP-1600-AVX512.c: ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KeccakP-1600-AVX512.c: KeccakP-1600-AVX512.c:217:37: note: in expansion of macro ‘STORE_Lanes’
KeccakP-1600-AVX512.c: #define STORE_Lane(a,v) STORE_Lanes(a,0x01,v)
KeccakP-1600-AVX512.c: ^~~~~~~~~~~
KeccakP-1600-AVX512.c: KeccakP-1600-AVX512.c:240:9: note: in expansion of macro ‘STORE_Lane’
KeccakP-1600-AVX512.c: STORE_Lane( stateAsLanes, XOR(LOAD_Lane(stateAsLanes), LOAD_Lane((const UINT64*)data)));
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: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
hash.c: hash.c:2:10: fatal error: 'openssl/evp.h' file not found
hash.c: #include <openssl/evp.h>
hash.c: ^
hash.c: 1 error generated.

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

Compiler output

Implementation: openssl
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hash.c: hash.c:2:25: fatal error: openssl/evp.h: No such file or directory
hash.c: #include <openssl/evp.h>
hash.c: ^
hash.c: compilation terminated.

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