Implementation notes: amd64, floodyberry, crypto_hash/blake2b

Computer: floodyberry
Architecture: amd64
CPU ID: GenuineIntel-00010676-bfebfbff
SUPERCOP version: 20140505
Operation: crypto_hash
Primitive: blake2b
TimeImplementationCompilerBenchmark dateSUPERCOP version
7662regsicc -m64 -O1 -static -xHost -fomit-frame-pointer2014050720140505
7662regsicc -m64 -O3 -static -xHost -fomit-frame-pointer2014050720140505
7962regsclang -O3 -march=native -m64 -fomit-frame-pointer2014050720140505
8037xmmicc -m64 -O1 -static -xHost -fomit-frame-pointer2014050720140505
8050xmmicc -m64 -O3 -static -xHost -fomit-frame-pointer2014050720140505
8088regsgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
8088regsgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
8113regsgcc -m64 -O2 -fomit-frame-pointer2014050720140505
8113regsgcc -m64 -O3 -fomit-frame-pointer2014050720140505
8263xmmgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014050720140505
8300xmmgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014050720140505
8700regsclang -O1 -march=native -m64 -fomit-frame-pointer2014050720140505
11325xmmgcc -m64 -O2 -fomit-frame-pointer2014050720140505
11337xmmgcc -m64 -O3 -fomit-frame-pointer2014050720140505
27338refclang -O1 -march=native -m64 -fomit-frame-pointer2014050720140505

Test failure

Implementation: crypto_hash/blake2b/xmm
Compiler: clang -O1 -march=native -m64 -fomit-frame-pointer
error 111

Number of similar (compiler,implementation) pairs: 15, namely:
CompilerImplementations
clang -O1 -march=native -m64 -fomit-frame-pointer xmm
clang -O3 -march=native -m64 -fomit-frame-pointer ref xmm
gcc -m64 -O2 -fomit-frame-pointer avxicc
gcc -m64 -O3 -fomit-frame-pointer avxicc
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer avxicc
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer avxicc
icc -m64 -O1 -static -xHost -fomit-frame-pointer avx2-1 avx2-2 avx2-3 avxicc
icc -m64 -O3 -static -xHost -fomit-frame-pointer avx2-1 avx2-2 avx2-3 avxicc

Compiler output

Implementation: crypto_hash/blake2b/ymm
Compiler: clang -O1 -march=native -m64 -fomit-frame-pointer
blake2b.c: blake2b.c:15:2: error: "This code requires at least AVX."
blake2b.c: #error "This code requires at least AVX."
blake2b.c: ^
blake2b.c: blake2b.c:140:11: error: unknown type name '__m256i'
blake2b.c: const __m256i m0 = _mm256_loadu_si256((__m256i*)(in + 00));
blake2b.c: ^
blake2b.c: blake2b.c:140:24: warning: implicit declaration of function '_mm256_loadu_si256' is invalid in C99 [-Wimplicit-function-declaration]
blake2b.c: const __m256i m0 = _mm256_loadu_si256((__m256i*)(in + 00));
blake2b.c: ^
blake2b.c: blake2b.c:140:44: error: use of undeclared identifier '__m256i'
blake2b.c: const __m256i m0 = _mm256_loadu_si256((__m256i*)(in + 00));
blake2b.c: ^
blake2b.c: blake2b.c:140:52: error: expected expression
blake2b.c: const __m256i m0 = _mm256_loadu_si256((__m256i*)(in + 00));
blake2b.c: ^
blake2b.c: blake2b.c:141:11: error: unknown type name '__m256i'
blake2b.c: const __m256i m1 = _mm256_loadu_si256((__m256i*)(in + 32));
blake2b.c: ^
blake2b.c: blake2b.c:141:44: error: use of undeclared identifier '__m256i'
blake2b.c: const __m256i m1 = _mm256_loadu_si256((__m256i*)(in + 32));
blake2b.c: ^
blake2b.c: blake2b.c:141:52: error: expected expression
blake2b.c: const __m256i m1 = _mm256_loadu_si256((__m256i*)(in + 32));
blake2b.c: ^
blake2b.c: blake2b.c:142:11: error: unknown type name '__m256i'
blake2b.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O1 -march=native -m64 -fomit-frame-pointer ymm
clang -O3 -march=native -m64 -fomit-frame-pointer ymm

