Implementation notes: amd64, icelake, crypto_hash/blake2s

Computer: icelake
Architecture: amd64
CPU ID: GenuineIntel-000706e5-bfebfbff
SUPERCOP version: 20200826
Operation: crypto_hash
Primitive: blake2s
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
71365928 0 020480 4096 0T:xmmclang_-march=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
71505919 0 020480 4096 0T:xmmclang_-march=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
71505874 0 016384 4096 0T:xmmclang_-march=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
89946653 0 016384 4096 0T:xmmopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
90306724 0 020480 4096 0T:xmmopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
90316724 0 020480 4096 0T:xmmopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
90456658 0 020480 4096 0T:regsclang_-march=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
90556612 0 016384 4096 0T:regsclang_-march=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
90756658 0 020480 4096 0T:regsclang_-march=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
970110947 0 024576 4096 0T:regsopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
970210934 0 024576 4096 0T:regsopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
978610186 0 020480 4096 0T:regsopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
106647924 0 024576 4096 0T:refopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
106727484 0 020480 4096 0T:refopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
120566577 0 016384 4096 0T:refopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
1518810037 0 024576 4096 0T:refclang_-march=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
153279242 0 020480 4096 0T:refclang_-march=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
1615510402 0 024576 4096 0T:refclang_-march=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826

Compiler output

Implementation: T:avxicc
Security model: timingleaks
Compiler: clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
blake2s.S: blake2s.S:1259:2: error: unknown directive
blake2s.S: .type crypto_hash_blake2s_avxicc_timingleaks,@function
blake2s.S: ^
blake2s.S: blake2s.S:1260:2: error: unknown directive
blake2s.S: .size crypto_hash_blake2s_avxicc_timingleaks,.-crypto_hash_blake2s_avxicc_timingleaks
blake2s.S: ^
blake2s.S: blake2s.S:1268:2: error: unknown directive
blake2s.S: .type .L_2il0floatpacket.7,@object
blake2s.S: ^
blake2s.S: blake2s.S:1269:2: error: unknown directive
blake2s.S: .size .L_2il0floatpacket.7,16
blake2s.S: ^
blake2s.S: blake2s.S:1273:2: error: unknown directive
blake2s.S: .type .L_2il0floatpacket.8,@object
blake2s.S: ^
blake2s.S: blake2s.S:1274:2: error: unknown directive
blake2s.S: .size .L_2il0floatpacket.8,16
blake2s.S: ^
blake2s.S: blake2s.S:1278:2: error: unknown directive
blake2s.S: .type .L_2il0floatpacket.9,@object
blake2s.S: ^
blake2s.S: blake2s.S:1279:2: error: unknown directive
blake2s.S: .size .L_2il0floatpacket.9,16
blake2s.S: ^
blake2s.S: blake2s.S:1283:2: error: unknown directive
blake2s.S: ...

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

Compiler output

Implementation: T:moon/avx/64
Security model: timingleaks
Compiler: clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
blake2s.S: <instantiation>:1:1: error: unknown directive
blake2s.S: .size blake2s_blocks_avx, .-blake2s_blocks_avx
blake2s.S: ^
blake2s.S: blake2s.S:291:1: note: while in macro instantiation
blake2s.S: FN_END blake2s_blocks_avx
blake2s.S: ^
blake2s.S: <instantiation>:2:2: error: unknown directive
blake2s.S: .size _blake2s_blocks_avx, .-_blake2s_blocks_avx
blake2s.S: ^
blake2s.S: blake2s.S:291:1: note: while in macro instantiation
blake2s.S: FN_END blake2s_blocks_avx
blake2s.S: ^
blake2s.S: <instantiation>:3:2: error: unknown directive
blake2s.S: .type blake2s_blocks_avx, @function
blake2s.S: ^
blake2s.S: blake2s.S:291:1: note: while in macro instantiation
blake2s.S: FN_END blake2s_blocks_avx
blake2s.S: ^
blake2s.S: <instantiation>:4:3: error: unknown directive
blake2s.S: .type _blake2s_blocks_avx, @function
blake2s.S: ^
blake2s.S: blake2s.S:291:1: note: while in macro instantiation
blake2s.S: FN_END blake2s_blocks_avx
blake2s.S: ^

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

Compiler output

