Implementation notes: amd64, h4e350, crypto_aead/hs1sivhiv1

Computer: h4e350
Architecture: amd64
CPU ID: AuthenticAMD-00500f10-178bfbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: hs1sivhiv1
TimeImplementationCompilerBenchmark dateSUPERCOP version
101946refgcc -funroll-loops -O3 -fomit-frame-pointer2014101620141014
102021refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014101620141014
102099refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014101620141014
102138refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014101620141014
102375refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014101620141014
102645refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014101620141014
102726refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014101620141014
103752refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014101620141014
103779refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014101620141014
109515refgcc -m64 -O3 -fomit-frame-pointer2014101620141014
109719refgcc -O3 -fomit-frame-pointer2014101620141014
109779refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014101620141014
111222refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014101620141014
111234refgcc -march=barcelona -O3 -fomit-frame-pointer2014101620141014
111255refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014101620141014
112221refgcc -march=k8 -O3 -fomit-frame-pointer2014101620141014
112317refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014101620141014
114222refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101620141014
114267refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101620141014
114288refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014101620141014
114315refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101620141014
114399refclang -O3 -fomit-frame-pointer2014101620141014
114444refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014101620141014
115617refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014101620141014
116079refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014101620141014
116307refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014101620141014
116322refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014101620141014
116739refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014101620141014
117117refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014101620141014
117210refgcc -funroll-loops -O2 -fomit-frame-pointer2014101620141014
117849refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014101620141014
118056refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014101620141014
118263refgcc -march=nocona -O3 -fomit-frame-pointer2014101620141014
121014refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014101620141014
124644refgcc -march=k8 -O2 -fomit-frame-pointer2014101620141014
124710refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014101620141014
125799refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014101620141014
125817refgcc -O2 -fomit-frame-pointer2014101620141014
125922refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014101620141014
125928refgcc -m64 -O2 -fomit-frame-pointer2014101620141014
125952refgcc -march=barcelona -O2 -fomit-frame-pointer2014101620141014
125979refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014101620141014
126141refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014101620141014
126171refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014101620141014
126642refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014101620141014
126765refgcc -march=nocona -O2 -fomit-frame-pointer2014101620141014
127326refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014101620141014
130308refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014101620141014
142521refgcc -march=k8 -Os -fomit-frame-pointer2014101620141014
142527refgcc -march=barcelona -Os -fomit-frame-pointer2014101620141014
142554refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014101620141014
142668refgcc -Os -fomit-frame-pointer2014101620141014
142692refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014101620141014
142767refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014101620141014
143010refgcc -m64 -Os -fomit-frame-pointer2014101620141014
143133refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014101620141014
144753refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014101620141014
144903refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014101620141014
144939refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014101620141014
144963refgcc -funroll-loops -Os -fomit-frame-pointer2014101620141014
144993refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014101620141014
144993refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014101620141014
145092refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014101620141014
145134refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014101620141014
145191refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014101620141014
145206refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014101620141014
145290refgcc -march=nocona -Os -fomit-frame-pointer2014101620141014
145335refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014101620141014
145374refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014101620141014
146577refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014101620141014
147441refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014101620141014
277077refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014101620141014
277101refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014101620141014
282450refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014101620141014
282894refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014101620141014
286635refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014101620141014
287001refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014101620141014
297681refgcc -O -fomit-frame-pointer2014101620141014
297807refgcc -m64 -O -fomit-frame-pointer2014101620141014
298092refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014101620141014
298113refgcc -fno-schedule-insns -O -fomit-frame-pointer2014101620141014
298182refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014101620141014
300597refgcc -m64 -march=core2 -O -fomit-frame-pointer2014101620141014
300705refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014101620141014
302037refgcc -funroll-loops -O -fomit-frame-pointer2014101620141014
302394refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014101620141014
302853refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014101620141014
312165refgcc -march=k8 -O -fomit-frame-pointer2014101620141014
312348refgcc -m64 -march=k8 -O -fomit-frame-pointer2014101620141014
316206refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014101620141014
316308refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014101620141014
317538refgcc -march=barcelona -O -fomit-frame-pointer2014101620141014
359976refgcc -m64 -march=nocona -O -fomit-frame-pointer2014101620141014
360102refgcc -march=nocona -O -fomit-frame-pointer2014101620141014
1053231refgcc2014101620141014
1053453refcc2014101620141014
1053930refgcc -funroll-loops2014101620141014

Compiler output

