Implementation notes: amd64, haswell, crypto_hash/fugue2

Computer: haswell
Architecture: amd64
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20130419
Operation: crypto_hash
Primitive: fugue2
TimeImplementationCompilerBenchmark dateSUPERCOP version
24252cop_opt32gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2013060820130419
24564cop_opt32gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2013060820130419
24572cop_opt32gcc -funroll-loops -O -fomit-frame-pointer2013060820130419
24656cop_opt32gcc -funroll-loops -m64 -O -fomit-frame-pointer2013060820130419
24664cop_opt32gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2013060820130419
24664cop_opt32gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2013060820130419
24668cop_opt32gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2013060820130419
24696cop_opt32gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2013060820130419
24836cop_opt32gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2013060820130419
24836cop_opt32gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2013060820130419
25136cop_opt32gcc -fno-schedule-insns -O -fomit-frame-pointer2013060820130419
25152cop_opt32gcc -m64 -march=corei7 -O -fomit-frame-pointer2013060820130419
25156cop_opt32gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2013060820130419
25164cop_opt32gcc -m64 -march=corei7-avx -O -fomit-frame-pointer2013060820130419
25192cop_opt32gcc -m64 -O -fomit-frame-pointer2013060820130419
25192cop_opt32gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2013060820130419
25220cop_opt32gcc -O -fomit-frame-pointer2013060820130419
25232cop_opt32gcc -m64 -march=core-avx-i -O -fomit-frame-pointer2013060820130419
25240cop_opt32gcc -m64 -march=core2 -O -fomit-frame-pointer2013060820130419
25300cop_opt32gcc -march=barcelona -O -fomit-frame-pointer2013060820130419
25320cop_opt32gcc -march=k8 -O -fomit-frame-pointer2013060820130419
25376cop_opt32gcc -m64 -march=barcelona -O -fomit-frame-pointer2013060820130419
25384cop_opt32gcc -m64 -march=k8 -O -fomit-frame-pointer2013060820130419
25692cop_opt32gcc -m64 -march=nocona -O -fomit-frame-pointer2013060820130419
25740cop_opt32gcc -march=nocona -O -fomit-frame-pointer2013060820130419
30816cop_opt32gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2013060820130419
30884cop_opt32gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2013060820130419
30924cop_opt32gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2013060820130419
30940cop_opt32gcc -funroll-loops -O3 -fomit-frame-pointer2013060820130419
30956cop_opt32gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2013060820130419
30976cop_opt32gcc -m64 -march=core2 -O2 -fomit-frame-pointer2013060820130419
31008cop_opt32gcc -m64 -march=core2 -O3 -fomit-frame-pointer2013060820130419
31008cop_opt32gcc -m64 -march=corei7 -O3 -fomit-frame-pointer2013060820130419
31020cop_opt32gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2013060820130419
31040cop_opt32gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2013060820130419
31132cop_opt32gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2013060820130419
31136cop_opt32gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2013060820130419
31140cop_opt32gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2013060820130419
31152cop_opt32gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2013060820130419
31156cop_opt32gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2013060820130419
31164cop_opt32gcc -funroll-loops -O2 -fomit-frame-pointer2013060820130419
31172cop_opt32gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2013060820130419
31184cop_opt32gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2013060820130419
31196cop_opt32gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2013060820130419
31216cop_opt32gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2013060820130419
31220cop_opt32gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2013060820130419
31232cop_opt32gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2013060820130419
31240cop_opt32gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2013060820130419
31256cop_opt32gcc -m64 -march=k8 -O2 -fomit-frame-pointer2013060820130419
31268cop_opt32gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2013060820130419
31268cop_opt32gcc -m64 -O3 -fomit-frame-pointer2013060820130419
31272cop_opt32gcc -march=barcelona -O2 -fomit-frame-pointer2013060820130419
31288cop_opt32gcc -O3 -fomit-frame-pointer2013060820130419
31296cop_opt32gcc -march=barcelona -O3 -fomit-frame-pointer2013060820130419
31312cop_opt32gcc -m64 -march=k8 -O3 -fomit-frame-pointer2013060820130419
31348cop_opt32gcc -march=k8 -O3 -fomit-frame-pointer2013060820130419
31368cop_opt32gcc -march=k8 -O2 -fomit-frame-pointer2013060820130419
31380cop_opt32gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2013060820130419
31396cop_opt32gcc -fno-schedule-insns -O3 -fomit-frame-pointer2013060820130419
31420cop_opt32gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2013060820130419
31428cop_opt32gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2013060820130419
31472cop_opt32gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2013060820130419
31532cop_opt32gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2013060820130419
31576cop_opt32gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2013060820130419
31588cop_opt32gcc -O2 -fomit-frame-pointer2013060820130419
31604cop_opt32gcc -fno-schedule-insns -O2 -fomit-frame-pointer2013060820130419
31660cop_opt32gcc -m64 -O2 -fomit-frame-pointer2013060820130419
31836cop_opt32gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2013060820130419
31904cop_opt32gcc -m64 -march=nocona -O3 -fomit-frame-pointer2013060820130419
31940cop_opt32gcc -march=nocona -O3 -fomit-frame-pointer2013060820130419
32040cop_opt32gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2013060820130419
32164cop_opt32gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2013060820130419
32220cop_opt32gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2013060820130419
32252cop_opt32gcc -m64 -march=nocona -O2 -fomit-frame-pointer2013060820130419
32332cop_opt32gcc -march=nocona -O2 -fomit-frame-pointer2013060820130419
38912cop_opt32gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2013060820130419
38996cop_opt32gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2013060820130419
39016cop_opt32gcc -funroll-loops -m64 -Os -fomit-frame-pointer2013060820130419
39056cop_opt32gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2013060820130419
39104cop_opt32gcc -funroll-loops -Os -fomit-frame-pointer2013060820130419
39144cop_opt32gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2013060820130419
39228cop_opt32gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2013060820130419
39280cop_opt32gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2013060820130419
39288cop_opt32gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2013060820130419
39292cop_opt32gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2013060820130419
39300cop_opt32gcc -m64 -march=core2 -Os -fomit-frame-pointer2013060820130419
39320cop_opt32gcc -march=barcelona -Os -fomit-frame-pointer2013060820130419
39360cop_opt32gcc -m64 -march=barcelona -Os -fomit-frame-pointer2013060820130419
39384cop_opt32gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2013060820130419
39396cop_opt32gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2013060820130419
39404cop_opt32gcc -m64 -march=k8 -Os -fomit-frame-pointer2013060820130419
39408cop_opt32gcc -march=k8 -Os -fomit-frame-pointer2013060820130419
39488cop_opt32gcc -fno-schedule-insns -Os -fomit-frame-pointer2013060820130419
39508cop_opt32gcc -m64 -Os -fomit-frame-pointer2013060820130419
39548cop_opt32gcc -Os -fomit-frame-pointer2013060820130419
39560cop_opt32gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2013060820130419
39600cop_opt32gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2013060820130419
39720cop_opt32gcc -march=nocona -Os -fomit-frame-pointer2013060820130419
39800cop_opt32gcc -m64 -march=nocona -Os -fomit-frame-pointer2013060820130419
40120cop_opt32gcc -m64 -march=corei7 -Os -fomit-frame-pointer2013060820130419
67396cop_opt32gcc -funroll-loops2013060820130419
67404cop_opt32gcc2013060820130419
67556cop_opt32cc2013060820130419

