Implementation notes: amd64, hydra8, crypto_hash/shake256

Computer: hydra8
Microarchitecture: amd64; Ivy Bridge+AES (306a9)
Architecture: amd64
CPU ID: GenuineIntel-000306a9-bfebfbff
SUPERCOP version: 20240107
Operation: crypto_hash
Primitive: shake256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
17534759 0 071131 868 896oncore64bitsclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
17539626 0 070677 860 896oncore64bitsclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
17573788 0 072268 812 960oncore64bitsgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
17581761 0 071891 804 960oncore64bitsgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
175852031 0 074764 812 960oncore64bitsgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
175911213 0 073915 868 896oncore64bitsclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
175931440 0 073539 868 896oncore64bitsclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
175951440 0 075483 868 896oncore64bitsclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
17699617 0 070803 796 928oncore64bitsgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
1864889 0 085827 868 896usekcpclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
1875389 0 086427 868 896usekcpclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
1881689 0 087771 868 896usekcpclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
18830136 0 084483 804 960usekcpgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
1887189 0 083781 860 896usekcpclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
18930136 0 086068 812 960usekcpgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
18931136 0 084804 812 960usekcpgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
18963136 0 083547 796 928usekcpgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
1909589 0 084139 868 896usekcpclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
20313295 0 012592 868 928opensslgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
20356295 0 013872 868 928opensslgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
20359219 0 013012 908 896opensslclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
20366219 0 010934 900 896opensslclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
20518219 0 013612 908 896opensslclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
20600266 0 012223 860 928opensslgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
20623219 0 014956 908 896opensslclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
20723217 0 011308 908 896opensslclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
20904244 0 011139 844 928opensslgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
215834936 0 017877 804 960gil/singlefilegcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
220573867 360 01593351 145324 10432cryptoppg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
220914205 360 01593633 145324 10432cryptoppg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
220973248 360 01595541 145364 10336cryptoppclang++_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
221523985 360 01594879 145316 10432cryptoppg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
221553298 360 01591921 145364 10336cryptoppclang++_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
221603043 360 01592159 145356 10400cryptoppg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
221903540 360 01592371 145372 10336cryptoppclang++_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
223723271 360 01593637 145364 10336cryptoppclang++_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
2301823211 0 037424 860 896gil/singlefile_unrolledclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
2302723211 0 035480 860 896gil/singlefile_unrolledclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
2354825019 0 037989 804 960gil/singlefile_unrolledgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
235592730 0 016960 860 896gil/singlefileclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
2356722171 0 035048 860 896gil/singlefile_unrolledclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
235692730 0 015016 860 896gil/singlefileclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
236432495 0 015384 860 896gil/singlefileclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
2579722408 0 032634 852 896gil/singlefile_unrolledclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
260262378 0 014069 804 960gil/singlefilegcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
2614323413 0 034748 796 960gil/singlefile_unrolledgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
2621122276 0 032536 780 928gil/singlefile_unrolledgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
264182122 0 012704 860 896gil/singlefileclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
2644223498 0 035189 804 960gil/singlefile_unrolledgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
266882019 0 012250 852 896gil/singlefileclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
271472354 0 013692 796 960gil/singlefilegcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
273332062 0 012344 780 928gil/singlefilegcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
424663294 0 029171 868 896oncore32bitsclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
427904137 0 030267 820 960oncore32bitsgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
430843048 0 030291 868 896oncore32bitsclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
431502264 0 027563 868 896oncore32bitsclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
464941273 0 024923 868 896oncore32bitsclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
464942079 0 025422 796 928oncore32bitsgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
465231841 0 026715 820 960oncore32bitsgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
465521292 0 024613 860 896oncore32bitsclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212
467911855 0 026283 804 960oncore32bitsgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
7705140974 0 051536 860 896gil/singlefile_unrolledclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121320231212

Compiler output