Implementation: crypto_aead/hs1sivhiv1/dolbeau/amd64-avx2
Compiler: cc
encrypt.c: encrypt.c:90:2: error: #error "This code requires AVX2 to work"
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: c368.h:111:3: error: unknown type name '__m256i'
encrypt.c: c368.h:115:1: error: unknown type name '__m256i'
encrypt.c: c368.h:116:1: error: unknown type name '__m256i'
encrypt.c: c368.h:117:1: error: unknown type name '__m256i'
encrypt.c: c368.h:118:1: error: unknown type name '__m256i'
encrypt.c: c368.h:119:1: error: unknown type name '__m256i'
encrypt.c: c368.h:120:1: error: unknown type name '__m256i'
encrypt.c: c368.h:121:1: error: unknown type name '__m256i'
encrypt.c: c368.h:122:1: error: unknown type name '__m256i'
encrypt.c: c368.h:123:1: error: unknown type name '__m256i'
encrypt.c: c368.h:124:1: error: unknown type name '__m256i'
encrypt.c: c368.h:125:1: error: unknown type name '__m256i'
encrypt.c: c368.h:126:1: error: unknown type name '__m256i'
encrypt.c: c368.h:127:2: error: unknown type name '__m256i'
encrypt.c: c368.h:128:2: error: unknown type name '__m256i'
encrypt.c: c368.h:129:1: error: unknown type name '__m256i'
encrypt.c: c368.h:130:1: error: unknown type name '__m256i'
encrypt.c: c368.h:165:3: error: unknown type name '__m256i'
encrypt.c: c368.h:166:3: error: unknown type name '__m256i'
encrypt.c: c368.h:167:3: error: unknown type name '__m256i'
encrypt.c: c368.h:168:3: error: unknown type name '__m256i'
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 88, namely:
CompilerImplementations
cc dolbeau/amd64-avx2
gcc dolbeau/amd64-avx2
gcc -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -fno-schedule-insns -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -fno-schedule-insns -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -fno-schedule-insns -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -fno-schedule-insns -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops dolbeau/amd64-avx2
gcc -funroll-loops -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -march=k8 -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -march=nocona -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core2 -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core2 -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core2 -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core2 -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=corei7 -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=corei7 -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=corei7 -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=k8 -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=k8 -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=k8 -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=k8 -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=nocona -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=nocona -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=nocona -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -m64 -march=nocona -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=barcelona -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=barcelona -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=barcelona -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=barcelona -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=k8 -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=k8 -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=k8 -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=k8 -Os -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=nocona -O2 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=nocona -O3 -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=nocona -O -fomit-frame-pointer dolbeau/amd64-avx2
gcc -march=nocona -Os -fomit-frame-pointer dolbeau/amd64-avx2

Compiler output

Implementation: crypto_aead/hs1sivhiv1/dolbeau/amd64-avx2
Compiler: clang -O3 -fomit-frame-pointer
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:
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 -O3 -fomit-frame-pointer dolbeau/amd64-avx2

Compiler output

Implementation: crypto_aead/hs1sivhiv1/ref
Compiler: clang -O3 -fomit-frame-pointer
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/hs1sivhiv1/dolbeau/amd64-avx2
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
encrypt.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
encrypt.c: clang: warning: argument unused during compilation: '-mavx2'
encrypt.c: clang: warning: argument unused during compilation: '-mpclmul'
encrypt.c: In file included from encrypt.c:54:
encrypt.c: In file included from /usr/include/clang/3.0/include/immintrin.h:52:
encrypt.c: In file included from /usr/include/clang/3.0/include/wmmintrin.h:31:
encrypt.c: /usr/include/clang/3.0/include/smmintrin.h:28:2: error: #error "SSE4.1 instruction set not enabled"
encrypt.c: #error "SSE4.1 instruction set not enabled"
encrypt.c: ^
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:
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: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer dolbeau/amd64-avx2

Compiler output

Implementation: crypto_aead/hs1sivhiv1/ref
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer
encrypt.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
encrypt.c: clang: warning: argument unused during compilation: '-mavx2'
encrypt.c: clang: warning: argument unused during compilation: '-mpclmul'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/hs1sivhiv1/dolbeau/amd64-avx2
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
encrypt.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
encrypt.c: clang: warning: argument unused during compilation: '-mavx2'
encrypt.c: clang: warning: argument unused during compilation: '-mpclmul'
encrypt.c: clang: warning: argument unused during compilation: '-fpolly'
encrypt.c: clang: warning: argument unused during compilation: '-fvectorize'
encrypt.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
encrypt.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
encrypt.c: In file included from encrypt.c:54:
encrypt.c: In file included from /usr/include/clang/3.0/include/immintrin.h:52:
encrypt.c: In file included from /usr/include/clang/3.0/include/wmmintrin.h:31:
encrypt.c: /usr/include/clang/3.0/include/smmintrin.h:28:2: error: #error "SSE4.1 instruction set not enabled"
encrypt.c: #error "SSE4.1 instruction set not enabled"
encrypt.c: ^
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:
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: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer dolbeau/amd64-avx2

Compiler output

Implementation: crypto_aead/hs1sivhiv1/ref
Compiler: clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
encrypt.c: clang: warning: argument unused during compilation: '-mcpu=core-avx2'
encrypt.c: clang: warning: argument unused during compilation: '-mavx2'
encrypt.c: clang: warning: argument unused during compilation: '-mpclmul'
encrypt.c: clang: warning: argument unused during compilation: '-fpolly'
encrypt.c: clang: warning: argument unused during compilation: '-fvectorize'
encrypt.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
encrypt.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/hs1sivhiv1/dolbeau/amd64-avx2
Compiler: clang -O3 -fwrapv -mavx2 -fomit-frame-pointer
encrypt.c: clang: warning: argument unused during compilation: '-mavx2'
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:
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: ...

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

