Implementation notes: amd64, h3neo, crypto_core/keccakf160064bits

Computer: h3neo
Microarchitecture: amd64; K10 45nm (100f63)
Architecture: amd64
CPU ID: AuthenticAMD-00100f63-078bfbff
SUPERCOP version: 20240107
Operation: crypto_core
Primitive: keccakf160064bits
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
177856216 0 068835 844 928optimized1600lcufullclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
178056232 0 069787 844 928optimized1600lcufullclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
178654751 0 066419 844 928optimized1600lcufullclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
179553727 0 064773 836 928optimized1600lcufullclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
181353917 0 065391 788 960optimized1600lcufullgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
185523141 0 034639 788 960optimized1600lcu6gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
189161194 0 075187 844 928optimized1600lcufullclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
190125028 0 038452 812 992optimized1600lcu6gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
192056300 0 067791 788 960optimized1600ufullgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
192658185 0 071604 812 992optimized1600lcufullgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
193128979 0 042963 844 928optimized1600lcu6clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
193561120 0 075812 812 992optimized1600lcufullgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
196527864 0 042564 812 992optimized1600lcu6gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
197257455 0 068493 836 928optimized1600ufullclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
197358940 0 071579 844 928optimized1600ufullclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
197657964 0 069619 844 928optimized1600ufullclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
198158956 0 072499 844 928optimized1600ufullclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
199324401 0 035437 836 928optimized1600u6clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
199725772 0 039315 844 928optimized1600u6clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
200124780 0 036435 844 928optimized1600u6clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
201025756 0 038395 844 928optimized1600u6clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
201356973 0 069619 804 992optimized1600lcufullgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
201925700 0 038307 844 928optimized1600lcu6clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
202324235 0 035891 844 928optimized1600lcu6clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
202324132 0 035599 788 960optimized1600u6gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
202525716 0 039259 844 928optimized1600lcu6clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
202523653 0 034693 836 928optimized1600lcu6clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
203124358 0 037011 804 992optimized1600lcu6gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
203163240 0 077940 812 992optimized1600ufullgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
203360499 0 073916 812 992optimized1600ufullgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
206125802 0 039196 812 992optimized1600u6gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
210563988 0 078011 844 928optimized1600ufullclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
212728141 0 042163 844 928optimized1600u6clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
213659979 0 072700 812 992optimized1600ufullgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
219228742 0 043444 812 992optimized1600u6gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
225725565 0 038300 812 992optimized1600u6gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
25335692 0 019830 860 928reference1600clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
25525362 0 018126 860 928reference1600clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
25655346 0 019014 860 928reference1600clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
29344716 0 018283 844 928compact1600clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
30136397 0 020419 844 928compact1600clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
312255972 0 067439 788 960optimized1600lcufullshldgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
317659318 0 072724 812 992optimized1600lcufullshldgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
317862275 0 076964 812 992optimized1600lcufullshldgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
325856603 0 068259 844 928optimized1600lcufullshldclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
326158116 0 070739 844 928optimized1600lcufullshldclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
326258132 0 071691 844 928optimized1600lcufullshldclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
327263073 0 077091 844 928optimized1600lcufullshldclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
332456320 0 067381 836 928optimized1600lcufullshldclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
341859112 0 071763 804 992optimized1600lcufullshldgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
38325512 0 020264 820 992reference1600gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
67144524 0 017171 844 928compact1600clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
794310885 0 025493 804 992compact1600gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
118812508 0 014171 844 928compact1600clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
120022095 0 013149 836 928compact1600clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
136903373 0 016677 804 992compact1600gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
137342730 0 015357 804 992compact1600gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
142232253 0 013640 780 960compact1600gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
228703938 0 015734 860 928reference1600clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
231943944 0 017360 820 992reference1600gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
374473783 0 014957 852 928reference1600clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2023121620231212
445063873 0 016527 812 992reference1600gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212
562673009 0 014512 796 960reference1600gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121620231212

Compiler output

Implementation: optimized1600AsmX86-64
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_core_keccakf160064bits.a(KeccakP-1600-x86-64-gas.o): relocation R_X86_64_32S against `.text' can not be used when making a PIE object; recompile with -fPIE
try.c: /usr/bin/ld: failed to set dynamic section sizes: bad value
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

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

Compiler output

Implementation: optimized1600AsmX86-64
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_core_keccakf160064bits.a(KeccakP-1600-x86-64-gas.o): relocation R_X86_64_32S against `.text' can not be used when making a PIE object; recompile with -fPIE
try.c: /usr/bin/ld: failed to set dynamic section sizes: bad value
try.c: collect2: error: ld returned 1 exit status

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

Compiler output

Implementation: optimized1600AsmX86-64Apple
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_core_keccakf160064bits.a(core.o): in function `crypto_core_keccakf160064bits_optimized1600AsmX86_64Apple_constbranchindex':
try.c: core.c:(.text+0x...): undefined reference to `crypto_core_keccakf160064bits_optimized1600AsmX86_64Apple_constbranchindex_KeccakP1600_Permute_24rounds'
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

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

Compiler output

Implementation: optimized1600AsmX86-64Apple
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_core_keccakf160064bits.a(core.o): in function `crypto_core_keccakf160064bits_optimized1600AsmX86_64Apple_constbranchindex':
try.c: core.c:(.text+0x...): undefined reference to `crypto_core_keccakf160064bits_optimized1600AsmX86_64Apple_constbranchindex_KeccakP1600_Permute_24rounds'
try.c: collect2: error: ld returned 1 exit status

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

Compiler output

Implementation: optimized1600AsmX86-64shld
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_core_keccakf160064bits.a(keccakp.o): relocation R_X86_64_32S against `.text' can not be used when making a PIE object; recompile with -fPIE
try.c: /usr/bin/ld: failed to set dynamic section sizes: bad value
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

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

Compiler output

Implementation: optimized1600AsmX86-64shld
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_core_keccakf160064bits.a(keccakp.o): relocation R_X86_64_32S against `.text' can not be used when making a PIE object; recompile with -fPIE
try.c: /usr/bin/ld: failed to set dynamic section sizes: bad value
try.c: collect2: error: ld returned 1 exit status

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

Compiler output

Implementation: optimized1600XOPu6
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KeccakP-1600-XOP.c: KeccakP-1600-XOP.c:23:10: fatal error: 'align.h' file not found
KeccakP-1600-XOP.c: #include "align.h"
KeccakP-1600-XOP.c: ^~~~~~~~~
KeccakP-1600-XOP.c: 1 error generated.

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

Compiler output

Implementation: optimized1600XOPu6
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
KeccakP-1600-XOP.c: KeccakP-1600-XOP.c:23:10: fatal error: align.h: No such file or directory
KeccakP-1600-XOP.c: 23 | #include "align.h"
KeccakP-1600-XOP.c: | ^~~~~~~~~
KeccakP-1600-XOP.c: compilation terminated.

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