Implementation notes: amd64, utrecht, crypto_aead/hs1sivhiv2

Computer: utrecht
Architecture: amd64
CPU ID: GenuineIntel-000006fb-bfebfbff
SUPERCOP version: 20160806
Operation: crypto_aead
Primitive: hs1sivhiv2
TimeImplementationCompilerBenchmark dateSUPERCOP version
55728fastergcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080520160731
57051fastergcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080520160731
58158fastergcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080520160731
59013fastergcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080520160731
64044refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016080520160731
77751refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016080520160731
86265refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016080520160731
98901refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016080520160731

Compiler output

Implementation: crypto_aead/hs1sivhiv2/dolbeau/amd64-sse
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
encrypt.c: In file included from encrypt.c:54:0:
encrypt.c: /usr/lib/gcc/x86_64-linux-gnu/4.8/include/smmintrin.h:31:3: error: #error "SSE4.1 instruction set not enabled"
encrypt.c: # error "SSE4.1 instruction set not enabled"
encrypt.c: ^
encrypt.c: In file included from encrypt.c:192:0:
encrypt.c: c256.h: In function 'chacha_noxor368':
encrypt.c: c256.h:20:3: error: unknown type name '__m128i'
encrypt.c: __m128i rot16 = _mm_set_epi8(13,12,15,14,9,8,11,10,5,4,7,6,1,0,3,2);
encrypt.c: ^
encrypt.c: c256.h:21:3: error: unknown type name '__m128i'
encrypt.c: __m128i rot8 = _mm_set_epi8(14,13,12,15,10,9,8,11,6,5,4,7,2,1,0,3);
encrypt.c: ^
encrypt.c: c256.h:23:3: error: unknown type name '__m128i'
encrypt.c: __m128i x_0 = _mm_set1_epi32(x[0]);
encrypt.c: ^
encrypt.c: c256.h:24:3: error: unknown type name '__m128i'
encrypt.c: __m128i x_1 = _mm_set1_epi32(x[1]);
encrypt.c: ^
encrypt.c: c256.h:25:3: error: unknown type name '__m128i'
encrypt.c: __m128i x_2 = _mm_set1_epi32(x[2]);
encrypt.c: ^
encrypt.c: c256.h:26:3: error: unknown type name '__m128i'
encrypt.c: __m128i x_3 = _mm_set1_epi32(x[3]);
encrypt.c: ^
encrypt.c: c256.h:27:3: error: unknown type name '__m128i'
encrypt.c: ...

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

Compiler output

Implementation: crypto_aead/hs1sivhiv2/dolbeau/amd64-avx2
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
encrypt.c: encrypt.c:90:2: error: #error "This code requires AVX2 to work"
encrypt.c: #error "This code requires AVX2 to work"
encrypt.c: ^
encrypt.c: In file included from encrypt.c:195:0:
encrypt.c: c368.h: In function 'chacha_noxor368':
encrypt.c: c368.h:110:3: error: unknown type name '__m256i'
encrypt.c: __m256i rot16 = _mm256_set_epi8(13,12,15,14,9,8,11,10,5,4,7,6,1,0,3,2,13,12,15,14,9,8,11,10,5,4,7,6,1,0,3,2);
encrypt.c: ^
encrypt.c: c368.h:111:3: error: unknown type name '__m256i'
encrypt.c: __m256i rot8 = _mm256_set_epi8(14,13,12,15,10,9,8,11,6,5,4,7,2,1,0,3,14,13,12,15,10,9,8,11,6,5,4,7,2,1,0,3);
encrypt.c: ^
encrypt.c: c368.h:115:1: error: unknown type name '__m256i'
encrypt.c: __m256i x_0 = _mm256_set1_epi32(x[0]);
encrypt.c: ^
encrypt.c: c368.h:116:1: error: unknown type name '__m256i'
encrypt.c: __m256i x_1 = _mm256_set1_epi32(x[1]);
encrypt.c: ^
encrypt.c: c368.h:117:1: error: unknown type name '__m256i'
encrypt.c: __m256i x_2 = _mm256_set1_epi32(x[2]);
encrypt.c: ^
encrypt.c: c368.h:118:1: error: unknown type name '__m256i'
encrypt.c: __m256i x_3 = _mm256_set1_epi32(x[3]);
encrypt.c: ^
encrypt.c: c368.h:119:1: error: unknown type name '__m256i'
encrypt.c: __m256i x_4 = _mm256_set1_epi32(x[4]);
encrypt.c: ...

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

Compiler output

Implementation: crypto_aead/hs1sivhiv2/dolbeau/amd64-avx512
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv
encrypt.c: encrypt.c:90:2: error: #error "This code requires AVX512F to work"
encrypt.c: #error "This code requires AVX512F to work"
encrypt.c: ^
encrypt.c: In file included from encrypt.c:195:0:
encrypt.c: c368.h: In function 'chacha_noxor368':
encrypt.c: c368.h:110:3: error: unknown type name '__m256i'
encrypt.c: __m256i rot16 = _mm256_set_epi8(13,12,15,14,9,8,11,10,5,4,7,6,1,0,3,2,13,12,15,14,9,8,11,10,5,4,7,6,1,0,3,2);
encrypt.c: ^
encrypt.c: c368.h:111:3: error: unknown type name '__m256i'
encrypt.c: __m256i rot8 = _mm256_set_epi8(14,13,12,15,10,9,8,11,6,5,4,7,2,1,0,3,14,13,12,15,10,9,8,11,6,5,4,7,2,1,0,3);
encrypt.c: ^
encrypt.c: c368.h:115:1: error: unknown type name '__m256i'
encrypt.c: __m256i x_0 = _mm256_set1_epi32(x[0]);
encrypt.c: ^
encrypt.c: c368.h:116:1: error: unknown type name '__m256i'
encrypt.c: __m256i x_1 = _mm256_set1_epi32(x[1]);
encrypt.c: ^
encrypt.c: c368.h:117:1: error: unknown type name '__m256i'
encrypt.c: __m256i x_2 = _mm256_set1_epi32(x[2]);
encrypt.c: ^
encrypt.c: c368.h:118:1: error: unknown type name '__m256i'
encrypt.c: __m256i x_3 = _mm256_set1_epi32(x[3]);
encrypt.c: ^
encrypt.c: c368.h:119:1: error: unknown type name '__m256i'
encrypt.c: __m256i x_4 = _mm256_set1_epi32(x[4]);
encrypt.c: ...

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