Compiler output

Implementation: crypto_hash/blake2b/avx2-1
Compiler: clang -O1 -march=native -m64 -fomit-frame-pointer
blake2b.c: blake2b.c:37:9: error: unknown type name '__m256i'
blake2b.c: const __m256i r16 = _mm256_setr_epi8( 2, 3, 4, 5, 6, 7, 0, 1, 10, 11, 12, 13, 14, 15, 8, 9,
blake2b.c: ^
blake2b.c: blake2b.c:37:23: warning: implicit declaration of function '_mm256_setr_epi8' is invalid in C99 [-Wimplicit-function-declaration]
blake2b.c: const __m256i r16 = _mm256_setr_epi8( 2, 3, 4, 5, 6, 7, 0, 1, 10, 11, 12, 13, 14, 15, 8, 9,
blake2b.c: ^
blake2b.c: blake2b.c:39:9: error: unknown type name '__m256i'
blake2b.c: const __m256i r24 = _mm256_setr_epi8( 3, 4, 5, 6, 7, 0, 1, 2, 11, 12, 13, 14, 15, 8, 9, 10,
blake2b.c: ^
blake2b.c: blake2b.c:42:3: error: use of undeclared identifier '__m256i'
blake2b.c: __m256i ymm0;
blake2b.c: ^
blake2b.c: blake2b.c:43:3: error: use of undeclared identifier '__m256i'
blake2b.c: __m256i ymm1;
blake2b.c: ^
blake2b.c: blake2b.c:44:3: error: use of undeclared identifier '__m256i'
blake2b.c: __m256i ymm2;
blake2b.c: ^
blake2b.c: blake2b.c:45:3: error: use of undeclared identifier '__m256i'
blake2b.c: __m256i ymm3;
blake2b.c: ^
blake2b.c: blake2b.c:50:3: error: use of undeclared identifier '__m256i'
blake2b.c: __m256i b0;
blake2b.c: ^
blake2b.c: blake2b.c:56:3: error: use of undeclared identifier 'ymm0'
blake2b.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O1 -march=native -m64 -fomit-frame-pointer avx2-1
clang -O3 -march=native -m64 -fomit-frame-pointer avx2-1

Compiler output

Implementation: crypto_hash/blake2b/avx2-2
Compiler: clang -O1 -march=native -m64 -fomit-frame-pointer
blake2b.c: blake2b.c:38:9: error: unknown type name '__m256i'
blake2b.c: const __m256i r16 = _mm256_setr_epi8( 2, 3, 4, 5, 6, 7, 0, 1, 10, 11, 12, 13, 14, 15, 8, 9,
blake2b.c: ^
blake2b.c: blake2b.c:38:23: warning: implicit declaration of function '_mm256_setr_epi8' is invalid in C99 [-Wimplicit-function-declaration]
blake2b.c: const __m256i r16 = _mm256_setr_epi8( 2, 3, 4, 5, 6, 7, 0, 1, 10, 11, 12, 13, 14, 15, 8, 9,
blake2b.c: ^
blake2b.c: blake2b.c:40:9: error: unknown type name '__m256i'
blake2b.c: const __m256i r24 = _mm256_setr_epi8( 3, 4, 5, 6, 7, 0, 1, 2, 11, 12, 13, 14, 15, 8, 9, 10,
blake2b.c: ^
blake2b.c: blake2b.c:43:3: error: use of undeclared identifier '__m256i'
blake2b.c: __m256i ymm0;
blake2b.c: ^
blake2b.c: blake2b.c:44:3: error: use of undeclared identifier '__m256i'
blake2b.c: __m256i ymm1;
blake2b.c: ^
blake2b.c: blake2b.c:45:3: error: use of undeclared identifier '__m256i'
blake2b.c: __m256i ymm2;
blake2b.c: ^
blake2b.c: blake2b.c:46:3: error: use of undeclared identifier '__m256i'
blake2b.c: __m256i ymm3;
blake2b.c: ^
blake2b.c: blake2b.c:49:3: error: use of undeclared identifier '__m256i'
blake2b.c: __m256i t0, t1;
blake2b.c: ^
blake2b.c: blake2b.c:51:3: error: use of undeclared identifier '__m256i'
blake2b.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O1 -march=native -m64 -fomit-frame-pointer avx2-2
clang -O3 -march=native -m64 -fomit-frame-pointer avx2-2

Compiler output

Implementation: crypto_hash/blake2b/avx2-3
Compiler: clang -O1 -march=native -m64 -fomit-frame-pointer
blake2b.c: blake2b.c:38:9: error: unknown type name '__m256i'
blake2b.c: const __m256i r16 = _mm256_setr_epi8( 2, 3, 4, 5, 6, 7, 0, 1, 10, 11, 12, 13, 14, 15, 8, 9,
blake2b.c: ^
blake2b.c: blake2b.c:38:23: warning: implicit declaration of function '_mm256_setr_epi8' is invalid in C99 [-Wimplicit-function-declaration]
blake2b.c: const __m256i r16 = _mm256_setr_epi8( 2, 3, 4, 5, 6, 7, 0, 1, 10, 11, 12, 13, 14, 15, 8, 9,
blake2b.c: ^
blake2b.c: blake2b.c:40:9: error: unknown type name '__m256i'
blake2b.c: const __m256i r24 = _mm256_setr_epi8( 3, 4, 5, 6, 7, 0, 1, 2, 11, 12, 13, 14, 15, 8, 9, 10,
blake2b.c: ^
blake2b.c: blake2b.c:43:3: error: use of undeclared identifier '__m256i'
blake2b.c: __m256i ymm0;
blake2b.c: ^
blake2b.c: blake2b.c:44:3: error: use of undeclared identifier '__m256i'
blake2b.c: __m256i ymm1;
blake2b.c: ^
blake2b.c: blake2b.c:45:3: error: use of undeclared identifier '__m256i'
blake2b.c: __m256i ymm2;
blake2b.c: ^
blake2b.c: blake2b.c:46:3: error: use of undeclared identifier '__m256i'
blake2b.c: __m256i ymm3;
blake2b.c: ^
blake2b.c: blake2b.c:51:3: error: use of undeclared identifier '__m256i'
blake2b.c: __m256i b0;
blake2b.c: ^
blake2b.c: blake2b.c:57:3: error: use of undeclared identifier 'ymm0'
blake2b.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O1 -march=native -m64 -fomit-frame-pointer avx2-3
clang -O3 -march=native -m64 -fomit-frame-pointer avx2-3

Compiler output

Implementation: crypto_hash/blake2b/avxicc
Compiler: clang -O1 -march=native -m64 -fomit-frame-pointer
blake2b.s: clang: warning: argument unused during compilation: '-fomit-frame-pointer'
blake2b.s: clang: warning: argument unused during compilation: '-D SUPERCOP'
blake2b.s: clang: warning: argument unused during compilation: '-I .'
blake2b.s: clang: warning: argument unused during compilation: '-I /home/bloom/supercop-20140505/supercop-data/floodyberry/amd64/include'
blake2b.s: blake2b.s:19:58: error: unexpected token in argument list
blake2b.s: vmovdqu xmm2, XMMWORD PTR .L_2il0floatpacket.13[rip]
blake2b.s: ^
blake2b.s: blake2b.s:21:58: error: unexpected token in argument list
blake2b.s: vmovdqu xmm3, XMMWORD PTR .L_2il0floatpacket.14[rip]
blake2b.s: ^
blake2b.s: blake2b.s:23:58: error: unexpected token in argument list
blake2b.s: vmovdqu xmm4, XMMWORD PTR .L_2il0floatpacket.15[rip]
blake2b.s: ^
blake2b.s: blake2b.s:25:59: error: unexpected token in argument list
blake2b.s: vmovdqu xmm11, XMMWORD PTR .L_2il0floatpacket.16[rip]
blake2b.s: ^
blake2b.s: blake2b.s:26:58: error: unexpected token in argument list
blake2b.s: vmovdqu xmm1, XMMWORD PTR .L_2il0floatpacket.11[rip]
blake2b.s: ^
blake2b.s: blake2b.s:27:58: error: unexpected token in argument list
blake2b.s: vmovdqu xmm0, XMMWORD PTR .L_2il0floatpacket.12[rip]
blake2b.s: ^
blake2b.s: blake2b.s:32:58: error: unexpected token in argument list
blake2b.s: vmovdqu xmm5, XMMWORD PTR .L_2il0floatpacket.17[rip]
blake2b.s: ^
blake2b.s: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O1 -march=native -m64 -fomit-frame-pointer avxicc
clang -O3 -march=native -m64 -fomit-frame-pointer avxicc

Compiler output

Implementation: crypto_hash/blake2b/ref
Compiler: gcc -m64 -O2 -fomit-frame-pointer
blake2b-ref.c: blake2b-ref.c: In function 'blake2b_init0':
blake2b-ref.c: blake2b-ref.c:144:3: error: 'for' loop initial declarations are only allowed in C99 mode
blake2b-ref.c: blake2b-ref.c:144:3: note: use option -std=c99 or -std=gnu99 to compile your code
blake2b-ref.c: blake2b-ref.c: In function 'blake2b_init_param':
blake2b-ref.c: blake2b-ref.c:156:3: error: 'for' loop initial declarations are only allowed in C99 mode
blake2b-ref.c: blake2b-ref.c: In function 'blake2b_final':
blake2b-ref.c: blake2b-ref.c:329:3: error: 'for' loop initial declarations are only allowed in C99 mode

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

Compiler output

Implementation: crypto_hash/blake2b/avx2-1
Compiler: gcc -m64 -O2 -fomit-frame-pointer
blake2b.c: blake2b.c: In function 'crypto_hash_blake2b_avx2_1':
blake2b.c: blake2b.c:37:3: error: unknown type name '__m256i'
blake2b.c: blake2b.c:39:3: error: unknown type name '__m256i'
blake2b.c: blake2b.c:42:3: error: unknown type name '__m256i'
blake2b.c: blake2b.c:43:3: error: unknown type name '__m256i'
blake2b.c: blake2b.c:44:3: error: unknown type name '__m256i'
blake2b.c: blake2b.c:45:3: error: unknown type name '__m256i'
blake2b.c: blake2b.c:50:3: error: unknown type name '__m256i'
blake2b.c: blake2b.c:90:5: error: unknown type name '__m256i'
blake2b.c: blake2b.c:91:5: error: unknown type name '__m256i'
blake2b.c: blake2b.c:134:5: error: unknown type name '__m256i'
blake2b.c: blake2b.c:135:5: error: unknown type name '__m256i'
blake2b.c: blake2b.c:148:9: error: '__m256i' undeclared (first use in this function)
blake2b.c: blake2b.c:148:9: note: each undeclared identifier is reported only once for each function it appears in
blake2b.c: blake2b.c:148:9: error: expected expression before ')' token
blake2b.c: blake2b.c:148:9: error: expected expression before ')' token
blake2b.c: blake2b.c:149:9: error: expected expression before ')' token
blake2b.c: blake2b.c:149:9: error: expected expression before ')' token
blake2b.c: blake2b.c:153:26: error: expected expression before ')' token
blake2b.c: blake2b.c:153:26: error: expected expression before ')' token
blake2b.c: blake2b.c:220:3: error: expected expression before ')' token
blake2b.c: blake2b.c:221:3: error: expected expression before ')' token

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -O2 -fomit-frame-pointer avx2-1
gcc -m64 -O3 -fomit-frame-pointer avx2-1
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer avx2-1
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer avx2-1

Compiler output

Implementation: crypto_hash/blake2b/avx2-2
Compiler: gcc -m64 -O2 -fomit-frame-pointer
blake2b.c: blake2b.c: In function 'crypto_hash_blake2b_avx2_2':
blake2b.c: blake2b.c:38:3: error: unknown type name '__m256i'
blake2b.c: blake2b.c:40:3: error: unknown type name '__m256i'
blake2b.c: blake2b.c:43:3: error: unknown type name '__m256i'
blake2b.c: blake2b.c:44:3: error: unknown type name '__m256i'
blake2b.c: blake2b.c:45:3: error: unknown type name '__m256i'
blake2b.c: blake2b.c:46:3: error: unknown type name '__m256i'
blake2b.c: blake2b.c:49:3: error: unknown type name '__m256i'
blake2b.c: blake2b.c:51:3: error: unknown type name '__m256i'
blake2b.c: blake2b.c:64:5: error: unknown type name '__m256i'
blake2b.c: blake2b.c:65:5: error: unknown type name '__m256i'
blake2b.c: blake2b.c:66:5: error: unknown type name '__m256i'
blake2b.c: blake2b.c:67:5: error: unknown type name '__m256i'
blake2b.c: blake2b.c:68:5: error: unknown type name '__m256i'
blake2b.c: blake2b.c:69:5: error: unknown type name '__m256i'
blake2b.c: blake2b.c:70:5: error: unknown type name '__m256i'
blake2b.c: blake2b.c:71:5: error: unknown type name '__m256i'
blake2b.c: blake2b.c:91:5: error: unknown type name '__m256i'
blake2b.c: blake2b.c:92:5: error: unknown type name '__m256i'
blake2b.c: blake2b.c:127:5: error: unknown type name '__m256i'
blake2b.c: blake2b.c:135:5: error: unknown type name '__m256i'
blake2b.c: blake2b.c:136:5: error: unknown type name '__m256i'
blake2b.c: blake2b.c:149:9: error: '__m256i' undeclared (first use in this function)
blake2b.c: blake2b.c:149:9: note: each undeclared identifier is reported only once for each function it appears in
blake2b.c: blake2b.c:149:9: error: expected expression before ')' token
blake2b.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -O2 -fomit-frame-pointer avx2-2
gcc -m64 -O3 -fomit-frame-pointer avx2-2
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer avx2-2
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer avx2-2

Compiler output

Implementation: crypto_hash/blake2b/avx2-3
Compiler: gcc -m64 -O2 -fomit-frame-pointer
blake2b.c: blake2b.c: In function 'crypto_hash_blake2b_avx2_3':
blake2b.c: blake2b.c:38:3: error: unknown type name '__m256i'
blake2b.c: blake2b.c:40:3: error: unknown type name '__m256i'
blake2b.c: blake2b.c:43:3: error: unknown type name '__m256i'
blake2b.c: blake2b.c:44:3: error: unknown type name '__m256i'
blake2b.c: blake2b.c:45:3: error: unknown type name '__m256i'
blake2b.c: blake2b.c:46:3: error: unknown type name '__m256i'
blake2b.c: blake2b.c:51:3: error: unknown type name '__m256i'
blake2b.c: blake2b.c:91:5: error: unknown type name '__m256i'
blake2b.c: blake2b.c:92:5: error: unknown type name '__m256i'
blake2b.c: blake2b.c:135:5: error: unknown type name '__m256i'
blake2b.c: blake2b.c:136:5: error: unknown type name '__m256i'
blake2b.c: blake2b.c:149:9: error: '__m256i' undeclared (first use in this function)
blake2b.c: blake2b.c:149:9: note: each undeclared identifier is reported only once for each function it appears in
blake2b.c: blake2b.c:149:9: error: expected expression before ')' token
blake2b.c: blake2b.c:149:9: error: expected expression before ')' token
blake2b.c: blake2b.c:150:9: error: expected expression before ')' token
blake2b.c: blake2b.c:150:9: error: expected expression before ')' token
blake2b.c: blake2b.c:154:26: error: expected expression before ')' token
blake2b.c: blake2b.c:154:26: error: expected expression before ')' token
blake2b.c: blake2b.c:221:3: error: expected expression before ')' token
blake2b.c: blake2b.c:222:3: error: expected expression before ')' token

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -m64 -O2 -fomit-frame-pointer avx2-3
gcc -m64 -O3 -fomit-frame-pointer avx2-3
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer avx2-3
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer avx2-3

Compiler output

Implementation: crypto_hash/blake2b/ymm
Compiler: gcc -m64 -O2 -fomit-frame-pointer
blake2b.c: blake2b.c:15:2: error: #error "This code requires at least AVX."
blake2b.c: blake2b.c: In function 'crypto_hash_blake2b_ymm':
blake2b.c: blake2b.c:140:5: error: unknown type name '__m256i'
blake2b.c: blake2b.c:140:44: error: '__m256i' undeclared (first use in this function)
blake2b.c: blake2b.c:140:44: note: each undeclared identifier is reported only once for each function it appears in
blake2b.c: blake2b.c:140:52: error: expected expression before ')' token
blake2b.c: blake2b.c:141:19: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'm1'
blake2b.c: blake2b.c:141:19: error: 'm1' undeclared (first use in this function)
blake2b.c: blake2b.c:141:52: error: expected expression before ')' token
blake2b.c: blake2b.c:142:19: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'm2'
blake2b.c: blake2b.c:142:19: error: 'm2' undeclared (first use in this function)
blake2b.c: blake2b.c:142:52: error: expected expression before ')' token
blake2b.c: blake2b.c:143:19: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'm3'
blake2b.c: blake2b.c:143:19: error: 'm3' undeclared (first use in this function)
blake2b.c: blake2b.c:143:52: error: expected expression before ')' token
blake2b.c: blake2b.c:161:1: error: incompatible types when assigning to type '__m128i' from type 'int'
blake2b.c: blake2b.c:161:5: error: incompatible type for argument 1 of '_mm_unpacklo_epi64'
blake2b.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/emmintrin.h:984:1: note: expected '__m128i' but argument is of type 'int'
blake2b.c: blake2b.c:161:1: error: type mismatch in conditional expression
blake2b.c: blake2b.c:161:1: error: type mismatch in conditional expression
blake2b.c: blake2b.c:161:1: error: type mismatch in conditional expression
blake2b.c: blake2b.c:161:1: error: type mismatch in conditional expression
blake2b.c: blake2b.c:161:1: error: incompatible types when assigning to type '__m128i' from type 'int'
blake2b.c: blake2b.c:161:5: error: incompatible type for argument 1 of '_mm_unpackhi_epi64'
blake2b.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/emmintrin.h:960:1: note: expected '__m128i' but argument is of type 'int'
blake2b.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc -m64 -O2 -fomit-frame-pointer ymm
gcc -m64 -O3 -fomit-frame-pointer ymm

Compiler output

Implementation: crypto_hash/blake2b/ymm
Compiler: gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer
blake2b.c: blake2b.c:15:2: error: #error "This code requires at least AVX."
blake2b.c: blake2b.c: In function 'crypto_hash_blake2b_ymm':
blake2b.c: blake2b.c:140:5: error: unknown type name '__m256i'
blake2b.c: blake2b.c:140:44: error: '__m256i' undeclared (first use in this function)
blake2b.c: blake2b.c:140:44: note: each undeclared identifier is reported only once for each function it appears in
blake2b.c: blake2b.c:140:52: error: expected expression before ')' token
blake2b.c: blake2b.c:141:19: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'm1'
blake2b.c: blake2b.c:141:19: error: 'm1' undeclared (first use in this function)
blake2b.c: blake2b.c:141:52: error: expected expression before ')' token
blake2b.c: blake2b.c:142:19: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'm2'
blake2b.c: blake2b.c:142:19: error: 'm2' undeclared (first use in this function)
blake2b.c: blake2b.c:142:52: error: expected expression before ')' token
blake2b.c: blake2b.c:143:19: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'm3'
blake2b.c: blake2b.c:143:19: error: 'm3' undeclared (first use in this function)
blake2b.c: blake2b.c:143:52: error: expected expression before ')' token
blake2b.c: blake2b.c:161:1: error: incompatible types when assigning to type '__m128i' from type 'int'
blake2b.c: blake2b.c:161:5: error: incompatible type for argument 1 of '_mm_unpacklo_epi64'
blake2b.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/emmintrin.h:984:1: note: expected '__m128i' but argument is of type 'int'
blake2b.c: blake2b.c:161:1: error: incompatible types when assigning to type '__m128i' from type 'int'
blake2b.c: blake2b.c:161:5: error: incompatible type for argument 1 of '_mm_unpackhi_epi64'
blake2b.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/emmintrin.h:960:1: note: expected '__m128i' but argument is of type 'int'
blake2b.c: blake2b.c:162:5: error: incompatible type for argument 1 of '_mm_shuffle_epi32'
blake2b.c: /usr/lib/gcc/x86_64-linux-gnu/4.6/include/emmintrin.h:1378:1: note: expected '__m128i' but argument is of type 'int'
blake2b.c: blake2b.c:162:1: error: incompatible types when assigning to type '__m128i' from type 'int'
blake2b.c: blake2b.c:162:1: error: incompatible types when assigning to type '__m128i' from type 'int'
blake2b.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer ymm
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer ymm

Compiler output

Implementation: crypto_hash/blake2b/ref
Compiler: icc -m64 -O1 -static -xHost -fomit-frame-pointer
blake2b-ref.c: blake2b-ref.c(144): error: expected an expression
blake2b-ref.c: for( int i = 0; i gt;h[i] = blake2b_IV[i];
blake2b-ref.c: ^
blake2b-ref.c:
blake2b-ref.c: blake2b-ref.c(144): error: identifier "i" is undefined
blake2b-ref.c: for( int i = 0; i gt;h[i] = blake2b_IV[i];
blake2b-ref.c: ^
blake2b-ref.c:
blake2b-ref.c: blake2b-ref.c(156): error: type name is not allowed
blake2b-ref.c: for( size_t i = 0; i blake2b-ref.c: ^
blake2b-ref.c:
blake2b-ref.c: blake2b-ref.c(156): error: expected a ";"
blake2b-ref.c: for( size_t i = 0; i blake2b-ref.c: ^
blake2b-ref.c:
blake2b-ref.c: blake2b-ref.c(156): error: identifier "i" is undefined
blake2b-ref.c: for( size_t i = 0; i blake2b-ref.c: ^
blake2b-ref.c:
blake2b-ref.c: blake2b-ref.c(329): error: expected an expression
blake2b-ref.c: for( int i = 0; i blake2b-ref.c: ^
blake2b-ref.c:
blake2b-ref.c: blake2b-ref.c(329): error: identifier "i" is undefined
blake2b-ref.c: ...

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
icc -m64 -O1 -static -xHost -fomit-frame-pointer ref
icc -m64 -O3 -static -xHost -fomit-frame-pointer ref

Compiler output

Implementation: crypto_hash/blake2b/ymm
Compiler: icc -m64 -O1 -static -xHost -fomit-frame-pointer
blake2b.c: blake2b.c(15): catastrophic error: #error directive: "This code requires at least AVX."
blake2b.c: #error "This code requires at least AVX."
blake2b.c: ^
blake2b.c:
blake2b.c: compilation aborted for blake2b.c (code 4)

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
icc -m64 -O1 -static -xHost -fomit-frame-pointer ymm
icc -m64 -O3 -static -xHost -fomit-frame-pointer ymm