Implementation notes: amd64, icelake, crypto_core/keccakf160064bits

Computer: icelake
Architecture: amd64
CPU ID: GenuineIntel-000706e5-bfebfbff
SUPERCOP version: 20200826
Operation: crypto_core
Primitive: keccakf160064bits
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
104025021 0 040960 4096 0optimized1600u6opt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
105423228 0 036864 4096 0optimized1600u6opt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
108927875 0 045056 4096 0optimized1600u6opt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
117426005 0 040960 4096 0optimized1600lcu6opt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
117625539 0 036864 4096 0optimized1600lcu6clang_-march=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
118324317 0 036864 4096 0optimized1600lcu6opt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
121857250 0 069632 4096 0optimized1600ufullopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
122560866 0 077824 4096 0optimized1600ufullopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
122630358 0 045056 4096 0optimized1600lcu6clang_-march=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
122930278 0 045056 4096 0optimized1600lcu6clang_-march=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
123354287 0 065536 4096 0optimized1600ufullopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
126530036 0 045056 4096 0optimized1600lcu6opt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
131155238 0 069632 4096 0optimized1600lcufullshldopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
131756307 0 069632 4096 0optimized1600lcufullopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
132362580 0 077824 4096 0optimized1600lcufullshldclang_-march=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
132562676 0 077824 4096 0optimized1600lcufullshldclang_-march=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
133059264 0 073728 4096 0optimized1600lcufullopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
133057872 0 069632 4096 0optimized1600lcufullshldclang_-march=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
133263883 0 081920 4096 0optimized1600lcufullopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
133859368 0 073728 4096 0optimized1600lcufullshldopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
134463880 0 081920 4096 0optimized1600lcufullshldopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
135159394 0 069632 4096 0optimized1600lcufullclang_-march=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
136864204 0 077824 4096 0optimized1600lcufullclang_-march=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
136964128 0 073728 4096 0optimized1600ufullclang_-march=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
137664124 0 077824 4096 0optimized1600lcufullclang_-march=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
137867034 0 081920 4096 0optimized1600ufullclang_-march=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
138467034 0 081920 4096 0optimized1600ufullclang_-march=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
149532312 0 045056 4096 0optimized1600u6clang_-march=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
149632312 0 045056 4096 0optimized1600u6clang_-march=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
149929390 0 040960 4096 0optimized1600u6clang_-march=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
19016442 0 020480 4096 0reference1600clang_-march=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
26956594 0 020480 4096 0reference1600clang_-march=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
28327843 0 024576 4096 0compact1600clang_-march=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
28507339 0 020480 4096 0compact1600clang_-march=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
286710223 0 024576 4096 0compact1600opt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
49632435 0 016384 4096 0compact1600opt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
50725027 0 020480 4096 0reference1600opt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
53843533 0 016384 4096 0compact1600opt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
60512433 0 012288 4096 0compact1600clang_-march=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
135124339 0 016384 4096 0reference1600opt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
185043986 0 016384 4096 0reference1600clang_-march=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
189153069 0 016384 4096 0reference1600opt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826

Compiler output

Implementation: optimized1600AsmX86-64
Security model: constbranchindex
Compiler: clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:561:5: error: unknown directive
KeccakP-1600-x86-64-gas.S: .size KeccakP1600_StaticInitialize, .-KeccakP1600_StaticInitialize
KeccakP-1600-x86-64-gas.S: ^
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:564:5: error: unknown directive
KeccakP-1600-x86-64-gas.S: .type KeccakP1600_StaticInitialize, %function
KeccakP-1600-x86-64-gas.S: ^
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:572:5: error: unknown directive
KeccakP-1600-x86-64-gas.S: .size crypto_core_keccakf160064bits_optimized1600AsmX86_64_constbranchindex_KeccakP1600_Initialize, .-crypto_core_keccakf160064bits_optimized1600AsmX86_64_constbranchindex_KeccakP1600_Initialize
KeccakP-1600-x86-64-gas.S: ^
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:575:5: error: unknown directive
KeccakP-1600-x86-64-gas.S: .type crypto_core_keccakf160064bits_optimized1600AsmX86_64_constbranchindex_KeccakP1600_Initialize, %function
KeccakP-1600-x86-64-gas.S: ^
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:634:5: error: unknown directive
KeccakP-1600-x86-64-gas.S: .size KeccakP1600_AddByte, .-KeccakP1600_AddByte
KeccakP-1600-x86-64-gas.S: ^
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:637:5: error: unknown directive
KeccakP-1600-x86-64-gas.S: .type KeccakP1600_AddByte, %function
KeccakP-1600-x86-64-gas.S: ^
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:648:5: error: unknown directive
KeccakP-1600-x86-64-gas.S: .size crypto_core_keccakf160064bits_optimized1600AsmX86_64_constbranchindex_KeccakP1600_AddBytes, .-crypto_core_keccakf160064bits_optimized1600AsmX86_64_constbranchindex_KeccakP1600_AddBytes
KeccakP-1600-x86-64-gas.S: ^
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:651:5: error: unknown directive
KeccakP-1600-x86-64-gas.S: .type crypto_core_keccakf160064bits_optimized1600AsmX86_64_constbranchindex_KeccakP1600_AddBytes, %function
KeccakP-1600-x86-64-gas.S: ^
KeccakP-1600-x86-64-gas.S: KeccakP-1600-x86-64-gas.S:744:5: error: unknown directive
KeccakP-1600-x86-64-gas.S: ...

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE optimized1600AsmX86-64
clang -march=icelake-client -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE optimized1600AsmX86-64
clang -march=icelake-client -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE optimized1600AsmX86-64
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE optimized1600AsmX86-64
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE optimized1600AsmX86-64
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE optimized1600AsmX86-64

