Implementation notes: amd64, thinkaes, crypto_hash/hamsi

Computer: thinkaes
Architecture: amd64
CPU ID: GenuineIntel-00020652-bfebfbff
SUPERCOP version: 20100120
Operation: crypto_hash
Primitive: hamsi
TimeImplementationCompilerBenchmark dateSUPERCOP version
33309simd-1gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2010033120100120
33453simd-1gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2010033120100120
34242simd-1gcc -fno-schedule-insns -O -fomit-frame-pointer2010033120100120
34251simd-1gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2010033120100120
34263simd-1gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2010033120100120
34263simd-1gcc -m64 -march=barcelona -O -fomit-frame-pointer2010033120100120
34269simd-1gcc -march=nocona -O -fomit-frame-pointer2010033120100120
34272simd-1gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2010033120100120
34278simd-1gcc -m64 -O -fomit-frame-pointer2010033120100120
34278simd-1gcc -m64 -march=barcelona -O -fomit-frame-pointer2010033120100120
34293simd-1gcc -march=barcelona -O -fomit-frame-pointer2010033120100120
34302simd-1gcc -O -fomit-frame-pointer2010033120100120
34305simd-1gcc -funroll-loops -O -fomit-frame-pointer2010033120100120
34308simd-1gcc -m64 -march=k8 -O -fomit-frame-pointer2010033120100120
34311simd-1gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2010033120100120
34311simd-1gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2010033120100120
34314simd-1gcc -march=k8 -O -fomit-frame-pointer2010033120100120
34317simd-1gcc -m64 -march=nocona -O -fomit-frame-pointer2010033120100120
34320simd-1gcc -m64 -march=core2 -O -fomit-frame-pointer2010033120100120
34329simd-1gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2010033120100120
34335simd-1gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2010033120100120
34341simd-1gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2010033120100120
34344simd-1gcc -funroll-loops -m64 -O -fomit-frame-pointer2010033120100120
34359simd-1gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2010033120100120
34380simd-1gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2010033120100120
34452simd-1gcc -march=nocona -O3 -fomit-frame-pointer2010033120100120
34524simd-1gcc -m64 -march=nocona -O3 -fomit-frame-pointer2010033120100120
34545simd-1gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2010033120100120
34584simd-1gcc -march=nocona -O2 -fomit-frame-pointer2010033120100120
34596simd-1gcc -m64 -march=nocona -O2 -fomit-frame-pointer2010033120100120
34614simd-1gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2010033120100120
34851simd-1gcc -m64 -march=core2 -O2 -fomit-frame-pointer2010033120100120
34926simd-1gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2010033120100120
35019simd-1gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2010033120100120
35031simd-1gcc -m64 -march=core2 -O3 -fomit-frame-pointer2010033120100120
35034simd-1gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2010033120100120
35043simd-1gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2010033120100120
35049simd-1gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2010033120100120
35058simd-1gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2010033120100120
35079simd-2gcc -m64 -march=nocona -O3 -fomit-frame-pointer2010033120100120
35514simd-2gcc -m64 -march=nocona -O2 -fomit-frame-pointer2010033120100120
35592simd-1gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2010033120100120
35622simd-1gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2010033120100120
35679simd-1gcc -funroll-loops -O2 -fomit-frame-pointer2010033120100120
35739simd-1gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2010033120100120
35766simd-1gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2010033120100120
35784simd-1gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2010033120100120
35811simd-1gcc -funroll-loops -O3 -fomit-frame-pointer2010033120100120
35817simd-1gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2010033120100120
35820simd-1gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2010033120100120
35847simd-1gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2010033120100120
35934simd-2gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2010033120100120
35940simd-2gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2010033120100120
35967simd-2gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2010033120100120
35997simd-2gcc -march=nocona -O2 -fomit-frame-pointer2010033120100120
36000simd-2gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2010033120100120
36057simd-1gcc -march=k8 -O2 -fomit-frame-pointer2010033120100120
36063simd-2gcc -march=nocona -O3 -fomit-frame-pointer2010033120100120
36075simd-1gcc -m64 -O2 -fomit-frame-pointer2010033120100120
36087simd-1gcc -O3 -fomit-frame-pointer2010033120100120
36093simd-1gcc -fno-schedule-insns -O3 -fomit-frame-pointer2010033120100120
36105simd-1gcc -O2 -fomit-frame-pointer2010033120100120
36123simd-1gcc -fno-schedule-insns -O2 -fomit-frame-pointer2010033120100120
36129simd-1gcc -m64 -O3 -fomit-frame-pointer2010033120100120
36129simd-1gcc -m64 -march=k8 -O2 -fomit-frame-pointer2010033120100120
36144simd-1gcc -march=k8 -O3 -fomit-frame-pointer2010033120100120
36177simd-1gcc -m64 -march=k8 -O3 -fomit-frame-pointer2010033120100120
36267simd-2gcc -m64 -march=nocona -O -fomit-frame-pointer2010033120100120
36276simd-2gcc -march=nocona -O -fomit-frame-pointer2010033120100120
36315simd-1gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2010033120100120
36327simd-1gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2010033120100120
36333simd-1gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2010033120100120
36333simd-1gcc -march=barcelona -O2 -fomit-frame-pointer2010033120100120
36354simd-1gcc -march=barcelona -O3 -fomit-frame-pointer2010033120100120
36414simd-1gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2010033120100120
36417simd-2gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2010033120100120
36465simd-2gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2010033120100120
36471simd-2gcc -m64 -march=core2 -O -fomit-frame-pointer2010033120100120
36480simd-1gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2010033120100120
36480simd-2gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2010033120100120
36483simd-1gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2010033120100120
36492simd-2gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2010033120100120
36498simd-2gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2010033120100120
36507simd-2gcc -march=barcelona -O2 -fomit-frame-pointer2010033120100120
36510simd-2gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2010033120100120
36513simd-2gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2010033120100120
36543simd-2gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2010033120100120
36546simd-1gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2010033120100120
36549simd-2gcc -march=barcelona -O3 -fomit-frame-pointer2010033120100120
36618simd-2gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2010033120100120
36639simd-2gcc -fno-schedule-insns -O -fomit-frame-pointer2010033120100120
36672simd-2gcc -O -fomit-frame-pointer2010033120100120
36699simd-2gcc -march=k8 -O -fomit-frame-pointer2010033120100120
36702simd-2gcc -march=barcelona -O -fomit-frame-pointer2010033120100120
36705simd-2gcc -m64 -O -fomit-frame-pointer2010033120100120
36738simd-2gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2010033120100120
36741simd-2gcc -funroll-loops -m64 -O -fomit-frame-pointer2010033120100120
36747simd-2gcc -m64 -march=barcelona -O -fomit-frame-pointer2010033120100120
36762simd-2gcc -m64 -march=barcelona -O -fomit-frame-pointer2010033120100120
36765simd-2gcc -funroll-loops -O -fomit-frame-pointer2010033120100120
36777simd-2gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2010033120100120
36795simd-2gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2010033120100120
36807simd-2gcc -m64 -march=k8 -O -fomit-frame-pointer2010033120100120
36816simd-2gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2010033120100120
36816simd-2gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2010033120100120
36852simd-2gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2010033120100120
36873simd-2gcc -m64 -march=core2 -O2 -fomit-frame-pointer2010033120100120
36879simd-2gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2010033120100120
36918simd-2gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2010033120100120
36933simd-2gcc -m64 -march=core2 -O3 -fomit-frame-pointer2010033120100120
36945simd-2gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2010033120100120
36972simd-2gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2010033120100120
36978simd-2gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2010033120100120
37026simd-2gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2010033120100120
37032simd-2gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2010033120100120
37047simd-2gcc -m64 -O3 -fomit-frame-pointer2010033120100120
37059simd-2gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2010033120100120
37068simd-2gcc -funroll-loops -O3 -fomit-frame-pointer2010033120100120
37074simd-2gcc -fno-schedule-insns -O3 -fomit-frame-pointer2010033120100120
37086simd-2gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2010033120100120
37086simd-2gcc -m64 -O2 -fomit-frame-pointer2010033120100120
37101simd-2gcc -O3 -fomit-frame-pointer2010033120100120
37116simd-2gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2010033120100120
37125simd-2gcc -funroll-loops -O2 -fomit-frame-pointer2010033120100120
37134simd-2gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2010033120100120
37137simd-2gcc -O2 -fomit-frame-pointer2010033120100120
37137simd-2gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2010033120100120
37152simd-2gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2010033120100120
37167simd-2gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2010033120100120
37182simd-2gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2010033120100120
37188simd-2gcc -fno-schedule-insns -O2 -fomit-frame-pointer2010033120100120
37206simd-2gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2010033120100120
37248simd-2gcc -m64 -march=k8 -O3 -fomit-frame-pointer2010033120100120
37251simd-2gcc -m64 -march=k8 -O2 -fomit-frame-pointer2010033120100120
37284simd-2gcc -march=k8 -O3 -fomit-frame-pointer2010033120100120
37296simd-2gcc -march=k8 -O2 -fomit-frame-pointer2010033120100120
40206simd-1gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2010033120100120
44562simd-2gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2010033120100120
45966simd-1gcc -m64 -march=core2 -Os -fomit-frame-pointer2010033120100120
45975simd-1gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2010033120100120
45978simd-1gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2010033120100120
45990simd-1gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2010033120100120
46512simd-1gcc -fno-schedule-insns -Os -fomit-frame-pointer2010033120100120
46521simd-1gcc -march=k8 -Os -fomit-frame-pointer2010033120100120
46527simd-1gcc -Os -fomit-frame-pointer2010033120100120
46605simd-1gcc -m64 -march=k8 -Os -fomit-frame-pointer2010033120100120
46668simd-1gcc -m64 -Os -fomit-frame-pointer2010033120100120
46824simd-1gcc -m64 -march=barcelona -Os -fomit-frame-pointer2010033120100120
46824simd-1gcc -march=barcelona -Os -fomit-frame-pointer2010033120100120
46845simd-1gcc -m64 -march=barcelona -Os -fomit-frame-pointer2010033120100120
47052simd-2gcc -m64 -march=core2 -Os -fomit-frame-pointer2010033120100120
47085simd-2gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2010033120100120
47085simd-2gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2010033120100120
47091simd-2gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2010033120100120
47103simd-1gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2010033120100120
47109simd-1gcc -funroll-loops -m64 -Os -fomit-frame-pointer2010033120100120
47118simd-1gcc -march=nocona -Os -fomit-frame-pointer2010033120100120
47130simd-1gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2010033120100120
47145simd-1gcc -funroll-loops -Os -fomit-frame-pointer2010033120100120
47163simd-1gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2010033120100120
47175simd-1gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2010033120100120
47178simd-1gcc -m64 -march=nocona -Os -fomit-frame-pointer2010033120100120
47223simd-1gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2010033120100120
47232simd-1gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2010033120100120
47235simd-1gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2010033120100120
47952simd-2gcc -funroll-loops -m64 -Os -fomit-frame-pointer2010033120100120
47952simd-2gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2010033120100120
47958simd-2gcc -funroll-loops -Os -fomit-frame-pointer2010033120100120
47964simd-2gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2010033120100120
47979simd-2gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2010033120100120
48006simd-2gcc -march=k8 -Os -fomit-frame-pointer2010033120100120
48042simd-2gcc -m64 -Os -fomit-frame-pointer2010033120100120
48060simd-2gcc -m64 -march=k8 -Os -fomit-frame-pointer2010033120100120
48078simd-2gcc -Os -fomit-frame-pointer2010033120100120
48135simd-2gcc -fno-schedule-insns -Os -fomit-frame-pointer2010033120100120
48396simd-2gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2010033120100120
48456simd-2gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2010033120100120
48507simd-2gcc -m64 -march=barcelona -Os -fomit-frame-pointer2010033120100120
48555simd-2gcc -m64 -march=barcelona -Os -fomit-frame-pointer2010033120100120
48621simd-2gcc -march=nocona -Os -fomit-frame-pointer2010033120100120
48675simd-2gcc -m64 -march=nocona -Os -fomit-frame-pointer2010033120100120
48792simd-2gcc -march=barcelona -Os -fomit-frame-pointer2010033120100120
48795simd-2gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2010033120100120
48798simd-2gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2010033120100120
268227simd-1cc2010033120100120
268239simd-1gcc2010033120100120
268398simd-1gcc -funroll-loops2010033120100120
283503simd-2cc2010033120100120
283779simd-2gcc2010033120100120
284913simd-2gcc -funroll-loops2010033120100120

