Implementation notes: amd64, haswell, crypto_sign/hector

Computer: haswell
Architecture: amd64
CPU ID: GenuineIntel-000306c3-bfebfbff
SUPERCOP version: 20130419
Operation: crypto_sign
Primitive: hector
TimeImplementationCompilerBenchmark dateSUPERCOP version
1736796refclang -O3 -mavx2013060920130419
1801948refclang -O32013060920130419
1836446refgcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer2013060920130419
1868704refgcc -m64 -march=nocona -O -fomit-frame-pointer2013060920130419
1878086refgcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer2013060920130419
1924084refgcc -m64 -march=corei7-avx -O2 -fomit-frame-pointer2013060920130419
1947964refgcc -funroll-loops -march=nocona -O -fomit-frame-pointer2013060920130419
1960276refgcc -m64 -march=corei7-avx -O3 -fomit-frame-pointer2013060920130419
1968460refgcc -m64 -march=core-avx-i -O -fomit-frame-pointer2013060920130419
1976440refgcc -funroll-loops -march=barcelona -O -fomit-frame-pointer2013060920130419
1978376refgcc -m64 -march=core2 -O3 -fomit-frame-pointer2013060920130419
1979560refgcc -m64 -march=corei7 -O3 -fomit-frame-pointer2013060920130419
1980844refgcc -m64 -march=core-avx-i -O2 -fomit-frame-pointer2013060920130419
1985178refgcc -m64 -march=core-avx-i -O3 -fomit-frame-pointer2013060920130419
1986492refgcc -funroll-loops -m64 -march=barcelona -O2 -fomit-frame-pointer2013060920130419
1990380refgcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer2013060920130419
1990912refgcc -m64 -march=k8 -O -fomit-frame-pointer2013060920130419
1991444refgcc -m64 -march=corei7 -O -fomit-frame-pointer2013060920130419
1998453refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2013060920130419
2004972refgcc -funroll-loops -m64 -march=barcelona -O -fomit-frame-pointer2013060920130419
2013404refgcc -funroll-loops -march=nocona -O2 -fomit-frame-pointer2013060920130419
2018682refgcc -march=nocona -O2 -fomit-frame-pointer2013060920130419
2022196refgcc -m64 -march=nocona -O2 -fomit-frame-pointer2013060920130419
2027064refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2013060920130419
2028724refgcc -m64 -march=core2 -msse4.1 -O -fomit-frame-pointer2013060920130419
2033692refgcc -march=k8 -O3 -fomit-frame-pointer2013060920130419
2034250refgcc -march=nocona -O -fomit-frame-pointer2013060920130419
2042736refgcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer2013060920130419
2048051refgcc -funroll-loops -m64 -march=k8 -O3 -fomit-frame-pointer2013060920130419
2060060refgcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer2013060920130419
2061710refgcc -m64 -march=core2 -msse4 -O -fomit-frame-pointer2013060920130419
2063632refgcc -funroll-loops -march=k8 -O -fomit-frame-pointer2013060920130419
2065036refgcc -m64 -O -fomit-frame-pointer2013060920130419
2067660refgcc -m64 -march=corei7 -O2 -fomit-frame-pointer2013060920130419
2072445refgcc -fno-schedule-insns -O -fomit-frame-pointer2013060920130419
2072908refgcc -m64 -march=corei7-avx -O -fomit-frame-pointer2013060920130419
2075808refgcc -funroll-loops -O -fomit-frame-pointer2013060920130419
2076453refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2013060920130419
2076612refgcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer2013060920130419
2077986refgcc -funroll-loops -O2 -fomit-frame-pointer2013060920130419
2086448refgcc -funroll-loops -march=k8 -O3 -fomit-frame-pointer2013060920130419
2088324refgcc -funroll-loops -m64 -march=nocona -O2 -fomit-frame-pointer2013060920130419
2088804refgcc -funroll-loops -m64 -march=barcelona -O3 -fomit-frame-pointer2013060920130419
2090283refgcc -march=nocona -O3 -fomit-frame-pointer2013060920130419
2090348refgcc -O2 -fomit-frame-pointer2013060920130419
2090974refgcc -march=barcelona -O2 -fomit-frame-pointer2013060920130419
2097346refgcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer2013060920130419
2098186refgcc -O3 -fomit-frame-pointer2013060920130419
2103746refgcc -m64 -march=native -mtune=native -O -fomit-frame-pointer2013060920130419
2106134refgcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer2013060920130419
2107434refgcc -m64 -march=nocona -O3 -fomit-frame-pointer2013060920130419
2108018refgcc -march=k8 -O2 -fomit-frame-pointer2013060920130419
2114556refgcc -m64 -march=core2 -O -fomit-frame-pointer2013060920130419
2115400refgcc -funroll-loops -march=barcelona -O3 -fomit-frame-pointer2013060920130419
2116724refgcc -funroll-loops -m64 -O -fomit-frame-pointer2013060920130419
2124934refgcc -funroll-loops -O3 -fomit-frame-pointer2013060920130419
2125082refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2013060920130419
2130187refgcc -m64 -march=barcelona -O -fomit-frame-pointer2013060920130419
2141408refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2013060920130419
2146136refgcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer2013060920130419
2150735refgcc -funroll-loops -m64 -march=nocona -O -fomit-frame-pointer2013060920130419
2150796refgcc -m64 -march=barcelona -O3 -fomit-frame-pointer2013060920130419
2151572refgcc -m64 -O3 -fomit-frame-pointer2013060920130419
2154096refgcc -march=barcelona -O -fomit-frame-pointer2013060920130419
2155672refgcc -funroll-loops -m64 -march=nocona -O3 -fomit-frame-pointer2013060920130419
2156160refgcc -funroll-loops -m64 -O2 -fomit-frame-pointer2013060920130419
2156982refgcc -m64 -O2 -fomit-frame-pointer2013060920130419
2157196refgcc -m64 -march=barcelona -O2 -fomit-frame-pointer2013060920130419
2158224refgcc -m64 -march=core-avx-i -Os -fomit-frame-pointer2013060920130419
2158944refgcc -funroll-loops -m64 -O3 -fomit-frame-pointer2013060920130419
2160128refgcc -march=k8 -O -fomit-frame-pointer2013060920130419
2162988refgcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer2013060920130419
2163048refgcc -m64 -march=k8 -O3 -fomit-frame-pointer2013060920130419
2169278refgcc -funroll-loops -m64 -Os -fomit-frame-pointer2013060920130419
2170898refgcc -funroll-loops -march=nocona -O3 -fomit-frame-pointer2013060920130419
2174628refgcc -O -fomit-frame-pointer2013060920130419
2185356refgcc -march=barcelona -O3 -fomit-frame-pointer2013060920130419
2192508refgcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer2013060920130419
2200644refgcc -m64 -march=k8 -O2 -fomit-frame-pointer2013060920130419
2201524refgcc -m64 -march=corei7-avx -Os -fomit-frame-pointer2013060920130419
2269472refgcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer2013060920130419
2270997refgcc -funroll-loops -Os -fomit-frame-pointer2013060920130419
2277262refgcc -march=nocona -Os -fomit-frame-pointer2013060920130419
2330364refgcc -m64 -march=core2 -O2 -fomit-frame-pointer2013060920130419
2339044refgcc -m64 -march=barcelona -Os -fomit-frame-pointer2013060920130419
2368156refgcc -march=barcelona -Os -fomit-frame-pointer2013060920130419
2385704refgcc -m64 -march=k8 -Os -fomit-frame-pointer2013060920130419
2385984refgcc -funroll-loops -march=k8 -Os -fomit-frame-pointer2013060920130419
2386264refgcc -m64 -march=corei7 -Os -fomit-frame-pointer2013060920130419
2397612refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2013060920130419
2399264refgcc -funroll-loops -march=barcelona -Os -fomit-frame-pointer2013060920130419
2448254refgcc -m64 -march=core2 -msse4 -Os -fomit-frame-pointer2013060920130419
2473084refgcc -funroll-loops -march=nocona -Os -fomit-frame-pointer2013060920130419
2475810refgcc -march=k8 -Os -fomit-frame-pointer2013060920130419
2481844refgcc -m64 -Os -fomit-frame-pointer2013060920130419
2481874refgcc -m64 -march=core2 -msse4.1 -Os -fomit-frame-pointer2013060920130419
2507584refgcc -fno-schedule-insns -Os -fomit-frame-pointer2013060920130419
2507742refgcc -funroll-loops -m64 -march=barcelona -Os -fomit-frame-pointer2013060920130419
2521119refgcc -m64 -march=core2 -Os -fomit-frame-pointer2013060920130419
2523308refgcc -Os -fomit-frame-pointer2013060920130419
2536127refgcc -funroll-loops -m64 -march=nocona -Os -fomit-frame-pointer2013060920130419
2606665refgcc -m64 -march=nocona -Os -fomit-frame-pointer2013060920130419
6225276refcc2013060920130419
6867419refgcc2013060920130419
6885432refgcc -funroll-loops2013060920130419

