Implementation notes: amd64, hydra7, crypto_hash/blake2b

Computer: hydra7
Microarchitecture: amd64; Sandy Bridge+AES (206a7)
Architecture: amd64
CPU ID: GenuineIntel-000206a7-bfebfbff
SUPERCOP version: 20240107
Operation: crypto_hash
Primitive: blake2b
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
53643981 0 016573 804 960T:moon/avx/64gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
53694034 0 015373 804 960T:moon/avx/64gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
53704017 0 014924 796 960T:moon/avx/64gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
54393960 0 013864 780 928T:moon/avx/64gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
582411616 0 022997 820 960T:avxiccgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
588011616 0 022580 812 960T:avxiccgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
600611616 0 024261 820 960T:avxiccgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
609511616 0 021544 796 928T:avxiccgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
878412223 0 024068 812 960T:regsgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
880211554 0 021895 788 928T:regsgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
881112218 0 025348 812 960T:regsgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212
927012263 0 023667 804 960T:regsgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2023121320231212

Test failure

Implementation: T:moon/avx2/64
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
error 111

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:moon/avx2/64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:moon/avx2/64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:moon/avx2/64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:moon/avx2/64
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:moon/xop/64
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:moon/xop/64
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:moon/xop/64
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:moon/xop/64

Compiler output

Implementation: T:avx2-1
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
blake2b.c: In file included from blake2b.c:14:
blake2b.c: blake2.h:89:5: error: size of array element is not a multiple of its alignment
blake2b.c: 89 | blake2s_state S[8][1];
blake2b.c: | ^~~~~~~~~~~~~
blake2b.c: blake2.h:90:5: error: size of array element is not a multiple of its alignment
blake2b.c: 90 | blake2s_state R[1];
blake2b.c: | ^~~~~~~~~~~~~
blake2b.c: blake2.h:97:5: error: size of array element is not a multiple of its alignment
blake2b.c: 97 | blake2b_state S[4][1];
blake2b.c: | ^~~~~~~~~~~~~
blake2b.c: blake2.h:98:5: error: size of array element is not a multiple of its alignment
blake2b.c: 98 | blake2b_state R[1];
blake2b.c: | ^~~~~~~~~~~~~

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

Compiler output

Implementation: T:avx2-2
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
blake2b.c: In file included from blake2b.c:15:
blake2b.c: blake2.h:89:5: error: size of array element is not a multiple of its alignment
blake2b.c: 89 | blake2s_state S[8][1];
blake2b.c: | ^~~~~~~~~~~~~
blake2b.c: blake2.h:90:5: error: size of array element is not a multiple of its alignment
blake2b.c: 90 | blake2s_state R[1];
blake2b.c: | ^~~~~~~~~~~~~
blake2b.c: blake2.h:97:5: error: size of array element is not a multiple of its alignment
blake2b.c: 97 | blake2b_state S[4][1];
blake2b.c: | ^~~~~~~~~~~~~
blake2b.c: blake2.h:98:5: error: size of array element is not a multiple of its alignment
blake2b.c: 98 | blake2b_state R[1];
blake2b.c: | ^~~~~~~~~~~~~

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

Compiler output

Implementation: T:avxicc
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
try.c: /usr/bin/ld: libcrypto_hash_blake2b.a(blake2b.o): warning: relocation in read-only section `.eh_frame'
try.c: /usr/bin/ld: warning: creating DT_TEXTREL in a PIE
try.c: /usr/bin/ld: libcrypto_hash_blake2b.a(blake2b.o): warning: relocation in read-only section `.eh_frame'
try.c: /usr/bin/ld: warning: creating DT_TEXTREL in a PIE
measure.c: /usr/bin/ld: libcrypto_hash_blake2b.a(blake2b.o): warning: relocation in read-only section `.eh_frame'
measure.c: /usr/bin/ld: warning: creating DT_TEXTREL in a PIE

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

Compiler output

Implementation: T:ref
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
blake2b-ref.c: In file included from blake2b-ref.c:19:
blake2b-ref.c: blake2.h:101:5: error: size of array element is not a multiple of its alignment
blake2b-ref.c: 101 | blake2s_state S[8][1];
blake2b-ref.c: | ^~~~~~~~~~~~~
blake2b-ref.c: blake2.h:102:5: error: size of array element is not a multiple of its alignment
blake2b-ref.c: 102 | blake2s_state R[1];
blake2b-ref.c: | ^~~~~~~~~~~~~
blake2b-ref.c: blake2.h:109:5: error: size of array element is not a multiple of its alignment
blake2b-ref.c: 109 | blake2b_state S[4][1];
blake2b-ref.c: | ^~~~~~~~~~~~~
blake2b-ref.c: blake2.h:110:5: error: size of array element is not a multiple of its alignment
blake2b-ref.c: 110 | blake2b_state R[1];
blake2b-ref.c: | ^~~~~~~~~~~~~
blake2b-ref.c: blake2b-ref.c: In function 'blake2b':
blake2b-ref.c: blake2b-ref.c:342:3: error: size of array element is not a multiple of its alignment
blake2b-ref.c: 342 | blake2b_state S[1];
blake2b-ref.c: | ^~~~~~~~~~~~~

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

Compiler output

Implementation: T:xmm
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
blake2b.c: In file included from blake2b.c:5:
blake2b.c: blake2.h:89:5: error: size of array element is not a multiple of its alignment
blake2b.c: 89 | blake2s_state S[8][1];
blake2b.c: | ^~~~~~~~~~~~~
blake2b.c: blake2.h:90:5: error: size of array element is not a multiple of its alignment
blake2b.c: 90 | blake2s_state R[1];
blake2b.c: | ^~~~~~~~~~~~~
blake2b.c: blake2.h:97:5: error: size of array element is not a multiple of its alignment
blake2b.c: 97 | blake2b_state S[4][1];
blake2b.c: | ^~~~~~~~~~~~~
blake2b.c: blake2.h:98:5: error: size of array element is not a multiple of its alignment
blake2b.c: 98 | blake2b_state R[1];
blake2b.c: | ^~~~~~~~~~~~~

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