Compiler output

Implementation: crypto_hash/hamsi/simd-2
Compiler: icc
hamsi.c: hamsi.c(284): error: expression must have integral type
hamsi.c: plain_iteration(state->gt;buffer);
hamsi.c: ^
hamsi.c:
hamsi.c: hamsi.c(284): error: expression must have integral type
hamsi.c: plain_iteration(state->gt;buffer);
hamsi.c: ^
hamsi.c:
hamsi.c: hamsi.c(284): error: expression must have integral type
hamsi.c: plain_iteration(state->gt;buffer);
hamsi.c: ...
hamsi.c:
hamsi.c: hamsi.c(284): error: expression must have integral type
hamsi.c: plain_iteration(state->gt;buffer);
hamsi.c: ^
hamsi.c:
hamsi.c: hamsi.c(284): error: expression must have integral type
hamsi.c: plain_iteration(state->gt;buffer);
hamsi.c: ^
hamsi.c:
hamsi.c: compilation aborted for hamsi.c (code 4)

Number of similar (compiler,implementation) pairs: 35, namely:
CompilerImplementations
icc simd-2
icc -O1 -static simd-2
icc -O1 -static -no-vec simd-2
icc -O1 -xP -static simd-2
icc -O1 -xP -static -no-vec simd-2
icc -O1 -xW -static simd-2
icc -O1 -xW -static -no-vec simd-2
icc -O2 -static simd-2
icc -O2 -static -no-vec simd-2
icc -O2 -xP -static simd-2
icc -O2 -xP -static -no-vec simd-2
icc -O2 -xW -static simd-2
icc -O2 -xW -static -no-vec simd-2
icc -O3 -static simd-2
icc -O3 -static -no-vec simd-2
icc -O3 -xP -static simd-2
icc -O3 -xP -static -no-vec simd-2
icc -O3 -xW -static simd-2
icc -O3 -xW -static -no-vec simd-2
icc -Os -static simd-2
icc -Os -static -no-vec simd-2
icc -Os -xP -static simd-2
icc -Os -xP -static -no-vec simd-2
icc -Os -xW -static simd-2
icc -Os -xW -static -no-vec simd-2
icc -m64 -O1 -static simd-2
icc -m64 -O1 -static -no-vec simd-2
icc -m64 -O2 -static simd-2
icc -m64 -O2 -static -no-vec simd-2
icc -m64 -O3 -static simd-2
icc -m64 -O3 -static -no-vec simd-2
icc -m64 -Os -static simd-2
icc -m64 -Os -static -no-vec simd-2
icc -m64 -xHost -vec-report0 -static simd-2
icc -no-vec simd-2