Compiler output

Implementation: crypto_sign/hector/ref
Compiler: clang -O3
common.c: In file included from common.c:7:
common.c: In file included from ./common.h:12:
common.c: ./divclass.h:53:56: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier]
common.c: void divclass_make_affine(divclass rop, const divclass const op);
common.c: ^
common.c: 1 warning generated.
config.c: In file included from config.c:10:
config.c: In file included from ./config.h:11:
config.c: ./divclass.h:53:56: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier]
config.c: void divclass_make_affine(divclass rop, const divclass const op);
config.c: ^
config.c: 1 warning generated.
conversion.c: In file included from conversion.c:9:
conversion.c: ./divclass.h:53:56: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier]
conversion.c: void divclass_make_affine(divclass rop, const divclass const op);
conversion.c: ^
conversion.c: 1 warning generated.
curve.c: In file included from curve.c:7:
curve.c: In file included from ./config.h:11:
curve.c: ./divclass.h:53:56: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier]
curve.c: void divclass_make_affine(divclass rop, const divclass const op);
curve.c: ^
curve.c: 1 warning generated.
divclass.c: In file included from divclass.c:7:
divclass.c: ./divclass.h:53:56: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier]
divclass.c: void divclass_make_affine(divclass rop, const divclass const op);
divclass.c: ^
divclass.c: 1 warning generated.
generator.c: In file included from generator.c:10:
generator.c: In file included from ./config.h:11:
generator.c: ./divclass.h:53:56: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier]
generator.c: void divclass_make_affine(divclass rop, const divclass const op);
generator.c: ^
generator.c: 1 warning generated.
hector_sig.c: In file included from hector_sig.c:13:
hector_sig.c: In file included from ./config.h:11:
hector_sig.c: ./divclass.h:53:56: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier]
hector_sig.c: void divclass_make_affine(divclass rop, const divclass const op);
hector_sig.c: ^
hector_sig.c: 1 warning generated.
wnaf.c: In file included from wnaf.c:10:
wnaf.c: In file included from ./config.h:11:
wnaf.c: ./divclass.h:53:56: warning: duplicate 'const' declaration specifier [-Wduplicate-decl-specifier]
wnaf.c: void divclass_make_affine(divclass rop, const divclass const op);
wnaf.c: ^
wnaf.c: 1 warning generated.

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