Implementation notes: amd64, lucienne, crypto_hash/shake128

Computer: lucienne
Microarchitecture: amd64; Zen 2 (860f81)
Architecture: amd64
CPU ID: AuthenticAMD-00860f81-178bfbff
SUPERCOP version: 20240625
Operation: crypto_hash
Primitive: shake128
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
10592879 0 038608 812 920oncore64bitsclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
10604626 0 035918 804 888oncore64bitsclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
10652704 0 036728 780 952oncore64bitsgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
106611092 0 038968 812 888oncore64bitsclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
10695554 0 035408 772 920oncore64bitsgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
106962709 0 040448 780 952oncore64bitsgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
10713879 0 038496 812 920oncore64bitsclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
10729861 0 036406 804 888oncore64bitsclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
10751670 0 036376 780 952oncore64bitsgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
111353717 360 01701060 144916 10360cryptoppg++_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
111433962 360 01699446 144924 10360cryptoppg++_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
111563261 360 01406044 144948 10296cryptoppclang++_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
111603238 360 01406116 144948 10296cryptoppclang++_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
111812500 360 01697544 144948 10328cryptoppg++_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
111823351 360 01698658 144924 10360cryptoppg++_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
112193694 360 01404591 144948 10264cryptoppclang++_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
113025852 536 01410820 145300 10264cryptoppclang++_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
12154219 0 013466 860 920opensslclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
12176217 0 011264 852 888opensslclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
12180219 0 011016 852 888opensslclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
12184255 0 013515 844 920opensslgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
12189219 0 013338 860 920opensslclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
12199219 0 013618 860 888opensslclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
12217255 0 011787 844 920opensslgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
12222230 0 011378 836 920opensslgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
12547208 0 010382 820 920opensslgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
250724897 0 029776 780 952oncore32bitsgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
252343638 0 028568 812 888oncore32bitsclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
258712649 0 027512 812 920oncore32bitsclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
259522649 0 027368 812 920oncore32bitsclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
282391309 0 023758 804 888oncore32bitsclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
285571731 0 024936 780 952oncore32bitsgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
287411910 0 024638 804 888oncore32bitsclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
290771787 0 024672 780 952oncore32bitsgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
296561954 0 023936 772 920oncore32bitsgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625

