Implementation notes: amd64, slide, crypto_hash/blake256

Computer: slide
Architecture: amd64
CPU ID: GenuineIntel-00040651-bfebfbff
SUPERCOP version: 20160806
Operation: crypto_hash
Primitive: blake256
TimeImplementationCompilerBenchmark dateSUPERCOP version
12032avxiccgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
12040avxiccgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
12052avxiccgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
12168avxiccgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
12224avxsgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
12232avxsgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
12336avxsgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
12384sse41-2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
12396avxsgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
12476sse41-2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
12504sse41-2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
12548sse41gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
12556sse41gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
12572sse41gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
12596sse41-2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
12684sse41gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
12884vect128gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
13048vect128gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
13084vect128gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
13144vect128gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
13232ssse3gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
13244ssse3gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
13520ssse3gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
13564vect128-mmxhackgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
13620vect128-mmxhackgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
13624vect128-mmxhackgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
13660vect128-mmxhackgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
13792ssse3gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
14364sse2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
16156sse2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
16168sse2-2gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
16172sse2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
16172sse2-2gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
16172sse2-2gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
16232sse2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
16260sse2-2gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
16660sphlibgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
16724sphlibgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
16828bswapgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
16832bswapgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
16976bswapgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
17108bswapgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
17292sandygcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
17344sphlibgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
17852regsgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
17860sphlibgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
17876regsgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
17952regsgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
18120regsgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
18280sandygcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
18332sandygcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
18380sandygcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
22776sphlib-smallgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
22780sphlib-smallgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
23048refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016090620160806
23320sphlib-smallgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806
23736sphlib-smallgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
24680refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016090620160806
25456refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016090620160806
25932refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016090620160806

Compiler output

Implementation: crypto_hash/blake256/xop
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
hash.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/4.9/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/4.9/include/xopintrin.h:212:1: error: inlining failed in call to always_inline '_mm_perm_epi8': target specific option mismatch
hash.c: _mm_perm_epi8(__m128i __A, __m128i __B, __m128i __C)
hash.c: ^
hash.c: In file included from rounds.h:43:0,
hash.c: from blake256.h:127,
hash.c: from hash.c:2:
hash.c: load.xop.h:19:4: error: called from here
hash.c: s0 = _mm_perm_epi8(m0, m1, _mm_set_epi32(TOB(6),TOB(4),TOB(2),TOB(0)) ); \
hash.c: ^
hash.c: rounds.h:51:3: note: in expansion of macro 'LOAD_MSG_0_1'
hash.c: LOAD_MSG_ ##r ##_1(buf1); \
hash.c: ^
hash.c: hash.c:115:3: note: in expansion of macro 'ROUND'
hash.c: ROUND( 0);
hash.c: ^
hash.c: In file included from /usr/lib/gcc/x86_64-linux-gnu/4.9/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/4.9/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: ...

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