Compiler output

Implementation: optimized1600AsmX86-64Apple
Security model: constbranchindex
Compiler: clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: Undefined symbols for architecture x86_64:
try.c: "_crypto_core_keccakf160064bits_optimized1600AsmX86_64Apple_constbranchindex_KeccakP1600_Permute_24rounds", referenced from:
try.c: _crypto_core_keccakf160064bits_optimized1600AsmX86_64Apple_constbranchindex in crypto_core_keccakf160064bits.a(core.o)
try.c: ld: symbol(s) not found for architecture x86_64
try.c: clang: error: linker command failed with exit code 1 (use -v to see invocation)

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

Compiler output

Implementation: optimized1600AsmX86-64Apple
Security model: constbranchindex
Compiler: opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: Undefined symbols for architecture x86_64:
try.c: "_crypto_core_keccakf160064bits_optimized1600AsmX86_64Apple_constbranchindex_KeccakP1600_Permute_24rounds", referenced from:
try.c: _crypto_core_keccakf160064bits_optimized1600AsmX86_64Apple_constbranchindex in crypto_core_keccakf160064bits.a(core.o)
try.c: ld: symbol(s) not found for architecture x86_64
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE optimized1600AsmX86-64Apple
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE optimized1600AsmX86-64Apple
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE optimized1600AsmX86-64Apple

Compiler output

Implementation: optimized1600AsmX86-64shld
Security model: constbranchindex
Compiler: clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
keccakp.S: keccakp.S:561:5: error: unknown directive
keccakp.S: .size KeccakP1600_StaticInitialize, .-KeccakP1600_StaticInitialize
keccakp.S: ^
keccakp.S: keccakp.S:564:5: error: unknown directive
keccakp.S: .type KeccakP1600_StaticInitialize, %function
keccakp.S: ^
keccakp.S: keccakp.S:572:5: error: unknown directive
keccakp.S: .size crypto_core_keccakf160064bits_optimized1600AsmX86_64shld_constbranchindex_KeccakP1600_Initialize, .-crypto_core_keccakf160064bits_optimized1600AsmX86_64shld_constbranchindex_KeccakP1600_Initialize
keccakp.S: ^
keccakp.S: keccakp.S:575:5: error: unknown directive
keccakp.S: .type crypto_core_keccakf160064bits_optimized1600AsmX86_64shld_constbranchindex_KeccakP1600_Initialize, %function
keccakp.S: ^
keccakp.S: keccakp.S:634:5: error: unknown directive
keccakp.S: .size KeccakP1600_AddByte, .-KeccakP1600_AddByte
keccakp.S: ^
keccakp.S: keccakp.S:637:5: error: unknown directive
keccakp.S: .type KeccakP1600_AddByte, %function
keccakp.S: ^
keccakp.S: keccakp.S:648:5: error: unknown directive
keccakp.S: .size crypto_core_keccakf160064bits_optimized1600AsmX86_64shld_constbranchindex_KeccakP1600_AddBytes, .-crypto_core_keccakf160064bits_optimized1600AsmX86_64shld_constbranchindex_KeccakP1600_AddBytes
keccakp.S: ^
keccakp.S: keccakp.S:651:5: error: unknown directive
keccakp.S: .type crypto_core_keccakf160064bits_optimized1600AsmX86_64shld_constbranchindex_KeccakP1600_AddBytes, %function
keccakp.S: ^
keccakp.S: keccakp.S:744:5: error: unknown directive
keccakp.S: ...

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE optimized1600AsmX86-64shld
clang -march=icelake-client -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE optimized1600AsmX86-64shld
clang -march=icelake-client -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE optimized1600AsmX86-64shld
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE optimized1600AsmX86-64shld
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE optimized1600AsmX86-64shld
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE optimized1600AsmX86-64shld

Compiler output

Implementation: optimized1600XOPu6
Security model: constbranchindex
Compiler: clang -march=icelake-client -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: 6, namely:
CompilerImplementations
clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE optimized1600XOPu6
clang -march=icelake-client -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE optimized1600XOPu6
clang -march=icelake-client -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE optimized1600XOPu6
clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE optimized1600XOPufull
clang -march=icelake-client -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE optimized1600XOPufull
clang -march=icelake-client -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE optimized1600XOPufull

Compiler output

Implementation: optimized1600XOPu6
Security model: constbranchindex
Compiler: opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -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: 6, namely:
CompilerImplementations
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE optimized1600XOPu6
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE optimized1600XOPu6
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE optimized1600XOPu6
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE optimized1600XOPufull
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE optimized1600XOPufull
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE optimized1600XOPufull