Implementation notes: amd64, haswell, crypto_hash/lane256

Computer: haswell
Architecture: amd64
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20130419
Operation: crypto_hash
Primitive: lane256
TimeImplementationCompilerBenchmark dateSUPERCOP version
41726cgcc -march=barcelona -O -fomit-frame-pointer2013060820130419
42228cgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2013060820130419
42636cgcc -m64 -march=corei7 -O -fomit-frame-pointer2013060820130419
43016cgcc -fno-schedule-insns -O -fomit-frame-pointer2013060820130419
43252cgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2013060820130419
43384cgcc -m64 -O -fomit-frame-pointer2013060820130419
43928cgcc -m64 -march=k8 -O -fomit-frame-pointer2013060820130419
44516cgcc -funroll-loops -m64 -O -fomit-frame-pointer2013060820130419
44524cgcc -march=nocona -O -fomit-frame-pointer2013060820130419
44560cgcc -m64 -march=nocona -O -fomit-frame-pointer2013060820130419
46296cgcc -m64 -march=barcelona -O -fomit-frame-pointer2013060820130419
46332cgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2013060820130419
46392cgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2013060820130419
46792cgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2013060820130419
46892cgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2013060820130419
47712cgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2013060820130419
48228cgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2013060820130419
48244cgcc -m64 -march=core2 -O -fomit-frame-pointer2013060820130419
48277cgcc -funroll-loops -O -fomit-frame-pointer2013060820130419
48521cgcc -march=k8 -O -fomit-frame-pointer2013060820130419
48584cgcc -m64 -march=k8 -O2 -fomit-frame-pointer2013060820130419
48778cgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2013060820130419
48852cgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2013060820130419
48927cgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2013060820130419
48956cgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2013060820130419
49032cgcc -m64 -O2 -fomit-frame-pointer2013060820130419
49155cgcc -O -fomit-frame-pointer2013060820130419
50245cgcc -funroll-loops -O3 -fomit-frame-pointer2013060820130419
50324cgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2013060820130419
51633cgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2013060820130419
51720cgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2013060820130419
51964cgcc -m64 -march=core2 -O2 -fomit-frame-pointer2013060820130419
52380cgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2013060820130419
52408cgcc -Os -fomit-frame-pointer2013060820130419
52444cgcc -march=barcelona -O2 -fomit-frame-pointer2013060820130419
52528cgcc -funroll-loops -Os -fomit-frame-pointer2013060820130419
52696cgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2013060820130419
52748cgcc -funroll-loops -O2 -fomit-frame-pointer2013060820130419
53020cgcc -march=barcelona -O3 -fomit-frame-pointer2013060820130419
53036cgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2013060820130419
53272cgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2013060820130419
53404cgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2013060820130419
53454cgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2013060820130419
53504cgcc -march=k8 -O2 -fomit-frame-pointer2013060820130419
53510cgcc -funroll-loops -m64 -Os -fomit-frame-pointer2013060820130419
53632cgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2013060820130419
53912cgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2013060820130419
53914cgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2013060820130419
53928cgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2013060820130419
53962cgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2013060820130419
54056cgcc -march=nocona -O2 -fomit-frame-pointer2013060820130419
54110cgcc -m64 -march=core2 -Os -fomit-frame-pointer2013060820130419
54328cgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2013060820130419
54498cgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2013060820130419
54740cgcc -fno-schedule-insns -Os -fomit-frame-pointer2013060820130419
54770cgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2013060820130419
54784cgcc -O3 -fomit-frame-pointer2013060820130419
55050cgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2013060820130419
55194cgcc -O2 -fomit-frame-pointer2013060820130419
55402cgcc -m64 -march=barcelona -Os -fomit-frame-pointer2013060820130419
55488cgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2013060820130419
55676cgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2013060820130419
55864cgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2013060820130419
55932cgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2013060820130419
56000cgcc -m64 -march=nocona -O3 -fomit-frame-pointer2013060820130419
56016cgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2013060820130419
56016cgcc -march=nocona -O3 -fomit-frame-pointer2013060820130419
56076cgcc -m64 -march=corei7 -Os -fomit-frame-pointer2013060820130419
56124cgcc -fno-schedule-insns -O3 -fomit-frame-pointer2013060820130419
56132cgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2013060820130419
56140cgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2013060820130419
56152cgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2013060820130419
56172cgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2013060820130419
56524cgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2013060820130419
56636cgcc -march=barcelona -Os -fomit-frame-pointer2013060820130419
56916cgcc -m64 -march=k8 -O3 -fomit-frame-pointer2013060820130419
57516cgcc -fno-schedule-insns -O2 -fomit-frame-pointer2013060820130419
57616cgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2013060820130419
57793cgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2013060820130419
58296cgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2013060820130419
58381cgcc -m64 -O3 -fomit-frame-pointer2013060820130419
58874cgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2013060820130419
58878cgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2013060820130419
58899cgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2013060820130419
58920cgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2013060820130419
58948cgcc -m64 -march=nocona -Os -fomit-frame-pointer2013060820130419
58994cgcc -march=k8 -O3 -fomit-frame-pointer2013060820130419
59007cgcc -m64 -march=k8 -Os -fomit-frame-pointer2013060820130419
59222cgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2013060820130419
59293cgcc -m64 -Os -fomit-frame-pointer2013060820130419
59338cgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2013060820130419
59392cgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2013060820130419
60310cgcc -m64 -march=core2 -O3 -fomit-frame-pointer2013060820130419
60330cgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2013060820130419
60813cgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2013060820130419
61501cgcc -m64 -march=nocona -O2 -fomit-frame-pointer2013060820130419
61656cgcc -march=k8 -Os -fomit-frame-pointer2013060820130419
62580cgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2013060820130419
62690cgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2013060820130419
63094cgcc -march=nocona -Os -fomit-frame-pointer2013060820130419
64448cclang -O3 -mavx2013060820130419
66836cclang -O32013060820130419
67772bitslicegcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2013060820130419
67788bitslicegcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2013060820130419
67848bitslicegcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2013060820130419
67860bitslicegcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2013060820130419
67896bitslicegcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2013060820130419
68180ccc2013060820130419
68548bitslicegcc -m64 -O2 -fomit-frame-pointer2013060820130419
68556bitslicegcc -m64 -O -fomit-frame-pointer2013060820130419
68608bitslicegcc -m64 -march=barcelona -O3 -fomit-frame-pointer2013060820130419
68628bitslicegcc -funroll-loops -m64 -O -fomit-frame-pointer2013060820130419
68656bitslicegcc -funroll-loops -O -fomit-frame-pointer2013060820130419
68656bitslicegcc -m64 -O3 -fomit-frame-pointer2013060820130419
68888bitslicegcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2013060820130419
69520bitslicegcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2013060820130419
70064bitslicegcc -m64 -march=barcelona -Os -fomit-frame-pointer2013060820130419
70068bitslicegcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2013060820130419
70089bitslicegcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2013060820130419
70093bitslicegcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2013060820130419
70093bitslicegcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2013060820130419
70134bitslicegcc -m64 -march=nocona -Os -fomit-frame-pointer2013060820130419
70176bitslicegcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2013060820130419
70238bitslicegcc -m64 -march=k8 -O2 -fomit-frame-pointer2013060820130419
70246bitslicegcc -m64 -Os -fomit-frame-pointer2013060820130419
70251bitslicegcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2013060820130419
70267bitslicegcc -m64 -march=k8 -O3 -fomit-frame-pointer2013060820130419
70284bitslicegcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2013060820130419
70337bitslicegcc -march=barcelona -O3 -fomit-frame-pointer2013060820130419
70362bitslicegcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2013060820130419
70441bitslicegcc -funroll-loops -O2 -fomit-frame-pointer2013060820130419
70532bitslicegcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2013060820130419
70611bitslicegcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2013060820130419
70830bitslicegcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2013060820130419
71112bitslicegcc -fno-schedule-insns -O2 -fomit-frame-pointer2013060820130419
71352bitslicegcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2013060820130419
72144bitslicegcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2013060820130419
72676bitslicegcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2013060820130419
72680bitslicegcc -funroll-loops -Os -fomit-frame-pointer2013060820130419
72700bitslicegcc -m64 -march=corei7 -Os -fomit-frame-pointer2013060820130419
72704bitslicegcc -march=nocona -Os -fomit-frame-pointer2013060820130419
72740bitslicegcc -m64 -march=nocona -O3 -fomit-frame-pointer2013060820130419
72744bitslicegcc -march=k8 -Os -fomit-frame-pointer2013060820130419
72764bitslicegcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2013060820130419
72776bitslicegcc -m64 -march=core-avx-i -O -fomit-frame-pointer2013060820130419
72792bitslicegcc -m64 -march=barcelona -O2 -fomit-frame-pointer2013060820130419
72812bitslicegcc -funroll-loops -m64 -O3 -fomit-frame-pointer2013060820130419
72824bitslicegcc -m64 -march=k8 -O -fomit-frame-pointer2013060820130419
72835bitslicegcc -fno-schedule-insns -O -fomit-frame-pointer2013060820130419
72848bitslicegcc -m64 -march=corei7 -O3 -fomit-frame-pointer2013060820130419
72848bitslicegcc -m64 -march=nocona -O -fomit-frame-pointer2013060820130419
72852bitslicegcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2013060820130419
72864bitslicegcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2013060820130419
72948bitslicegcc -march=barcelona -O -fomit-frame-pointer2013060820130419
72972bitslicegcc -m64 -march=core2 -Os -fomit-frame-pointer2013060820130419
72976bitslicegcc -m64 -march=barcelona -O -fomit-frame-pointer2013060820130419
73012bitslicegcc -march=barcelona -Os -fomit-frame-pointer2013060820130419
73020bitslicegcc -m64 -march=corei7 -O -fomit-frame-pointer2013060820130419
73136bitslicegcc -funroll-loops2013060820130419
73144bitslicegcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2013060820130419
73148bitslicegcc2013060820130419
73164bitslicegcc -fno-schedule-insns -Os -fomit-frame-pointer2013060820130419
73192bitslicegcc -march=nocona -O3 -fomit-frame-pointer2013060820130419
73420bitslicegcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2013060820130419
73460bitslicegcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2013060820130419
73476bitslicegcc -m64 -march=nocona -O2 -fomit-frame-pointer2013060820130419
73556bitslicegcc -march=nocona -O2 -fomit-frame-pointer2013060820130419
73560bitslicegcc -m64 -march=corei7-avx -O -fomit-frame-pointer2013060820130419
73648bitslicegcc -march=barcelona -O2 -fomit-frame-pointer2013060820130419
73836bitslicegcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2013060820130419
73916cgcc -funroll-loops2013060820130419
74296bitslicegcc -m64 -march=core2 -O3 -fomit-frame-pointer2013060820130419
74668bitslicegcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2013060820130419
75204bitslicegcc -O3 -fomit-frame-pointer2013060820130419
75412bitslicegcc -Os -fomit-frame-pointer2013060820130419
75426bitslicegcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2013060820130419
75458bitslicegcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2013060820130419
75532bitslicegcc -funroll-loops -m64 -Os -fomit-frame-pointer2013060820130419
75542bitslicegcc -m64 -march=core2 -O2 -fomit-frame-pointer2013060820130419
75608bitslicegcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2013060820130419
75648bitsliceclang -O32013060820130419
75662bitslicegcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2013060820130419
75706bitslicegcc -funroll-loops -march=nocona -O -fomit-frame-pointer2013060820130419
75728bitslicegcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2013060820130419
75864bitslicegcc -O2 -fomit-frame-pointer2013060820130419
75872bitslicegcc -m64 -march=core2 -O -fomit-frame-pointer2013060820130419
75880bitslicegcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2013060820130419
76002bitslicegcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2013060820130419
76096bitslicegcc -funroll-loops -O3 -fomit-frame-pointer2013060820130419
76134bitslicegcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2013060820130419
76142bitslicegcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2013060820130419
76200bitslicegcc -m64 -march=corei7 -O2 -fomit-frame-pointer2013060820130419
76212bitslicegcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2013060820130419
76244cgcc2013060820130419
76514bitslicegcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2013060820130419
76780bitslicegcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2013060820130419
77090bitsliceclang -O3 -mavx2013060820130419
78516bitslicegcc -m64 -march=k8 -Os -fomit-frame-pointer2013060820130419
78556bitslicegcc -funroll-loops -m64 -O2 -fomit-frame-pointer2013060820130419
78564bitslicegcc -funroll-loops -march=k8 -O -fomit-frame-pointer2013060820130419
78584bitslicegcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2013060820130419
78860bitslicegcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2013060820130419
78880bitslicegcc -fno-schedule-insns -O3 -fomit-frame-pointer2013060820130419
79076bitslicegcc -march=nocona -O -fomit-frame-pointer2013060820130419
79100bitslicegcc -O -fomit-frame-pointer2013060820130419
79516bitslicegcc -march=k8 -O2 -fomit-frame-pointer2013060820130419
79760bitslicegcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2013060820130419
80000bitslicegcc -march=k8 -O3 -fomit-frame-pointer2013060820130419
82099bitslicegcc -march=k8 -O -fomit-frame-pointer2013060820130419
83984bitslicecc2013060820130419

Compiler output

Implementation: crypto_hash/lane256/bitslice
Compiler: clang -O3
finalize.s: clang: warning: argument unused during compilation: '-I .'
finalize.s: clang: warning: argument unused during compilation: '-I /home/krovetz/supercop-20130419/supercop-data/haswell/amd64/include'
lane256compress.s: clang: warning: argument unused during compilation: '-I .'
lane256compress.s: clang: warning: argument unused during compilation: '-I /home/krovetz/supercop-20130419/supercop-data/haswell/amd64/include'

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 bitslice

Compiler output

Implementation: crypto_hash/lane256/bitslice
Compiler: clang -O3 -mavx
finalize.s: clang: warning: argument unused during compilation: '-mavx'
finalize.s: clang: warning: argument unused during compilation: '-I .'
finalize.s: clang: warning: argument unused during compilation: '-I /home/krovetz/supercop-20130419/supercop-data/haswell/amd64/include'
lane256compress.s: clang: warning: argument unused during compilation: '-mavx'
lane256compress.s: clang: warning: argument unused during compilation: '-I .'
lane256compress.s: clang: warning: argument unused during compilation: '-I /home/krovetz/supercop-20130419/supercop-data/haswell/amd64/include'

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -O3 -mavx bitslice