Implementation: T:moon/sse2/64
Security model: timingleaks
Compiler: clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
blake2s.S: <instantiation>:1:1: error: unknown directive
blake2s.S: .size blake2s_blocks_sse2, .-blake2s_blocks_sse2
blake2s.S: ^
blake2s.S: blake2s.S:317:1: note: while in macro instantiation
blake2s.S: FN_END blake2s_blocks_sse2
blake2s.S: ^
blake2s.S: <instantiation>:2:2: error: unknown directive
blake2s.S: .size _blake2s_blocks_sse2, .-_blake2s_blocks_sse2
blake2s.S: ^
blake2s.S: blake2s.S:317:1: note: while in macro instantiation
blake2s.S: FN_END blake2s_blocks_sse2
blake2s.S: ^
blake2s.S: <instantiation>:3:2: error: unknown directive
blake2s.S: .type blake2s_blocks_sse2, @function
blake2s.S: ^
blake2s.S: blake2s.S:317:1: note: while in macro instantiation
blake2s.S: FN_END blake2s_blocks_sse2
blake2s.S: ^
blake2s.S: <instantiation>:4:3: error: unknown directive
blake2s.S: .type _blake2s_blocks_sse2, @function
blake2s.S: ^
blake2s.S: blake2s.S:317:1: note: while in macro instantiation
blake2s.S: FN_END blake2s_blocks_sse2
blake2s.S: ^

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

Compiler output

Implementation: T:moon/ssse3/64
Security model: timingleaks
Compiler: clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
blake2s.S: <instantiation>:1:1: error: unknown directive
blake2s.S: .size blake2s_blocks_ssse3, .-blake2s_blocks_ssse3
blake2s.S: ^
blake2s.S: blake2s.S:303:1: note: while in macro instantiation
blake2s.S: FN_END blake2s_blocks_ssse3
blake2s.S: ^
blake2s.S: <instantiation>:2:2: error: unknown directive
blake2s.S: .size _blake2s_blocks_ssse3, .-_blake2s_blocks_ssse3
blake2s.S: ^
blake2s.S: blake2s.S:303:1: note: while in macro instantiation
blake2s.S: FN_END blake2s_blocks_ssse3
blake2s.S: ^
blake2s.S: <instantiation>:3:2: error: unknown directive
blake2s.S: .type blake2s_blocks_ssse3, @function
blake2s.S: ^
blake2s.S: blake2s.S:303:1: note: while in macro instantiation
blake2s.S: FN_END blake2s_blocks_ssse3
blake2s.S: ^
blake2s.S: <instantiation>:4:3: error: unknown directive
blake2s.S: .type _blake2s_blocks_ssse3, @function
blake2s.S: ^
blake2s.S: blake2s.S:303:1: note: while in macro instantiation
blake2s.S: FN_END blake2s_blocks_ssse3
blake2s.S: ^

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

Compiler output

Implementation: T:moon/xop/64
Security model: timingleaks
Compiler: clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
blake2s.S: <instantiation>:1:1: error: unknown directive
blake2s.S: .size blake2s_blocks_xop, .-blake2s_blocks_xop
blake2s.S: ^
blake2s.S: blake2s.S:252:1: note: while in macro instantiation
blake2s.S: FN_END blake2s_blocks_xop
blake2s.S: ^
blake2s.S: <instantiation>:2:2: error: unknown directive
blake2s.S: .size _blake2s_blocks_xop, .-_blake2s_blocks_xop
blake2s.S: ^
blake2s.S: blake2s.S:252:1: note: while in macro instantiation
blake2s.S: FN_END blake2s_blocks_xop
blake2s.S: ^
blake2s.S: <instantiation>:3:2: error: unknown directive
blake2s.S: .type blake2s_blocks_xop, @function
blake2s.S: ^
blake2s.S: blake2s.S:252:1: note: while in macro instantiation
blake2s.S: FN_END blake2s_blocks_xop
blake2s.S: ^
blake2s.S: <instantiation>:4:3: error: unknown directive
blake2s.S: .type _blake2s_blocks_xop, @function
blake2s.S: ^
blake2s.S: blake2s.S:252:1: note: while in macro instantiation
blake2s.S: FN_END blake2s_blocks_xop
blake2s.S: ^

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

Compiler output

Implementation: T:regs
Security model: timingleaks
Compiler: clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
blake2s.c: blake2s.c:796:11: warning: implicit conversion from 'unsigned long' to 'uint32_t' (aka 'unsigned int') changes value from 18446744073180816980 to 3766232660 [-Wconstant-conversion]
blake2s.c: v14 = ~0x1F83D9ABUL;
blake2s.c: ~ ^~~~~~~~~~~~~
blake2s.c: 1 warning generated.

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

Compiler output

Implementation: T:regs
Security model: timingleaks
Compiler: opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
blake2s.c: blake2s.c: In function 'crypto_hash_blake2s_regs_timingleaks':
blake2s.c: blake2s.c:796:11: warning: conversion from 'long unsigned int' to 'uint32_t' {aka 'unsigned int'} changes value from '18446744073180816980' to '3766232660' [-Woverflow]
blake2s.c: 796 | v14 = ~0x1F83D9ABUL;
blake2s.c: | ^

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 T:regs
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:regs
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:regs