Compiler output

Implementation: crypto_hash/hamsi/simd-1
Compiler: icc
hamsi.c: hamsi.c(287): error: expression must have integral type
hamsi.c: plain_iteration(state->gt;buffer);
hamsi.c: ^
hamsi.c:
hamsi.c: hamsi.c(287): error: expression must have integral type
hamsi.c: plain_iteration(state->gt;buffer);
hamsi.c: ^
hamsi.c:
hamsi.c: hamsi.c(287): error: expression must have integral type
hamsi.c: plain_iteration(state->gt;buffer);
hamsi.c: ...
hamsi.c:
hamsi.c: hamsi.c(287): error: expression must have integral type
hamsi.c: plain_iteration(state->gt;buffer);
hamsi.c: ^
hamsi.c:
hamsi.c: hamsi.c(287): error: expression must have integral type
hamsi.c: plain_iteration(state->gt;buffer);
hamsi.c: ^
hamsi.c:
hamsi.c: compilation aborted for hamsi.c (code 4)

Number of similar (compiler,implementation) pairs: 35, namely:
CompilerImplementations
icc simd-1
icc -O1 -static simd-1
icc -O1 -static -no-vec simd-1
icc -O1 -xP -static simd-1
icc -O1 -xP -static -no-vec simd-1
icc -O1 -xW -static simd-1
icc -O1 -xW -static -no-vec simd-1
icc -O2 -static simd-1
icc -O2 -static -no-vec simd-1
icc -O2 -xP -static simd-1
icc -O2 -xP -static -no-vec simd-1
icc -O2 -xW -static simd-1
icc -O2 -xW -static -no-vec simd-1
icc -O3 -static simd-1
icc -O3 -static -no-vec simd-1
icc -O3 -xP -static simd-1
icc -O3 -xP -static -no-vec simd-1
icc -O3 -xW -static simd-1
icc -O3 -xW -static -no-vec simd-1
icc -Os -static simd-1
icc -Os -static -no-vec simd-1
icc -Os -xP -static simd-1
icc -Os -xP -static -no-vec simd-1
icc -Os -xW -static simd-1
icc -Os -xW -static -no-vec simd-1
icc -m64 -O1 -static simd-1
icc -m64 -O1 -static -no-vec simd-1
icc -m64 -O2 -static simd-1
icc -m64 -O2 -static -no-vec simd-1
icc -m64 -O3 -static simd-1
icc -m64 -O3 -static -no-vec simd-1
icc -m64 -Os -static simd-1
icc -m64 -Os -static -no-vec simd-1
icc -m64 -xHost -vec-report0 -static simd-1
icc -no-vec simd-1