Implementation notes: amd64, h5nano, crypto_aead/hs1sivhiv1

Computer: h5nano
Architecture: amd64
CPU ID: CentaurHauls-000006f8-afc9fbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: hs1sivhiv1
TimeImplementationCompilerBenchmark dateSUPERCOP version
125395refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014101720141014
125395refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014101720141014
128535refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101720141014
128545refclang -O3 -fomit-frame-pointer2014101720141014
128605refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014101720141014
128615refclang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer2014101720141014
128615refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101720141014
130320refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014101720141014
130320refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014101720141014
130860refgcc -funroll-loops -O3 -fomit-frame-pointer2014101720141014
130860refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014101720141014
130860refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014101720141014
131595refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014101720141014
131610refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014101720141014
135660refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014101720141014
135660refgcc -march=nocona -O3 -fomit-frame-pointer2014101720141014
139725refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014101720141014
139760refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014101720141014
139765refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2014101720141014
139775refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014101720141014
139850refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014101720141014
140170refgcc -march=k8 -O3 -fomit-frame-pointer2014101720141014
140310refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014101720141014
140475refgcc -O3 -fomit-frame-pointer2014101720141014
140505refgcc -m64 -O3 -fomit-frame-pointer2014101720141014
140510refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014101720141014
141475refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014101720141014
141640refgcc -march=barcelona -O3 -fomit-frame-pointer2014101720141014
142875refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014101720141014
142930refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014101720141014
142980refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014101720141014
142980refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014101720141014
143670refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014101720141014
143670refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014101720141014
143730refgcc -funroll-loops -O2 -fomit-frame-pointer2014101720141014
144805refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014101720141014
144860refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014101720141014
155575refgcc -march=k8 -O2 -fomit-frame-pointer2014101720141014
155615refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014101720141014
160630refgcc -O2 -fomit-frame-pointer2014101720141014
160695refgcc -m64 -O2 -fomit-frame-pointer2014101720141014
161140refgcc -march=nocona -O2 -fomit-frame-pointer2014101720141014
161180refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014101720141014
161490refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014101720141014
161550refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014101720141014
162000refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014101720141014
162035refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2014101720141014
163025refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014101720141014
165560refgcc -march=barcelona -O2 -fomit-frame-pointer2014101720141014
165600refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014101720141014
174110refgcc -march=barcelona -Os -fomit-frame-pointer2014101720141014
174125refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014101720141014
174230refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014101720141014
174230refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014101720141014
174300refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014101720141014
174320refgcc -funroll-loops -Os -fomit-frame-pointer2014101720141014
174350refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014101720141014
174395refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014101720141014
174475refgcc -Os -fomit-frame-pointer2014101720141014
174560refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014101720141014
174610refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014101720141014
174630refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014101720141014
174810refgcc -march=nocona -Os -fomit-frame-pointer2014101720141014
174860refgcc -march=k8 -Os -fomit-frame-pointer2014101720141014
174895refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2014101720141014
174905refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014101720141014
174905refgcc -m64 -Os -fomit-frame-pointer2014101720141014
174955refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014101720141014
175040refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014101720141014
176165refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014101720141014
176300refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014101720141014
176405refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014101720141014
179375refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014101720141014
179980refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014101720141014
322035refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014101720141014
322095refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014101720141014
322975refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014101720141014
324210refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014101720141014
324225refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014101720141014
324320refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014101720141014
324370refgcc -funroll-loops -O -fomit-frame-pointer2014101720141014
327300refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014101720141014
328640refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014101720141014
341855refgcc -march=k8 -O -fomit-frame-pointer2014101720141014
343185refgcc -m64 -march=k8 -O -fomit-frame-pointer2014101720141014
347885refgcc -O -fomit-frame-pointer2014101720141014
347970refgcc -m64 -march=corei7 -O -fomit-frame-pointer2014101720141014
349270refgcc -m64 -march=core2 -O -fomit-frame-pointer2014101720141014
349330refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014101720141014
349370refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014101720141014
350195refgcc -m64 -O -fomit-frame-pointer2014101720141014
350235refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014101720141014
351545refgcc -fno-schedule-insns -O -fomit-frame-pointer2014101720141014
360580refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014101720141014
361975refgcc -march=barcelona -O -fomit-frame-pointer2014101720141014
363660refgcc -march=nocona -O -fomit-frame-pointer2014101720141014
363665refgcc -m64 -march=nocona -O -fomit-frame-pointer2014101720141014
786350refgcc2014101720141014
787755refgcc -funroll-loops2014101720141014
787890refcc2014101720141014

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: 91, 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 -O3 -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 -O3 -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 -O3 -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