Implementation notes: amd64, cryptothinkx, crypto_hash/fugue2

Computer: cryptothinkx
Architecture: amd64
CPU ID: GenuineIntel-00040651-bfebfbff
SUPERCOP version: 20170105
Operation: crypto_hash
Primitive: fugue2
TimeImplementationCompilerBenchmark dateSUPERCOP version
20733cop_opt32clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017013120170105
20805cop_opt32gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv2017013120170105
20808cop_opt32gcc -m64 -march=core-avx2 -O3 -fomit-frame-pointer2017013120170105
20853cop_opt32gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2017013120170105
20928cop_opt32gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv2017013120170105
21180cop_opt32gcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2017013120170105
21222cop_opt32gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2017013120170105
21240cop_opt32gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2017013120170105
21255cop_opt32gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2017013120170105
21294cop_opt32gcc -funroll-loops -O -fomit-frame-pointer2017013120170105
21294cop_opt32gcc -funroll-loops -m64 -O -fomit-frame-pointer2017013120170105
21303cop_opt32gcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2017013120170105
21309cop_opt32gcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2017013120170105
21342cop_opt32gcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2017013120170105
21345cop_opt32gcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2017013120170105
21351cop_opt32gcc -funroll-loops -O3 -fomit-frame-pointer2017013120170105
21354cop_opt32gcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2017013120170105
21357cop_opt32gcc -funroll-loops -march=k8 -O -fomit-frame-pointer2017013120170105
21363cop_opt32gcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2017013120170105
21372cop_opt32gcc -funroll-loops -m64 -O3 -fomit-frame-pointer2017013120170105
21375cop_opt32gcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2017013120170105
21378cop_opt32gcc -m64 -march=core2 -O2 -fomit-frame-pointer2017013120170105
21378cop_opt32gcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2017013120170105
21387cop_opt32gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2017013120170105
21387cop_opt32gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2017013120170105
21417cop_opt32gcc -funroll-loops -m64 -O2 -fomit-frame-pointer2017013120170105
21420cop_opt32gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2017013120170105
21435cop_opt32gcc -funroll-loops -O2 -fomit-frame-pointer2017013120170105
21504cop_opt32gcc -funroll-loops -march=nocona -O -fomit-frame-pointer2017013120170105
21525cop_opt32gcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2017013120170105
21579cop_opt32gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv2017013120170105
21603cop_opt32gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2017013120170105
21603cop_opt32gcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2017013120170105
21612cop_opt32gcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2017013120170105
21621cop_opt32gcc -m64 -march=core-avx2 -O2 -fomit-frame-pointer2017013120170105
21624cop_opt32gcc -m64 -march=core-avx2 -O -fomit-frame-pointer2017013120170105
21639cop_opt32gcc -m64 -march=core2 -O3 -fomit-frame-pointer2017013120170105
21642cop_opt32gcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2017013120170105
21648cop_opt32gcc -m64 -march=corei7 -O3 -fomit-frame-pointer2017013120170105
21663cop_opt32gcc -m64 -O2 -fomit-frame-pointer2017013120170105
21663cop_opt32gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2017013120170105
21672cop_opt32gcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2017013120170105
21696cop_opt32gcc -m64 -march=nocona -O3 -fomit-frame-pointer2017013120170105
21711cop_opt32gcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2017013120170105
21714cop_opt32clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments2017013120170105
21714cop_opt32gcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2017013120170105
21723cop_opt32gcc -march=nocona -O3 -fomit-frame-pointer2017013120170105
21738cop_opt32gcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2017013120170105
21774cop_opt32gcc -m64 -march=nocona -O2 -fomit-frame-pointer2017013120170105
21921cop_opt32gcc -m64 -O3 -fomit-frame-pointer2017013120170105
21930cop_opt32gcc -fno-schedule-insns -O3 -fomit-frame-pointer2017013120170105
21936cop_opt32gcc -O3 -fomit-frame-pointer2017013120170105
21942cop_opt32gcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2017013120170105
21942cop_opt32gcc -m64 -march=corei7-avx -O -fomit-frame-pointer2017013120170105
21972cop_opt32gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2017013120170105
21981cop_opt32gcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2017013120170105
21996cop_opt32gcc -m64 -march=corei7 -O -fomit-frame-pointer2017013120170105
22029cop_opt32gcc -m64 -march=core-avx-i -O -fomit-frame-pointer2017013120170105
22032cop_opt32gcc -march=k8 -O2 -fomit-frame-pointer2017013120170105
22044cop_opt32gcc -m64 -march=corei7 -O2 -fomit-frame-pointer2017013120170105
22053cop_opt32gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2017013120170105
22053cop_opt32gcc -m64 -march=k8 -O2 -fomit-frame-pointer2017013120170105
22059cop_opt32gcc -march=barcelona -O2 -fomit-frame-pointer2017013120170105
22068cop_opt32gcc -march=k8 -O -fomit-frame-pointer2017013120170105
22071cop_opt32gcc -m64 -march=k8 -O -fomit-frame-pointer2017013120170105
22089cop_opt32gcc -m64 -march=barcelona -O -fomit-frame-pointer2017013120170105
22092cop_opt32gcc -m64 -march=barcelona -O -fomit-frame-pointer2017013120170105
22104cop_opt32gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2017013120170105
22152cop_opt32gcc -O -fomit-frame-pointer2017013120170105
22170cop_opt32gcc -m64 -O -fomit-frame-pointer2017013120170105
22200cop_opt32gcc -m64 -march=nocona -O -fomit-frame-pointer2017013120170105
22218cop_opt32gcc -march=k8 -O3 -fomit-frame-pointer2017013120170105
22221cop_opt32gcc -march=nocona -O -fomit-frame-pointer2017013120170105
22224cop_opt32gcc -march=barcelona -O3 -fomit-frame-pointer2017013120170105
22236cop_opt32gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017013120170105
22260cop_opt32gcc -fno-schedule-insns -O -fomit-frame-pointer2017013120170105
22272cop_opt32gcc -m64 -march=barcelona -O3 -fomit-frame-pointer2017013120170105
22305cop_opt32gcc -m64 -march=k8 -O3 -fomit-frame-pointer2017013120170105
22371cop_opt32gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2017013120170105
22422cop_opt32gcc -O2 -fomit-frame-pointer2017013120170105
22431cop_opt32gcc -fno-schedule-insns -O2 -fomit-frame-pointer2017013120170105
22506cop_opt32gcc -march=nocona -O2 -fomit-frame-pointer2017013120170105
22677cop_opt32gcc -m64 -march=core2 -O -fomit-frame-pointer2017013120170105
22767cop_opt32gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017013120170105
22794cop_opt32gcc -march=barcelona -O -fomit-frame-pointer2017013120170105
22800cop_opt32gcc -m64 -march=barcelona -O2 -fomit-frame-pointer2017013120170105
22809cop_opt32clang -O3 -fomit-frame-pointer -Qunused-arguments2017013120170105
22815cop_opt32clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017013120170105
22854cop_opt32clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments2017013120170105
22857cop_opt32clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2017013120170105
22869cop_opt32clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments2017013120170105
22869cop_opt32clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments2017013120170105
22872cop_opt32clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017013120170105
23022cop_opt32clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments2017013120170105
25722cop_opt32gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2017013120170105
25740cop_opt32gcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2017013120170105
25752cop_opt32gcc -march=nocona -Os -fomit-frame-pointer2017013120170105
25800cop_opt32gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2017013120170105
25911cop_opt32gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2017013120170105
25989cop_opt32gcc -m64 -march=barcelona -Os -fomit-frame-pointer2017013120170105
26022cop_opt32gcc -fno-schedule-insns -Os -fomit-frame-pointer2017013120170105
26025cop_opt32gcc -m64 -Os -fomit-frame-pointer2017013120170105
26028cop_opt32gcc -m64 -march=barcelona -Os -fomit-frame-pointer2017013120170105
26106cop_opt32gcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2017013120170105
26145cop_opt32gcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2017013120170105
26163cop_opt32gcc -m64 -march=k8 -Os -fomit-frame-pointer2017013120170105
26202cop_opt32gcc -m64 -march=core2 -Os -fomit-frame-pointer2017013120170105
26217cop_opt32gcc -m64 -march=corei7 -Os -fomit-frame-pointer2017013120170105
26490cop_opt32gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv2017013120170105
26664cop_opt32gcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2017013120170105
26685cop_opt32gcc -m64 -march=core-avx2 -Os -fomit-frame-pointer2017013120170105
26751cop_opt32gcc -m64 -march=nocona -Os -fomit-frame-pointer2017013120170105
26763cop_opt32gcc -funroll-loops -m64 -Os -fomit-frame-pointer2017013120170105
26766cop_opt32gcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2017013120170105
26808cop_opt32gcc -march=barcelona -Os -fomit-frame-pointer2017013120170105
26814cop_opt32gcc -funroll-loops -Os -fomit-frame-pointer2017013120170105
26814cop_opt32gcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2017013120170105
26859cop_opt32gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2017013120170105
26877cop_opt32gcc -Os -fomit-frame-pointer2017013120170105
26913cop_opt32gcc -march=k8 -Os -fomit-frame-pointer2017013120170105
27033cop_opt32gcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2017013120170105
27060cop_opt32gcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2017013120170105
60003cop_opt32cc2017013120170105
62127cop_opt32gcc -funroll-loops2017013120170105
62256cop_opt32gcc2017013120170105

Compiler output

Implementation: crypto_hash/fugue2/cop_opt32
Compiler: clang -O3 -fomit-frame-pointer -Qunused-arguments
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: ...
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:70: warning: signed shift result (0x4580A1C600) 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: 6 warnings generated.

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
clang -O3 -fomit-frame-pointer -Qunused-arguments cop_opt32
clang -O3 -fwrapv -march=native -fomit-frame-pointer -Qunused-arguments cop_opt32
clang -O3 -fwrapv -march=x86-64 -mcpu=core-avx2 -mavx2 -maes -mpclmul -fomit-frame-pointer -Qunused-arguments cop_opt32
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer -Qunused-arguments cop_opt32
clang -O3 -fwrapv -mavx -fomit-frame-pointer -Qunused-arguments cop_opt32
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer -Qunused-arguments cop_opt32
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments cop_opt32
clang -mcpu=cortex-a8 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments cop_opt32
clang -mcpu=cortex-a9 -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments cop_opt32
clang -mcpu=native -mfpu=neon -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments cop_opt32