Compiler output


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 (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
kcp/optimized1600ARMv7Aclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
kcp/optimized1600ARMv7Aclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
kcp/optimized1600ARMv7Aclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
kcp/optimized1600ARMv7Aclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
kcp/optimized1600ARMv7Aclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


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 (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
kcp/optimized1600ARMv7Agcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
kcp/optimized1600ARMv7Agcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
kcp/optimized1600ARMv7Agcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
kcp/optimized1600ARMv7Agcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

Compiler output


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 (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
kcp/optimized1600ARMv8Aclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
kcp/optimized1600ARMv8Aclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
kcp/optimized1600ARMv8Aclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
kcp/optimized1600ARMv8Aclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
kcp/optimized1600ARMv8Aclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


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 (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
kcp/optimized1600ARMv8Agcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
kcp/optimized1600ARMv8Agcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
kcp/optimized1600ARMv8Agcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
kcp/optimized1600ARMv8Agcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

Compiler output


KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:28:17: warning: unknown pragma ignored [-Wunknown-pragmas]
KeccakP-1600-AVX2.c:     #pragma GCC optimize("2")
KeccakP-1600-AVX2.c:                 ^
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:637:5: warning: unused variable 'SLLV_A0' [-Wunused-variable]
KeccakP-1600-AVX2.c:     KECCAK_CONSTANTS
KeccakP-1600-AVX2.c:     ^
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:94:32: note: expanded from macro 'KECCAK_CONSTANTS'
KeccakP-1600-AVX2.c: ROLV_CONST(C4, 27, 20, 39,  8) \
KeccakP-1600-AVX2.c:                                ^
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:85:17: note: expanded from macro '\
KeccakP-1600-AVX2.c: _ROLV_CONST'
KeccakP-1600-AVX2.c:     _ROLV_TYPE  SLLV##name = SET(i0, i1, i2, i3); \
KeccakP-1600-AVX2.c:                 ^
KeccakP-1600-AVX2.c: <scratch space>:22:1: note: expanded from here
KeccakP-1600-AVX2.c: SLLV_A0
KeccakP-1600-AVX2.c: ^
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:637:5: warning: unused variable 'SRLV_A3' [-Wunused-variable]
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:97:34: note: expanded from macro 'KECCAK_CONSTANTS'
KeccakP-1600-AVX2.c: _ROLV_CONST(_A2,  3, 10, 43, 25) \
KeccakP-1600-AVX2.c:                                  ^
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:86:17: note: expanded from macro '\
KeccakP-1600-AVX2.c: _ROLV_CONST'
KeccakP-1600-AVX2.c:     _ROLV_TYPE  SRLV##name = SET(64 - i0, 64 - i1, 64 - i2, 64 - i3);
KeccakP-1600-AVX2.c:                 ^
KeccakP-1600-AVX2.c: <scratch space>:29:1: note: expanded from here
KeccakP-1600-AVX2.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
kcp/optimized1600AVX2clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:28:17: warning: unknown pragma ignored [-Wunknown-pragmas]
KeccakP-1600-AVX2.c:     #pragma GCC optimize("2")
KeccakP-1600-AVX2.c:                 ^
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:637:5: warning: unused variable 'SLLV_A2' [-Wunused-variable]
KeccakP-1600-AVX2.c:     KECCAK_CONSTANTS
KeccakP-1600-AVX2.c:     ^
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:96:34: note: expanded from macro 'KECCAK_CONSTANTS'
KeccakP-1600-AVX2.c: _ROLV_CONST(_A1, 36, 44,  6, 55) \
KeccakP-1600-AVX2.c:                                  ^
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:85:17: note: expanded from macro '\
KeccakP-1600-AVX2.c: _ROLV_CONST'
KeccakP-1600-AVX2.c:     _ROLV_TYPE  SLLV##name = SET(i0, i1, i2, i3); \
KeccakP-1600-AVX2.c:                 ^
KeccakP-1600-AVX2.c: <scratch space>:26:1: note: expanded from here
KeccakP-1600-AVX2.c: SLLV_A2
KeccakP-1600-AVX2.c: ^
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:637:5: warning: unused variable 'SRLV_A0' [-Wunused-variable]
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:94:32: note: expanded from macro 'KECCAK_CONSTANTS'
KeccakP-1600-AVX2.c: ROLV_CONST(C4, 27, 20, 39,  8) \
KeccakP-1600-AVX2.c:                                ^
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:86:17: note: expanded from macro '\
KeccakP-1600-AVX2.c: _ROLV_CONST'
KeccakP-1600-AVX2.c:     _ROLV_TYPE  SRLV##name = SET(64 - i0, 64 - i1, 64 - i2, 64 - i3);
KeccakP-1600-AVX2.c:                 ^
KeccakP-1600-AVX2.c: <scratch space>:23:1: note: expanded from here
KeccakP-1600-AVX2.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
kcp/optimized1600AVX2clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:28:17: warning: unknown pragma ignored [-Wunknown-pragmas]
KeccakP-1600-AVX2.c:     #pragma GCC optimize("2")
KeccakP-1600-AVX2.c:                 ^
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:637:5: warning: unused variable 'SLLV_A1' [-Wunused-variable]
KeccakP-1600-AVX2.c:     KECCAK_CONSTANTS
KeccakP-1600-AVX2.c:     ^
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:95:34: note: expanded from macro 'KECCAK_CONSTANTS'
KeccakP-1600-AVX2.c: _ROLV_CONST(_A0,  0,  1, 62, 28) \
KeccakP-1600-AVX2.c:                                  ^
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:85:17: note: expanded from macro '\
KeccakP-1600-AVX2.c: _ROLV_CONST'
KeccakP-1600-AVX2.c:     _ROLV_TYPE  SLLV##name = SET(i0, i1, i2, i3); \
KeccakP-1600-AVX2.c:                 ^
KeccakP-1600-AVX2.c: <scratch space>:24:1: note: expanded from here
KeccakP-1600-AVX2.c: SLLV_A1
KeccakP-1600-AVX2.c: ^
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:637:5: warning: unused variable 'SRLV_A4' [-Wunused-variable]
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:98:34: note: expanded from macro 'KECCAK_CONSTANTS'
KeccakP-1600-AVX2.c: _ROLV_CONST(_A3, 41, 45, 15, 21) \
KeccakP-1600-AVX2.c:                                  ^
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:86:17: note: expanded from macro '\
KeccakP-1600-AVX2.c: _ROLV_CONST'
KeccakP-1600-AVX2.c:     _ROLV_TYPE  SRLV##name = SET(64 - i0, 64 - i1, 64 - i2, 64 - i3);
KeccakP-1600-AVX2.c:                 ^
KeccakP-1600-AVX2.c: <scratch space>:31:1: note: expanded from here
KeccakP-1600-AVX2.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
kcp/optimized1600AVX2clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:28:17: warning: unknown pragma ignored [-Wunknown-pragmas]
KeccakP-1600-AVX2.c:     #pragma GCC optimize("2")
KeccakP-1600-AVX2.c:                 ^
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:637:5: warning: unused variable 'SLLV_A4' [-Wunused-variable]
KeccakP-1600-AVX2.c:     KECCAK_CONSTANTS
KeccakP-1600-AVX2.c:     ^
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:98:34: note: expanded from macro 'KECCAK_CONSTANTS'
KeccakP-1600-AVX2.c: _ROLV_CONST(_A3, 41, 45, 15, 21) \
KeccakP-1600-AVX2.c:                                  ^
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:85:17: note: expanded from macro '\
KeccakP-1600-AVX2.c: _ROLV_CONST'
KeccakP-1600-AVX2.c:     _ROLV_TYPE  SLLV##name = SET(i0, i1, i2, i3); \
KeccakP-1600-AVX2.c:                 ^
KeccakP-1600-AVX2.c: <scratch space>:30:1: note: expanded from here
KeccakP-1600-AVX2.c: SLLV_A4
KeccakP-1600-AVX2.c: ^
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:637:5: warning: unused variable 'SRLV_A0' [-Wunused-variable]
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:94:32: note: expanded from macro 'KECCAK_CONSTANTS'
KeccakP-1600-AVX2.c: ROLV_CONST(C4, 27, 20, 39,  8) \
KeccakP-1600-AVX2.c:                                ^
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:86:17: note: expanded from macro '\
KeccakP-1600-AVX2.c: _ROLV_CONST'
KeccakP-1600-AVX2.c:     _ROLV_TYPE  SRLV##name = SET(64 - i0, 64 - i1, 64 - i2, 64 - i3);
KeccakP-1600-AVX2.c:                 ^
KeccakP-1600-AVX2.c: <scratch space>:23:1: note: expanded from here
KeccakP-1600-AVX2.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
kcp/optimized1600AVX2clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:28:17: warning: unknown pragma ignored [-Wunknown-pragmas]
KeccakP-1600-AVX2.c:     #pragma GCC optimize("2")
KeccakP-1600-AVX2.c:                 ^
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_shake128_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_shake128_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_shake128_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: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
kcp/optimized1600AVX2clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c: In function 'crypto_hash_shake128_kcp_optimized1600AVX2_constbranchindex_KeccakP1600_Permute_Nrounds':
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:86:17: warning: unused variable 'SRLV_C4' [-Wunused-variable]
KeccakP-1600-AVX2.c:    86 |     _ROLV_TYPE  SRLV##name = SET(64 - i0, 64 - i1, 64 - i2, 64 - i3);
KeccakP-1600-AVX2.c:       |                 ^~~~
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:100:1: note: in expansion of macro '_ROLV_CONST'
KeccakP-1600-AVX2.c:   100 | _ROLV_CONST(_C4, 27, 20, 39,  8)
KeccakP-1600-AVX2.c:       | ^~~~~~~~~~~
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:637:5: note: in expansion of macro 'KECCAK_CONSTANTS'
KeccakP-1600-AVX2.c:   637 |     KECCAK_CONSTANTS
KeccakP-1600-AVX2.c:       |     ^~~~~~~~~~~~~~~~
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:85:17: warning: unused variable 'SLLV_C4' [-Wunused-variable]
KeccakP-1600-AVX2.c:    85 |     _ROLV_TYPE  SLLV##name = SET(i0, i1, i2, i3); \
KeccakP-1600-AVX2.c:       |                 ^~~~
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:100:1: note: in expansion of macro '_ROLV_CONST'
KeccakP-1600-AVX2.c:   100 | _ROLV_CONST(_C4, 27, 20, 39,  8)
KeccakP-1600-AVX2.c:       | ^~~~~~~~~~~
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:637:5: note: in expansion of macro 'KECCAK_CONSTANTS'
KeccakP-1600-AVX2.c:   637 |     KECCAK_CONSTANTS
KeccakP-1600-AVX2.c:       |     ^~~~~~~~~~~~~~~~
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:86:17: warning: unused variable 'SRLV_A4' [-Wunused-variable]
KeccakP-1600-AVX2.c:    86 |     _ROLV_TYPE  SRLV##name = SET(64 - i0, 64 - i1, 64 - i2, 64 - i3);
KeccakP-1600-AVX2.c:       |                 ^~~~
KeccakP-1600-AVX2.c: KeccakP-1600-AVX2.c:99:1: note: in expansion of macro '_ROLV_CONST'
KeccakP-1600-AVX2.c:    99 | _ROLV_CONST(_A4, 18,  2, 61, 56) \
KeccakP-1600-AVX2.c:       | ^~~~~~~~~~~
KeccakP-1600-AVX2.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
kcp/optimized1600AVX2gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
kcp/optimized1600AVX2gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
kcp/optimized1600AVX2gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
kcp/optimized1600AVX2gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

Compiler output


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 (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
kcp/optimized1600AVX512clang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
kcp/optimized1600AVX512clang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
kcp/optimized1600AVX512clang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
kcp/optimized1600AVX512clang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
kcp/optimized1600AVX512clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


KeccakP-1600-AVX512.c: KeccakP-1600-AVX512.c: In function 'KeccakP1600_Permute_12rounds':
KeccakP-1600-AVX512.c: KeccakP-1600-AVX512.c:523:18: warning: unused variable 'i' [-Wunused-variable]
KeccakP-1600-AVX512.c:   523 |     unsigned int i;
KeccakP-1600-AVX512.c:       |                  ^
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/10/include/immintrin.h:55,
KeccakP-1600-AVX512.c:                  from KeccakP-1600-AVX512.c:26:
KeccakP-1600-AVX512.c: /usr/lib/gcc/x86_64-linux-gnu/10/include/avx512fintrin.h:6388:1: error: inlining failed in call to 'always_inline' '_mm512_mask_storeu_epi64': target specific option mismatch
KeccakP-1600-AVX512.c:  6388 | _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: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
kcp/optimized1600AVX512gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
kcp/optimized1600AVX512gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
kcp/optimized1600AVX512gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
kcp/optimized1600AVX512gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)

Passed TIMECOP


TIMECOP iterations: 10

Number of similar (implementation,compiler) pairs: 35, namely:
ImplementationCompiler
cryptoppclang++ -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
cryptoppclang++ -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
cryptoppclang++ -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
cryptoppclang++ -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
cryptoppg++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
cryptoppg++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
cryptoppg++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
cryptoppg++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
oncore32bitsclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
oncore32bitsclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
oncore32bitsclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
oncore32bitsclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
oncore32bitsclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
oncore32bitsgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
oncore32bitsgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
oncore32bitsgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
oncore32bitsgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
oncore64bitsclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
oncore64bitsclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
oncore64bitsclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
oncore64bitsclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
oncore64bitsclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
oncore64bitsgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
oncore64bitsgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
oncore64bitsgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
oncore64bitsgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
opensslclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
opensslclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
opensslclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
opensslclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
opensslclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
opensslgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
opensslgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
opensslgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
opensslgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)