Implementation notes: amd64, wyvern1, crypto_hash/blake256

Computer: wyvern1
Architecture: amd64
CPU ID: GenuineIntel-000306f2-bfebfbff
SUPERCOP version: 20191221
Operation: crypto_hash
Primitive: blake256
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1171663192 217896 072987 218624 808avxiccgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
119206376 0 016235 728 808avxsgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
119326566 0 016603 728 808avxsgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
1203263192 217896 073155 218624 808avxiccgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
1203263192 217896 072179 218616 776avxiccgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
121746595 0 019788 736 808sse41-2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
122316156 0 015947 728 808sse41gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
122376407 0 016371 728 808sse41gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
1224863192 217896 076396 218632 808avxiccgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
122486986 0 020260 736 808avxsgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
122846201 0 015079 712 776sse41gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
123246315 0 015247 712 776avxsgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
124005958 0 015731 728 808sse41-2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
124886173 0 016131 728 808sse41-2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
125566407 0 019612 736 808sse41gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
125885894 0 014767 712 776sse41-2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
126369479 4 20819626 756 1016vect128gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
1265113224 4 20826588 740 1016vect128gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
126929903 4 20820100 740 1016vect128gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
127819159 4 20818333 732 984vect128gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
128646985 0 015871 712 776ssse3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
128707247 0 017211 728 808ssse3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
129177081 0 016875 728 808ssse3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
1317814328 4 20827708 740 1016vect128-mmxhackgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
1321311007 4 20821204 740 1016vect128-mmxhackgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
132167247 0 020452 736 808ssse3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
1327610248 4 20819421 732 984vect128-mmxhackgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
1334110575 4 20820730 756 1016vect128-mmxhackgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
157037727 0 017691 728 808sse2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
157297727 0 020932 736 808sse2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
158007471 0 017259 728 808sse2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
158487449 0 016335 712 776sse2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
160228543 0 018507 728 808sse2-2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
160468543 0 021748 736 808sse2-2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
160998420 0 017295 712 776sse2-2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
163248550 0 018347 728 808sse2-2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
1637211415 0 024620 736 808regsgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
1653225587 0 035844 736 808sphlibgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
1655811161 0 020047 712 776regsgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
1657910745 0 019631 712 776sandygcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
1683611159 0 021123 728 808bswapgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
1686811503 0 024708 736 808bswapgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
1692410938 0 020731 728 808bswapgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
1693211415 0 021379 728 808regsgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
1694025731 0 035756 736 808sphlibgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
1696410910 0 019791 712 776bswapgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
1698829965 0 043316 736 808sphlibgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
1722411676 0 021467 728 808regsgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
1743724976 0 034055 712 776sphlibgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
1757411307 0 021099 728 808sandygcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
1794012079 0 025284 736 808sandygcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
1798211735 0 021699 728 808sandygcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
238228353 0 018380 736 808sphlib-smallgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
238997707 0 016775 712 776sphlib-smallgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
257763028 0 012827 728 808refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
259183009 0 011887 712 776refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
2759314461 0 027812 736 808sphlib-smallgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
2769110067 0 020324 736 808sphlib-smallgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
296564343 0 017532 736 808refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221
320154055 0 014019 728 808refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2019122220191221

Compiler output

Implementation: xop
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
hash.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/x86intrin.h:52:0,
hash.c: from blake256.h:7,
hash.c: from hash.c:2:
hash.c: hash.c: In function 'blake256_compress':
hash.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/xopintrin.h:260:1: error: inlining failed in call to always_inline '_mm_roti_epi32': target specific option mismatch
hash.c: _mm_roti_epi32(__m128i __A, const int __B)
hash.c: ^
hash.c: In file included from blake256.h:127:0,
hash.c: from hash.c:2:
hash.c: rounds.h:19:8: error: called from here
hash.c: row2 = _mm_roti_epi32(row2, -7); \
hash.c: ^
hash.c: rounds.h:59:3: note: in expansion of macro 'G2'
hash.c: G2(row1,row2,row3,row4,buf4); \
hash.c: ^
hash.c: hash.c:128:3: note: in expansion of macro 'ROUND'
hash.c: ROUND(13);
hash.c: ^
hash.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/5/include/x86intrin.h:52:0,
hash.c: from blake256.h:7,
hash.c: from hash.c:2:
hash.c: /usr/lib/gcc/x86_64-linux-gnu/5/include/xopintrin.h:260:1: error: inlining failed in call to always_inline '_mm_roti_epi32': target specific option mismatch
hash.c: _mm_roti_epi32(__m128i __A, const int __B)
hash.c: ^
hash.c: In file included from blake256.h:127:0,
hash.c: ...

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

Namespace violations

Implementation: avxs
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
b256.o _blake256_compress T
b256.o blake256_compress T

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

Namespace violations

Implementation: sphlib
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
blake.o sph_blake224 T
blake.o sph_blake224_addbits_and_close T
blake.o sph_blake224_close T
blake.o sph_blake224_init T
blake.o sph_blake256 T
blake.o sph_blake256_addbits_and_close T
blake.o sph_blake256_close T
blake.o sph_blake256_init T
blake.o sph_blake384 T
blake.o sph_blake384_addbits_and_close T
blake.o sph_blake384_close T
blake.o sph_blake384_init T
blake.o sph_blake512 T
blake.o sph_blake512_addbits_and_close T
blake.o sph_blake512_close T
blake.o sph_blake512_init T

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

Namespace violations

Implementation: vect128
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
nist.o Final T
nist.o Hash T
nist.o IncreaseCounter T
nist.o Init T
nist.o InitIV T
nist.o Update T
vector.o Blake_Compress T
vector.o RequiredAlignment T
vector.o SupportedLength T
vector.o VERSION T
vector.o blake256_final T
vector.o blake256_init T
vector.o blake256_update T
vector.o crypto_hash T
vector.o cst R
vector.o padding R
vector.o print_m32 T
vector.o print_m64 T
vector.o round256 T
vector.o sigma R

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