Compiler output

Implementation: crypto_aead/hs1sivhiv1/ref
Compiler: clang -O3 -fwrapv -mavx2 -fomit-frame-pointer
encrypt.c: clang: warning: argument unused during compilation: '-mavx2'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/hs1sivhiv1/dolbeau/amd64-avx2
Compiler: clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
encrypt.c: clang: warning: argument unused during compilation: '-mavx2'
encrypt.c: clang: warning: argument unused during compilation: '-fpolly'
encrypt.c: clang: warning: argument unused during compilation: '-fvectorize'
encrypt.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
encrypt.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
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:
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: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer dolbeau/amd64-avx2

Compiler output

Implementation: crypto_aead/hs1sivhiv1/ref
Compiler: clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
encrypt.c: clang: warning: argument unused during compilation: '-mavx2'
encrypt.c: clang: warning: argument unused during compilation: '-fpolly'
encrypt.c: clang: warning: argument unused during compilation: '-fvectorize'
encrypt.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
encrypt.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.
try.c: try-anything.c:110:19: warning: if statement has empty body [-Wempty-body]
try.c: ;
try.c: ^
try.c: 1 warning generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/hs1sivhiv1/dolbeau/amd64-avx2
Compiler: gcc -m64 -march=barcelona -O2 -fomit-frame-pointer
encrypt.c: encrypt.c:90:2: error: #error "This code requires AVX2 to work"
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: c368.h:111:3: error: unknown type name '__m256i'
encrypt.c: c368.h:115:1: error: unknown type name '__m256i'
encrypt.c: c368.h:116:1: error: unknown type name '__m256i'
encrypt.c: c368.h:117:1: error: unknown type name '__m256i'
encrypt.c: c368.h:118:1: error: unknown type name '__m256i'
encrypt.c: c368.h:119:1: error: unknown type name '__m256i'
encrypt.c: c368.h:120:1: error: unknown type name '__m256i'
encrypt.c: c368.h:121:1: error: unknown type name '__m256i'
encrypt.c: c368.h:122:1: error: unknown type name '__m256i'
encrypt.c: c368.h:123:1: error: unknown type name '__m256i'
encrypt.c: c368.h:124:1: error: unknown type name '__m256i'
encrypt.c: c368.h:125:1: error: unknown type name '__m256i'
encrypt.c: c368.h:126:1: error: unknown type name '__m256i'
encrypt.c: c368.h:127:2: error: unknown type name '__m256i'
encrypt.c: c368.h:128:2: error: unknown type name '__m256i'
encrypt.c: c368.h:129:1: error: unknown type name '__m256i'
encrypt.c: c368.h:130:1: error: unknown type name '__m256i'
encrypt.c: c368.h:165:3: error: unknown type name '__m256i'
encrypt.c: c368.h:166:3: error: unknown type name '__m256i'
encrypt.c: c368.h:167:3: error: unknown type name '__m256i'
encrypt.c: c368.h:168:3: error: unknown type name '__m256i'
encrypt.c: ...
encrypt.c: encrypt.c:90:2: error: #error "This code requires AVX2 to work"
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: c368.h:111:3: error: unknown type name '__m256i'
encrypt.c: c368.h:115:1: error: unknown type name '__m256i'
encrypt.c: c368.h:116:1: error: unknown type name '__m256i'
encrypt.c: c368.h:117:1: error: unknown type name '__m256i'
encrypt.c: c368.h:118:1: error: unknown type name '__m256i'
encrypt.c: c368.h:119:1: error: unknown type name '__m256i'
encrypt.c: c368.h:120:1: error: unknown type name '__m256i'
encrypt.c: c368.h:121:1: error: unknown type name '__m256i'
encrypt.c: c368.h:122:1: error: unknown type name '__m256i'
encrypt.c: c368.h:123:1: error: unknown type name '__m256i'
encrypt.c: c368.h:124:1: error: unknown type name '__m256i'
encrypt.c: c368.h:125:1: error: unknown type name '__m256i'
encrypt.c: c368.h:126:1: error: unknown type name '__m256i'
encrypt.c: c368.h:127:2: error: unknown type name '__m256i'
encrypt.c: c368.h:128:2: error: unknown type name '__m256i'
encrypt.c: c368.h:129:1: error: unknown type name '__m256i'
encrypt.c: c368.h:130:1: error: unknown type name '__m256i'
encrypt.c: c368.h:165:3: error: unknown type name '__m256i'
encrypt.c: c368.h:166:3: error: unknown type name '__m256i'
encrypt.c: c368.h:167:3: error: unknown type name '__m256i'
encrypt.c: c368.h:168:3: error: unknown type name '__m256i'
encrypt.c: ...

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