Compiler output

Implementation: crypto_hash/fugue2/cop_opt32
Compiler: clang -O3
hash.c: hash.c:33:28: warning: signed shift result (0x3F743CBE000000) requires 55 bits to represent, but 'int' only has 32 bits [-Wshift-overflow]
hash.c: HO2BE_4(0xa6de572c), HO2BE_4(0x3f743cbe), HO2BE_4(0x4105b317), HO2BE_4(0x4580a1c6)};
hash.c: ^~~~~~~~~~~~~~~~~~~
hash.c: ./aestab_t.h:19:26: note: expanded from macro 'HO2BE_4'
hash.c: #define HO2BE_4(_x) ((_xgt;>gt;8)&0xff00)|(_x>gt;>gt;24))
hash.c: ^ ~~
hash.c: hash.c:33:28: warning: signed shift result (0x3F743CBE00) requires 39 bits to represent, but 'int' only has 32 bits [-Wshift-overflow]
hash.c: HO2BE_4(0xa6de572c), HO2BE_4(0x3f743cbe), HO2BE_4(0x4105b317), HO2BE_4(0x4580a1c6)};
hash.c: ^~~~~~~~~~~~~~~~~~~
hash.c: ./aestab_t.h:19:36: note: expanded from macro 'HO2BE_4'
hash.c: #define HO2BE_4(_x) ((_xgt;>gt;8)&0xff00)|(_x>gt;>gt;24))
hash.c: ^ ~
hash.c: hash.c:33:49: warning: signed shift result (0x4105B317000000) requires 56 bits to represent, but 'int' only has 32 bits [-Wshift-overflow]
hash.c: HO2BE_4(0xa6de572c), HO2BE_4(0x3f743cbe), HO2BE_4(0x4105b317), HO2BE_4(0x4580a1c6)};
hash.c: ^~~~~~~~~~~~~~~~~~~
hash.c: ./aestab_t.h:19:26: note: expanded from macro 'HO2BE_4'
hash.c: #define HO2BE_4(_x) ((_xgt;>gt;8)&0xff00)|(_x>gt;>gt;24))
hash.c: ^ ~~
hash.c: hash.c:33:49: warning: signed shift result (0x4105B31700) requires 40 bits to represent, but 'int' only has 32 bits [-Wshift-overflow]
hash.c: HO2BE_4(0xa6de572c), HO2BE_4(0x3f743cbe), HO2BE_4(0x4105b317), HO2BE_4(0x4580a1c6)};
hash.c: ^~~~~~~~~~~~~~~~~~~
hash.c: ./aestab_t.h:19:36: note: expanded from macro 'HO2BE_4'
hash.c: #define HO2BE_4(_x) ((_xgt;>gt;8)&0xff00)|(_x>gt;>gt;24))
hash.c: ^ ~
hash.c: hash.c:33:70: warning: signed shift result (0x4580A1C6000000) requires 56 bits to represent, but 'int' only has 32 bits [-Wshift-overflow]
hash.c: ...

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