Implementation notes: amd64, waldorf, crypto_aead/hs1sivhiv1

Computer: waldorf
Architecture: amd64
CPU ID: GenuineIntel-000106e5-bfebfbff
SUPERCOP version: 20160715
Operation: crypto_aead
Primitive: hs1sivhiv1
TimeImplementationCompilerBenchmark dateSUPERCOP version
41428dolbeau/amd64-sseclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016071820160715
44136dolbeau/amd64-ssegcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
45008dolbeau/amd64-ssegcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
45312dolbeau/amd64-ssegcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715
53796dolbeau/amd64-ssegcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
122308refclang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2016071820160715
127412refgcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2016071820160715
139212refgcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2016071820160715
162116refgcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2016071820160715
179960refgcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2016071820160715

Compiler output

Implementation: crypto_aead/hs1sivhiv1/dolbeau/amd64-avx2
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
encrypt.c: encrypt.c:90:2: 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:
encrypt.c: ./c368.h:110:3: error: use of undeclared identifier '__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: use of undeclared identifier '__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: use of undeclared identifier '__m256i'
encrypt.c: __m256i x_0 = _mm256_set1_epi32(x[0]);
encrypt.c: ^
encrypt.c: ./c368.h:116:1: error: use of undeclared identifier '__m256i'
encrypt.c: __m256i x_1 = _mm256_set1_epi32(x[1]);
encrypt.c: ^
encrypt.c: ./c368.h:117:1: error: use of undeclared identifier '__m256i'
encrypt.c: __m256i x_2 = _mm256_set1_epi32(x[2]);
encrypt.c: ^
encrypt.c: ./c368.h:118:1: error: use of undeclared identifier '__m256i'
encrypt.c: __m256i x_3 = _mm256_set1_epi32(x[3]);
encrypt.c: ^
encrypt.c: ./c368.h:119:1: error: use of undeclared identifier '__m256i'
encrypt.c: __m256i x_4 = _mm256_set1_epi32(x[4]);
encrypt.c: ^
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-avx2

Compiler output

Implementation: crypto_aead/hs1sivhiv1/dolbeau/amd64-avx512
Compiler: clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments
encrypt.c: encrypt.c:90:2: 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:
encrypt.c: ./c368.h:110:3: error: use of undeclared identifier '__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: use of undeclared identifier '__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: use of undeclared identifier '__m256i'
encrypt.c: __m256i x_0 = _mm256_set1_epi32(x[0]);
encrypt.c: ^
encrypt.c: ./c368.h:116:1: error: use of undeclared identifier '__m256i'
encrypt.c: __m256i x_1 = _mm256_set1_epi32(x[1]);
encrypt.c: ^
encrypt.c: ./c368.h:117:1: error: use of undeclared identifier '__m256i'
encrypt.c: __m256i x_2 = _mm256_set1_epi32(x[2]);
encrypt.c: ^
encrypt.c: ./c368.h:118:1: error: use of undeclared identifier '__m256i'
encrypt.c: __m256i x_3 = _mm256_set1_epi32(x[3]);
encrypt.c: ^
encrypt.c: ./c368.h:119:1: error: use of undeclared identifier '__m256i'
encrypt.c: __m256i x_4 = _mm256_set1_epi32(x[4]);
encrypt.c: ^
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments dolbeau/amd64-avx512

Compiler output

Implementation: crypto_aead/hs1sivhiv1/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:11: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
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: ^

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/hs1sivhiv1/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:11: warning: AVX vector return without AVX enabled changes the ABI [-Wpsabi]
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: encrypt.c: In function 'prf_hash2_3':
encrypt.c: encrypt.c:483:19: warning: AVX512F vector return without AVX512F enabled changes the ABI [-Wpsabi]
encrypt.c: __m512i kv0 = _mm512_loadu_si512((const __m512i*)(nhkey+ 0)); // 1
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