Implementation notes: amd64, bigmem, crypto_aead/hs1sivhiv1

Computer: bigmem
Architecture: amd64
CPU ID: GenuineIntel-000206e6-bfebfbff
SUPERCOP version: 20141124
Operation: crypto_aead
Primitive: hs1sivhiv1
TimeImplementationCompilerBenchmark dateSUPERCOP version
58950refgcc -funroll-loops -O3 -fomit-frame-pointer2015021620141124
58996refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2015021620141124
59081refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2015021620141124
59834refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2015021620141124
59863refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2015021620141124
60064refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2015021620141124
60112refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2015021620141124
60166refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2015021620141124
60225refgcc -funroll-loops -O2 -fomit-frame-pointer2015021620141124
60228refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2015021620141124
60240refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2015021620141124
60245refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2015021620141124
60248refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2015021620141124
60259refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2015021620141124
60262refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2015021620141124
60330refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2015021620141124
60690refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2015021620141124
60710refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2015021620141124
64702refgcc -march=nocona -O3 -fomit-frame-pointer2015021620141124
65053refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2015021620141124
66541refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2015021620141124
66626refgcc -march=k8 -O3 -fomit-frame-pointer2015021620141124
66773refgcc -march=barcelona -O3 -fomit-frame-pointer2015021620141124
66980refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2015021620141124
67170refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2015021620141124
67201refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2015021620141124
67218refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2015021620141124
67434refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2015021620141124
67536refgcc -O3 -fomit-frame-pointer2015021620141124
67553refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2015021620141124
67810refgcc -m64 -O3 -fomit-frame-pointer2015021620141124
69289refgcc -march=barcelona -O2 -fomit-frame-pointer2015021620141124
69312refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2015021620141124
69981refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2015021620141124
70023refgcc -march=k8 -O2 -fomit-frame-pointer2015021620141124
70975refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2015021620141124
71139refgcc -march=nocona -O2 -fomit-frame-pointer2015021620141124
72627refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2015021620141124
72916refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2015021620141124
73244refgcc -m64 -O2 -fomit-frame-pointer2015021620141124
73400refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2015021620141124
73409refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2015021620141124
73828refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2015021620141124
73882refgcc -O2 -fomit-frame-pointer2015021620141124
78033refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2015021620141124
78036refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2015021620141124
78039refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2015021620141124
78061refgcc -funroll-loops -Os -fomit-frame-pointer2015021620141124
78081refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2015021620141124
78574refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2015021620141124
78719refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2015021620141124
79461refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2015021620141124
79489refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2015021620141124
79557refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2015021620141124
79594refgcc -m64 -march=k8 -Os -fomit-frame-pointer2015021620141124
79614refgcc -m64 -march=core2 -Os -fomit-frame-pointer2015021620141124
79617refgcc -m64 -Os -fomit-frame-pointer2015021620141124
79693refgcc -march=k8 -Os -fomit-frame-pointer2015021620141124
79725refgcc -fno-schedule-insns -Os -fomit-frame-pointer2015021620141124
79756refgcc -Os -fomit-frame-pointer2015021620141124
79968refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2015021620141124
80082refgcc -march=barcelona -Os -fomit-frame-pointer2015021620141124
80801refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2015021620141124
80866refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2015021620141124
81506refgcc -march=nocona -Os -fomit-frame-pointer2015021620141124
81515refgcc -m64 -march=nocona -Os -fomit-frame-pointer2015021620141124
188380refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2015021620141124
188437refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2015021620141124
188555refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2015021620141124
188575refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2015021620141124
188660refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2015021620141124
188669refgcc -funroll-loops -O -fomit-frame-pointer2015021620141124
188680refgcc -funroll-loops -m64 -O -fomit-frame-pointer2015021620141124
189703refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2015021620141124
189799refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2015021620141124
203088refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2015021620141124
206334refgcc -march=k8 -O -fomit-frame-pointer2015021620141124
206864refgcc -m64 -march=nocona -O -fomit-frame-pointer2015021620141124
208233refgcc -m64 -march=core2 -O -fomit-frame-pointer2015021620141124
208264refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2015021620141124
208273refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2015021620141124
209681refgcc -march=barcelona -O -fomit-frame-pointer2015021620141124
209715refgcc -m64 -march=barcelona -O -fomit-frame-pointer2015021620141124
212834refgcc -m64 -O -fomit-frame-pointer2015021620141124
212871refgcc -O -fomit-frame-pointer2015021620141124
212877refgcc -fno-schedule-insns -O -fomit-frame-pointer2015021620141124
213393refgcc -march=nocona -O -fomit-frame-pointer2015021620141124
213449refgcc -m64 -march=k8 -O -fomit-frame-pointer2015021620141124
544544refgcc2015021620141124
544590refcc2015021620141124
544974refgcc -funroll-loops2015021620141124

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