Implementation notes: amd64, jos, crypto_aead/hs1sivhiv1

Computer: jos
Architecture: amd64
CPU ID: GenuineIntel-00010676-bfebfbff
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: hs1sivhiv1
TimeImplementationCompilerBenchmark dateSUPERCOP version
70680refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014091120140907
71505refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2014091120140907
71573refgcc -funroll-loops -O3 -fomit-frame-pointer2014091120140907
72525refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2014091120140907
73088refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2014091120140907
73335refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2014091120140907
73560refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2014091120140907
74250refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2014091120140907
74377refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2014091120140907
76057refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2014091120140907
76065refgcc -march=barcelona -O3 -fomit-frame-pointer2014091120140907
76305refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2014091120140907
76365refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2014091120140907
76553refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2014091120140907
76620refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2014091120140907
76890refgcc -march=nocona -O3 -fomit-frame-pointer2014091120140907
77745refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2014091120140907
77813refgcc -march=k8 -O3 -fomit-frame-pointer2014091120140907
78127refgcc -m64 -O3 -fomit-frame-pointer2014091120140907
78135refgcc -O3 -fomit-frame-pointer2014091120140907
78218refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014091120140907
78615refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2014091120140907
85500refgcc -funroll-loops -O2 -fomit-frame-pointer2014091120140907
85552refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014091120140907
85680refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2014091120140907
86040refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2014091120140907
86235refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2014091120140907
87578refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2014091120140907
87795refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2014091120140907
88500refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2014091120140907
88733refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2014091120140907
91147refgcc -march=barcelona -O2 -fomit-frame-pointer2014091120140907
91200refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2014091120140907
92782refgcc -O2 -fomit-frame-pointer2014091120140907
93600refgcc -m64 -O2 -fomit-frame-pointer2014091120140907
93975refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014091120140907
96060refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2014091120140907
96593refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2014091120140907
96645refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2014091120140907
96833refgcc -march=nocona -O2 -fomit-frame-pointer2014091120140907
96870refgcc -funroll-loops -Os -fomit-frame-pointer2014091120140907
97028refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2014091120140907
97545refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2014091120140907
97560refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2014091120140907
97725refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014091120140907
98820refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2014091120140907
98820refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2014091120140907
98872refgcc -march=k8 -O2 -fomit-frame-pointer2014091120140907
99150refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2014091120140907
99173refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2014091120140907
99450refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2014091120140907
99465refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2014091120140907
99622refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2014091120140907
101355refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2014091120140907
101408refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2014091120140907
101805refgcc -march=nocona -Os -fomit-frame-pointer2014091120140907
101820refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2014091120140907
102173refgcc -march=barcelona -Os -fomit-frame-pointer2014091120140907
102570refgcc -m64 -march=nocona -Os -fomit-frame-pointer2014091120140907
102630refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2014091120140907
102975refgcc -m64 -march=core2 -Os -fomit-frame-pointer2014091120140907
103455refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014091120140907
103485refgcc -m64 -march=k8 -Os -fomit-frame-pointer2014091120140907
103568refgcc -march=k8 -Os -fomit-frame-pointer2014091120140907
103703refgcc -Os -fomit-frame-pointer2014091120140907
103852refgcc -m64 -Os -fomit-frame-pointer2014091120140907
203438refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2014091120140907
203610refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2014091120140907
203797refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2014091120140907
203805refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2014091120140907
204045refgcc -funroll-loops -m64 -O -fomit-frame-pointer2014091120140907
204150refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014091120140907
204405refgcc -funroll-loops -O -fomit-frame-pointer2014091120140907
204720refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2014091120140907
205125refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2014091120140907
208823refgcc -m64 -march=barcelona -O -fomit-frame-pointer2014091120140907
208845refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2014091120140907
208860refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2014091120140907
208928refgcc -march=k8 -O -fomit-frame-pointer2014091120140907
209010refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2014091120140907
209235refgcc -march=barcelona -O -fomit-frame-pointer2014091120140907
209408refgcc -m64 -march=core2 -O -fomit-frame-pointer2014091120140907
210022refgcc -m64 -march=k8 -O -fomit-frame-pointer2014091120140907
215887refgcc -m64 -O -fomit-frame-pointer2014091120140907
215925refgcc -fno-schedule-insns -O -fomit-frame-pointer2014091120140907
215933refgcc -O -fomit-frame-pointer2014091120140907
230355refgcc -m64 -march=nocona -O -fomit-frame-pointer2014091120140907
230813refgcc -march=nocona -O -fomit-frame-pointer2014091120140907
675165refgcc2014091120140907
681698refcc2014091120140907
685650refgcc -funroll-loops2014091120140907

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: '__m256i' undeclared (first use in this function)
encrypt.c: c368.h:110:3: note: each undeclared identifier is reported only once for each function it appears in
encrypt.c: c368.h:110:11: error: expected ';' before 'rot16'
encrypt.c: c368.h:111:11: error: expected ';' before 'rot8'
encrypt.c: c368.h:115:9: error: expected ';' before 'x_0'
encrypt.c: c368.h:116:9: error: expected ';' before 'x_1'
encrypt.c: c368.h:117:9: error: expected ';' before 'x_2'
encrypt.c: c368.h:118:9: error: expected ';' before 'x_3'
encrypt.c: c368.h:119:9: error: expected ';' before 'x_4'
encrypt.c: c368.h:120:9: error: expected ';' before 'x_5'
encrypt.c: c368.h:121:9: error: expected ';' before 'x_6'
encrypt.c: c368.h:122:9: error: expected ';' before 'x_7'
encrypt.c: c368.h:123:9: error: expected ';' before 'x_8'
encrypt.c: c368.h:124:9: error: expected ';' before 'x_9'
encrypt.c: c368.h:125:9: error: expected ';' before 'x_10'
encrypt.c: c368.h:126:9: error: expected ';' before 'x_11'
encrypt.c: c368.h:127:10: error: expected ';' before 'x_12'
encrypt.c: c368.h:128:10: error: expected ';' before 'x_13'
encrypt.c: c368.h:129:9: error: expected ';' before 'x_14'
encrypt.c: c368.h:130:9: error: expected ';' before 'x_15'
encrypt.c: c368.h:165:11: error: expected ';' before 'orig0'
encrypt.c: c368.h:166:11: error: expected ';' before 'orig1'
encrypt.c: ...