Implementation: kcp/optimized1600ARMv7A
Security model: constbranchindex
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: 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: constbranchindex
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:21: Error: unknown pseudo-op: `.syntax'
keccak.s: keccak.s:22: Error: unknown pseudo-op: `.fpu'
keccak.s: keccak.s:23: Error: unknown pseudo-op: `.arm'
keccak.s: keccak.s:26: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:27: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:29: Error: junk at end of line, first unrecognized character is `@'
keccak.s: keccak.s:56: 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: constbranchindex
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: 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: constbranchindex
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: too many memory references for `str'
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: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:643:5: error: always_inline function '_mm256_xor_si256' requires target feature 'avx2', but would be inlined into function 'crypto_hash_shake256_kcp_optimized1600AVX2_constbranchindex_KeccakP1600_Permute_Nrounds' that is compiled without support for 'avx2'
KeccakP-1600-AVX2.c: KECCAK_PERMUTE_LOOP(, nrounds)
KeccakP-1600-AVX2.c: ^
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:162:14: note: expanded from macro 'KECCAK_PERMUTE_LOOP'
KeccakP-1600-AVX2.c: r0 = XOR(a0, a1); \
KeccakP-1600-AVX2.c: ^
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:54:41: note: expanded from macro 'XOR'
KeccakP-1600-AVX2.c: #define XOR(a, b) _mm256_xor_si256(a, b)
KeccakP-1600-AVX2.c: ^
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:643:5: error: always_inline function '_mm256_xor_si256' requires target feature 'avx2', but would be inlined into function 'crypto_hash_shake256_kcp_optimized1600AVX2_constbranchindex_KeccakP1600_Permute_Nrounds' that is compiled without support for 'avx2'
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:163:14: note: expanded from macro 'KECCAK_PERMUTE_LOOP'
KeccakP-1600-AVX2.c: r0 = XOR(r0, a2); \
KeccakP-1600-AVX2.c: ^
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:54:41: note: expanded from macro 'XOR'
KeccakP-1600-AVX2.c: #define XOR(a, b) _mm256_xor_si256(a, b)
KeccakP-1600-AVX2.c: ^
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:643:5: error: always_inline function '_mm256_xor_si256' requires target feature 'avx2', but would be inlined into function 'crypto_hash_shake256_kcp_optimized1600AVX2_constbranchindex_KeccakP1600_Permute_Nrounds' that is compiled without support for 'avx2'
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:164:14: note: expanded from macro 'KECCAK_PERMUTE_LOOP'
KeccakP-1600-AVX2.c: r0 = XOR(r0, a3); \
KeccakP-1600-AVX2.c: ^
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:54:41: note: expanded from macro 'XOR'
KeccakP-1600-AVX2.c: #define XOR(a, b) _mm256_xor_si256(a, b)
KeccakP-1600-AVX2.c: ^
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:643:5: error: always_inline function '_mm256_xor_si256' requires target feature 'avx2', but would be inlined into function 'crypto_hash_shake256_kcp_optimized1600AVX2_constbranchindex_KeccakP1600_Permute_Nrounds' that is compiled without support for 'avx2'
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:165:14: note: expanded from macro 'KECCAK_PERMUTE_LOOP'
KeccakP-1600-AVX2.c: ...

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: constbranchindex
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:506:13: error: always_inline function '_mm256_loadu_si256' requires target feature 'avx', but would be inlined into function 'crypto_hash_shake256_kcp_optimized1600AVX2_constbranchindex_KeccakP1600_AddBytes' that is compiled without support for 'avx'
KeccakP-1600-AVX2.c: s->a0 = LOAD(t + 0*5);
KeccakP-1600-AVX2.c: ^
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:62:41: note: expanded from macro 'LOAD'
KeccakP-1600-AVX2.c: #define LOAD(p) _mm256_loadu_si256((const __m256i *)(p))
KeccakP-1600-AVX2.c: ^
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:506:13: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:62:41: note: expanded from macro 'LOAD'
KeccakP-1600-AVX2.c: #define LOAD(p) _mm256_loadu_si256((const __m256i *)(p))
KeccakP-1600-AVX2.c: ^
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:507:13: error: always_inline function '_mm256_loadu_si256' requires target feature 'avx', but would be inlined into function 'crypto_hash_shake256_kcp_optimized1600AVX2_constbranchindex_KeccakP1600_AddBytes' that is compiled without support for 'avx'
KeccakP-1600-AVX2.c: s->a1 = LOAD(t + 1*5);
KeccakP-1600-AVX2.c: ^
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:62:41: note: expanded from macro 'LOAD'
KeccakP-1600-AVX2.c: #define LOAD(p) _mm256_loadu_si256((const __m256i *)(p))
KeccakP-1600-AVX2.c: ^
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:507:13: error: AVX vector return of type '__m256i' (vector of 4 'long long' values) without 'avx' enabled changes the ABI
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:62:41: note: expanded from macro 'LOAD'
KeccakP-1600-AVX2.c: #define LOAD(p) _mm256_loadu_si256((const __m256i *)(p))
KeccakP-1600-AVX2.c: ^
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:508:13: error: always_inline function '_mm256_loadu_si256' requires target feature 'avx', but would be inlined into function 'crypto_hash_shake256_kcp_optimized1600AVX2_constbranchindex_KeccakP1600_AddBytes' that is compiled without support for 'avx'
KeccakP-1600-AVX2.c: s->a2 = LOAD(t + 2*5);
KeccakP-1600-AVX2.c: ^
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:62:41: note: expanded from macro 'LOAD'
KeccakP-1600-AVX2.c: #define LOAD(p) _mm256_loadu_si256((const __m256i *)(p))
KeccakP-1600-AVX2.c: ...

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

Compiler output

Implementation: kcp/optimized1600AVX2
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakP-1600-AVX2.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:47,
KeccakP-1600-AVX2.c: from /usr/lib/gcc/x86_64-linux-gnu/11/include/x86intrin.h:32,
KeccakP-1600-AVX2.c: from KeccakP-1600-AVX2.c:20:
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c: In function 'crypto_hash_shake256_kcp_optimized1600AVX2_constbranchindex_KeccakP1600_Permute_Nrounds':
KeccakP-1600-AVX2.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/avx2intrin.h:1084:1: error: inlining failed in call to 'always_inline' '_mm256_permute2x128_si256': target specific option mismatch
KeccakP-1600-AVX2.c: 1084 | _mm256_permute2x128_si256 (__m256i __X, __m256i __Y, const int __M)
KeccakP-1600-AVX2.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:269:14: note: called from here
KeccakP-1600-AVX2.c: 269 | a4 = _mm256_permute2x128_si256(r0, r1, 0x20); \
KeccakP-1600-AVX2.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:643:5: note: in expansion of macro 'KECCAK_PERMUTE_LOOP'
KeccakP-1600-AVX2.c: 643 | KECCAK_PERMUTE_LOOP(, nrounds)
KeccakP-1600-AVX2.c: | ^~~~~~~~~~~~~~~~~~~
KeccakP-1600-AVX2.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:47,
KeccakP-1600-AVX2.c: from /usr/lib/gcc/x86_64-linux-gnu/11/include/x86intrin.h:32,
KeccakP-1600-AVX2.c: from KeccakP-1600-AVX2.c:20:
KeccakP-1600-AVX2.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/avx2intrin.h:906:1: error: inlining failed in call to 'always_inline' '_mm256_unpacklo_epi64': target specific option mismatch
KeccakP-1600-AVX2.c: 906 | _mm256_unpacklo_epi64 (__m256i __A, __m256i __B)
KeccakP-1600-AVX2.c: | ^~~~~~~~~~~~~~~~~~~~~
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:268:14: note: called from here
KeccakP-1600-AVX2.c: 268 | r1 = _mm256_unpacklo_epi64(a24, a34); \
KeccakP-1600-AVX2.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:643:5: note: in expansion of macro 'KECCAK_PERMUTE_LOOP'
KeccakP-1600-AVX2.c: 643 | KECCAK_PERMUTE_LOOP(, nrounds)
KeccakP-1600-AVX2.c: | ^~~~~~~~~~~~~~~~~~~
KeccakP-1600-AVX2.c: ...

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

Compiler output

Implementation: kcp/optimized1600AVX512
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KeccakP-1600-AVX512.c: KeccakP-1600-AVX512.c:238:41: error: always_inline function '_mm512_maskz_loadu_epi64' requires target feature 'avx512f', but would be inlined into function 'KeccakP1600_AddBytes' that is compiled without support for 'avx512f'
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:215:37: note: expanded from macro 'LOAD_8Lanes'
KeccakP-1600-AVX512.c: #define LOAD_8Lanes(a) LOAD_Lanes(0xFF,a)
KeccakP-1600-AVX512.c: ^
KeccakP-1600-AVX512.c: KeccakP-1600-AVX512.c:212:37: note: expanded from macro 'LOAD_Lanes'
KeccakP-1600-AVX512.c: #define LOAD_Lanes(m,a) _mm512_maskz_loadu_epi64(m,a)
KeccakP-1600-AVX512.c: ^
KeccakP-1600-AVX512.c: KeccakP-1600-AVX512.c:238:41: error: AVX vector return of type '__m512i' (vector of 8 'long long' values) without 'avx512f' enabled changes the ABI
KeccakP-1600-AVX512.c: KeccakP-1600-AVX512.c:215:37: note: expanded from macro 'LOAD_8Lanes'
KeccakP-1600-AVX512.c: #define LOAD_8Lanes(a) LOAD_Lanes(0xFF,a)
KeccakP-1600-AVX512.c: ^
KeccakP-1600-AVX512.c: KeccakP-1600-AVX512.c:212:37: note: expanded from macro 'LOAD_Lanes'
KeccakP-1600-AVX512.c: #define LOAD_Lanes(m,a) _mm512_maskz_loadu_epi64(m,a)
KeccakP-1600-AVX512.c: ^
KeccakP-1600-AVX512.c: KeccakP-1600-AVX512.c:238:68: error: always_inline function '_mm512_maskz_loadu_epi64' requires target feature 'avx512f', but would be inlined into function 'KeccakP1600_AddBytes' that is compiled without support for 'avx512f'
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:215:37: note: expanded from macro 'LOAD_8Lanes'
KeccakP-1600-AVX512.c: #define LOAD_8Lanes(a) LOAD_Lanes(0xFF,a)
KeccakP-1600-AVX512.c: ^
KeccakP-1600-AVX512.c: KeccakP-1600-AVX512.c:212:37: note: expanded from macro 'LOAD_Lanes'
KeccakP-1600-AVX512.c: #define LOAD_Lanes(m,a) _mm512_maskz_loadu_epi64(m,a)
KeccakP-1600-AVX512.c: ^
KeccakP-1600-AVX512.c: ...

Number of similar (compiler,implementation) pairs: 5, 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
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE kcp/optimized1600AVX512

Compiler output

Implementation: kcp/optimized1600AVX512
Security model: constbranchindex
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: 216 | #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: 219 | #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: 238 | STORE_8Lanes( stateAsLanes, XOR(LOAD_8Lanes(stateAsLanes), LOAD_8Lanes((const UINT64*)data)));
KeccakP-1600-AVX512.c: | ^~~~~~~~~~~~
KeccakP-1600-AVX512.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:49,
KeccakP-1600-AVX512.c: from KeccakP-1600-AVX512.c:26:
KeccakP-1600-AVX512.c: /usr/lib/gcc/x86_64-linux-gnu/11/include/avx512fintrin.h:6440:1: error: inlining failed in call to 'always_inline' '_mm512_mask_storeu_epi64': target specific option mismatch
KeccakP-1600-AVX512.c: 6440 | _mm512_mask_storeu_epi64 (void *__P, __mmask8 __U, __m512i __A)
KeccakP-1600-AVX512.c: | ^~~~~~~~~~~~~~~~~~~~~~~~
KeccakP-1600-AVX512.c: KeccakP-1600-AVX512.c:216:37: note: called from here
KeccakP-1600-AVX512.c: 216 | #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: 219 | #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: 238 | STORE_8Lanes( stateAsLanes, XOR(LOAD_8Lanes(stateAsLanes), LOAD_8Lanes((const UINT64*)data)));
KeccakP-1600-AVX512.c: | ^~~~~~~~~~~~
KeccakP-1600-AVX512.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/11/include/immintrin.h:49,
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