Number of similar (compiler,implementation) pairs: 87, 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=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: 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: '__m256i' undeclared (first use in this function)
encrypt.c: c368.h:110:3: note: each undeclared identifier is reported only once for each function it appears in
encrypt.c: c368.h:110:11: error: expected ';' before 'rot16'
encrypt.c: c368.h:111:11: error: expected ';' before 'rot8'
encrypt.c: c368.h:115:9: error: expected ';' before 'x_0'
encrypt.c: c368.h:116:9: error: expected ';' before 'x_1'
encrypt.c: c368.h:117:9: error: expected ';' before 'x_2'
encrypt.c: c368.h:118:9: error: expected ';' before 'x_3'
encrypt.c: c368.h:119:9: error: expected ';' before 'x_4'
encrypt.c: c368.h:120:9: error: expected ';' before 'x_5'
encrypt.c: c368.h:121:9: error: expected ';' before 'x_6'
encrypt.c: c368.h:122:9: error: expected ';' before 'x_7'
encrypt.c: c368.h:123:9: error: expected ';' before 'x_8'
encrypt.c: c368.h:124:9: error: expected ';' before 'x_9'
encrypt.c: c368.h:125:9: error: expected ';' before 'x_10'
encrypt.c: c368.h:126:9: error: expected ';' before 'x_11'
encrypt.c: c368.h:127:10: error: expected ';' before 'x_12'
encrypt.c: c368.h:128:10: error: expected ';' before 'x_13'
encrypt.c: c368.h:129:9: error: expected ';' before 'x_14'
encrypt.c: c368.h:130:9: error: expected ';' before 'x_15'
encrypt.c: c368.h:165:11: error: expected ';' before 'orig0'
encrypt.c: c368.h:166:11: error: expected ';' before 'orig1'
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: '__m256i' undeclared (first use in this function)
encrypt.c: c368.h:110:3: note: each undeclared identifier is reported only once for each function it appears in
encrypt.c: c368.h:110:11: error: expected ';' before 'rot16'
encrypt.c: c368.h:111:11: error: expected ';' before 'rot8'
encrypt.c: c368.h:115:9: error: expected ';' before 'x_0'
encrypt.c: c368.h:116:9: error: expected ';' before 'x_1'
encrypt.c: c368.h:117:9: error: expected ';' before 'x_2'
encrypt.c: c368.h:118:9: error: expected ';' before 'x_3'
encrypt.c: c368.h:119:9: error: expected ';' before 'x_4'
encrypt.c: c368.h:120:9: error: expected ';' before 'x_5'
encrypt.c: c368.h:121:9: error: expected ';' before 'x_6'
encrypt.c: c368.h:122:9: error: expected ';' before 'x_7'
encrypt.c: c368.h:123:9: error: expected ';' before 'x_8'
encrypt.c: c368.h:124:9: error: expected ';' before 'x_9'
encrypt.c: c368.h:125:9: error: expected ';' before 'x_10'
encrypt.c: c368.h:126:9: error: expected ';' before 'x_11'
encrypt.c: c368.h:127:10: error: expected ';' before 'x_12'
encrypt.c: c368.h:128:10: error: expected ';' before 'x_13'
encrypt.c: c368.h:129:9: error: expected ';' before 'x_14'
encrypt.c: c368.h:130:9: error: expected ';' before 'x_15'
encrypt.c: c368.h:165:11: error: expected ';' before 'orig0'
encrypt.c: c368.h:166:11: error: expected ';' before 'orig1'
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