Implementation notes: armeabi, h6dragon, crypto_core/hsalsa20

Computer: h6dragon
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20141014
Operation: crypto_core
Primitive: hsalsa20
TimeImplementationCompilerBenchmark dateSUPERCOP version
2040refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014101420141014
2044ref2gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014101420141014
2059ref2gcc -fno-schedule-insns -O2 -fomit-frame-pointer2014101420141014
2062refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014101420141014
2086ref2gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014101420141014
2089refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014101420141014
2089ref2gcc -fno-schedule-insns -O3 -fomit-frame-pointer2014101420141014
2113refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014101420141014
2188ref2gcc -funroll-loops -O3 -fomit-frame-pointer2014101420141014
2195ref2gcc -funroll-loops -O2 -fomit-frame-pointer2014101420141014
2215refgcc -funroll-loops -O2 -fomit-frame-pointer2014101420141014
2216refgcc -funroll-loops -O3 -fomit-frame-pointer2014101420141014
2216refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014101420141014
2216ref2gcc -mcpu=arm810 -O2 -fomit-frame-pointer2014101420141014
2216refgcc -mcpu=arm8 -O2 -fomit-frame-pointer2014101420141014
2216ref2gcc -mcpu=arm8 -O2 -fomit-frame-pointer2014101420141014
2216refgcc -mcpu=arm8 -O3 -fomit-frame-pointer2014101420141014
2216refgcc -mcpu=arm8 -Os -fomit-frame-pointer2014101420141014
2216refgcc -mcpu=strongarm1100 -O2 -fomit-frame-pointer2014101420141014
2216refgcc -mcpu=strongarm1100 -O3 -fomit-frame-pointer2014101420141014
2216ref2gcc -mcpu=strongarm1100 -O3 -fomit-frame-pointer2014101420141014
2216ref2gcc -mcpu=strongarm110 -O2 -fomit-frame-pointer2014101420141014
2216ref2gcc -mcpu=strongarm -O2 -fomit-frame-pointer2014101420141014
2240ref2gcc -mcpu=arm810 -Os -fomit-frame-pointer2014101420141014
2241refgcc -mcpu=arm810 -Os -fomit-frame-pointer2014101420141014
2241ref2gcc -mcpu=arm8 -Os -fomit-frame-pointer2014101420141014
2241refgcc -mcpu=strongarm110 -Os -fomit-frame-pointer2014101420141014
2242ref2gcc -mcpu=strongarm110 -Os -fomit-frame-pointer2014101420141014
2243refgcc -funroll-loops -Os -fomit-frame-pointer2014101420141014
2243ref2gcc -funroll-loops -Os -fomit-frame-pointer2014101420141014
2243ref2gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014101420141014
2243refgcc -mcpu=arm810 -O2 -fomit-frame-pointer2014101420141014
2243refgcc -mcpu=arm810 -O3 -fomit-frame-pointer2014101420141014
2243ref2gcc -mcpu=arm810 -O3 -fomit-frame-pointer2014101420141014
2243ref2gcc -mcpu=arm8 -O3 -fomit-frame-pointer2014101420141014
2243ref2gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer2014101420141014
2243ref2gcc -mcpu=strongarm1100 -O2 -fomit-frame-pointer2014101420141014
2243refgcc -mcpu=strongarm110 -O2 -fomit-frame-pointer2014101420141014
2243refgcc -mcpu=strongarm110 -O3 -fomit-frame-pointer2014101420141014
2243ref2gcc -mcpu=strongarm110 -O3 -fomit-frame-pointer2014101420141014
2243refgcc -mcpu=strongarm -O2 -fomit-frame-pointer2014101420141014
2243refgcc -mcpu=strongarm -O3 -fomit-frame-pointer2014101420141014
2243ref2gcc -mcpu=strongarm -O3 -fomit-frame-pointer2014101420141014
2265refclang -O3 -fomit-frame-pointer2014101420141014
2267ref2clang -O3 -fomit-frame-pointer2014101420141014
2267ref2clang -O3 -fwrapv -march=armv7-a -mfloat-abi=hard -mfpu=neon -fomit-frame-pointer 2014101420141014
2267refclang -O3 -fwrapv -march=armv7-a -mfloat-abi=hard -mfpu=neon -fomit-frame-pointer -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive2014101420141014
2267refclang -O3 -fwrapv -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -fomit-frame-pointer 2014101420141014
2267ref2clang -O3 -fwrapv -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -fomit-frame-pointer 2014101420141014
2267refclang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101420141014
2267ref2clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101420141014
2267refclang -O3 -fwrapv -mavx -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101420141014
2267ref2clang -O3 -fwrapv -mavx -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101420141014
2267refclang -O3 -fwrapv -mavx -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101420141014
2267ref2clang -O3 -fwrapv -mavx -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer2014101420141014
2267refgcc -O2 -fomit-frame-pointer2014101420141014
2267ref2gcc -O2 -fomit-frame-pointer2014101420141014
2267refgcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer2014101420141014
2267refgcc -mcpu=strongarm1100 -Os -fomit-frame-pointer2014101420141014
2267ref2gcc -mcpu=strongarm1100 -Os -fomit-frame-pointer2014101420141014
2267ref2gcc -mcpu=strongarm -Os -fomit-frame-pointer2014101420141014
2268refgcc -mcpu=strongarm -Os -fomit-frame-pointer2014101420141014
2294ref2gcc -fno-schedule-insns -Os -fomit-frame-pointer2014101420141014
2295ref2clang -O3 -fwrapv -march=armv7-a -mfloat-abi=hard -mfpu=neon -fomit-frame-pointer -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive2014101420141014
2295refclang -O3 -fwrapv -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -fomit-frame-pointer -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive2014101420141014
2295ref2clang -O3 -fwrapv -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -fomit-frame-pointer -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive2014101420141014
2295refclang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014101420141014
2295ref2clang -O3 -fwrapv -mavx2 -fomit-frame-pointer2014101420141014
2295refclang -O3 -fwrapv -mavx -fomit-frame-pointer2014101420141014
2295ref2clang -O3 -fwrapv -mavx -fomit-frame-pointer2014101420141014
2295refclang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer2014101420141014
2295ref2clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer2014101420141014
2295ref2gcc -Os -fomit-frame-pointer2014101420141014
2295refgcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer2014101420141014
2295ref2gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer2014101420141014
2297refclang -O3 -fwrapv -march=armv7-a -mfloat-abi=hard -mfpu=neon -fomit-frame-pointer 2014101420141014
2297ref2gcc -O3 -fomit-frame-pointer2014101420141014
2299refgcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer2014101420141014
2300refgcc -O3 -fomit-frame-pointer2014101420141014
2319refgcc -Os -fomit-frame-pointer2014101420141014
2319refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014101420141014
2319refgcc -mcpu=cortex-a5 -O3 -fomit-frame-pointer2014101420141014
2319refgcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer2014101420141014
2319ref2gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer2014101420141014
2327ref2gcc -mcpu=cortex-a9 -Os -fomit-frame-pointer2014101420141014
2342refgcc -mcpu=cortex-a9 -Os -fomit-frame-pointer2014101420141014
2346ref2gcc -mcpu=cortex-a5 -O3 -fomit-frame-pointer2014101420141014
2346ref2gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer2014101420141014
2358refgcc -mcpu=cortex-a5 -Os -fomit-frame-pointer2014101420141014
2370ref2gcc -mcpu=cortex-a5 -O2 -fomit-frame-pointer2014101420141014
2370refgcc -mcpu=cortex-a9 -O2 -fomit-frame-pointer2014101420141014
2388ref2gcc -mcpu=cortex-a5 -Os -fomit-frame-pointer2014101420141014
2396refgcc -mcpu=cortex-a9 -O3 -fomit-frame-pointer2014101420141014
2397refgcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer2014101420141014
2398refgcc -mcpu=cortex-a5 -O2 -fomit-frame-pointer2014101420141014
2411ref2gcc -mcpu=cortex-a9 -O3 -fomit-frame-pointer2014101420141014
2421ref2gcc -mcpu=cortex-a9 -O2 -fomit-frame-pointer2014101420141014
2421ref2gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer2014101420141014
2421refgcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer2014101420141014
2421ref2gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer2014101420141014
4018refgcc -mcpu=strongarm -O -fomit-frame-pointer2014101420141014
4045refgcc -mcpu=arm8 -O -fomit-frame-pointer2014101420141014
4045ref2gcc -mcpu=strongarm110 -O -fomit-frame-pointer2014101420141014
4046ref2gcc -mcpu=arm810 -O -fomit-frame-pointer2014101420141014
4046ref2gcc -mcpu=arm8 -O -fomit-frame-pointer2014101420141014
4046refgcc -mcpu=strongarm1100 -O -fomit-frame-pointer2014101420141014
4069refgcc -mcpu=arm810 -O -fomit-frame-pointer2014101420141014
4069ref2gcc -mcpu=strongarm1100 -O -fomit-frame-pointer2014101420141014
4069refgcc -mcpu=strongarm110 -O -fomit-frame-pointer2014101420141014
4069ref2gcc -mcpu=strongarm -O -fomit-frame-pointer2014101420141014
4322refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014101420141014
4325refgcc -funroll-loops -O -fomit-frame-pointer2014101420141014
4327ref2gcc -funroll-loops -O -fomit-frame-pointer2014101420141014
4327ref2gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014101420141014
4712refgcc -mcpu=cortex-a5 -O -fomit-frame-pointer2014101420141014
4713ref2gcc -mcpu=cortex-a5 -O -fomit-frame-pointer2014101420141014
4714refgcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer2014101420141014
4714ref2gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer2014101420141014
4843refgcc -mcpu=cortex-a9 -O -fomit-frame-pointer2014101420141014
4860ref2gcc -mcpu=cortex-a9 -O -fomit-frame-pointer2014101420141014
4862refgcc -O -fomit-frame-pointer2014101420141014
4862refgcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer2014101420141014
4862ref2gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer2014101420141014
4893ref2gcc -O -fomit-frame-pointer2014101420141014
4893refgcc -fno-schedule-insns -O -fomit-frame-pointer2014101420141014
4893ref2gcc -fno-schedule-insns -O -fomit-frame-pointer2014101420141014
12441ref2cc2014101420141014
12441ref2gcc2014101420141014
12441ref2gcc -funroll-loops2014101420141014
12878refcc2014101420141014
12906refgcc2014101420141014
12906refgcc -funroll-loops2014101420141014

Compiler output

Implementation: crypto_core/hsalsa20/ref
Compiler: clang -O3 -fwrapv -march=armv7-a -mfloat-abi=hard -mfpu=neon -fomit-frame-pointer -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive
core.c: clang: warning: argument unused during compilation: '-fpolly'
core.c: clang: warning: argument unused during compilation: '-fvectorize'
core.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
core.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -O3 -fwrapv -march=armv7-a -mfloat-abi=hard -mfpu=neon -fomit-frame-pointer -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive ref ref2
clang -O3 -fwrapv -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -fomit-frame-pointer -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive ref ref2

Compiler output

Implementation: crypto_core/hsalsa20/ref
Compiler: clang -O3 -fwrapv -mavx2 -fomit-frame-pointer
core.c: clang: warning: argument unused during compilation: '-mavx2'

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fomit-frame-pointer ref ref2

Compiler output

Implementation: crypto_core/hsalsa20/ref
Compiler: clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
core.c: clang: warning: argument unused during compilation: '-mavx2'
core.c: clang: warning: argument unused during compilation: '-fpolly'
core.c: clang: warning: argument unused during compilation: '-fvectorize'
core.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
core.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer ref ref2

Compiler output

Implementation: crypto_core/hsalsa20/ref
Compiler: clang -O3 -fwrapv -mavx -fomit-frame-pointer
core.c: clang: warning: argument unused during compilation: '-mavx'

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx -fomit-frame-pointer ref ref2

Compiler output

Implementation: crypto_core/hsalsa20/ref
Compiler: clang -O3 -fwrapv -mavx -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
core.c: clang: warning: argument unused during compilation: '-mavx'
core.c: clang: warning: argument unused during compilation: '-fpolly'
core.c: clang: warning: argument unused during compilation: '-fvectorize'
core.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
core.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer ref ref2

Compiler output

Implementation: crypto_core/hsalsa20/ref
Compiler: clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer
core.c: clang: warning: argument unused during compilation: '-mavx'
core.c: clang: warning: argument unused during compilation: '-maes'
core.c: clang: warning: argument unused during compilation: '-mpclmul'

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer ref ref2

Compiler output

Implementation: crypto_core/hsalsa20/ref
Compiler: clang -O3 -fwrapv -mavx -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
core.c: clang: warning: argument unused during compilation: '-mavx'
core.c: clang: warning: argument unused during compilation: '-maes'
core.c: clang: warning: argument unused during compilation: '-mpclmul'
core.c: clang: warning: argument unused during compilation: '-fpolly'
core.c: clang: warning: argument unused during compilation: '-fvectorize'
core.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
core.c: clang: warning: argument unused during compilation: '-fslp-vectorize-aggressive'

Number of similar (compiler,implementation) pairs: 2, namely:
CompilerImplementations
clang -O3 -fwrapv -mavx -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer ref ref2

Compiler output

Implementation: crypto_core/hsalsa20/ref
Compiler: gcc -mcpu=arm810 -O2 -fomit-frame-pointer
core.c: core.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
try.c: try.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
try.c: try-anything.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
try.c: try.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
try.c: try-anything.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
measure.c: measure.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
measure.c: measure-anything.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]

Number of similar (compiler,implementation) pairs: 40, namely:
CompilerImplementations
gcc -mcpu=arm810 -O2 -fomit-frame-pointer ref ref2
gcc -mcpu=arm810 -O3 -fomit-frame-pointer ref ref2
gcc -mcpu=arm810 -O -fomit-frame-pointer ref ref2
gcc -mcpu=arm810 -Os -fomit-frame-pointer ref ref2
gcc -mcpu=arm8 -O2 -fomit-frame-pointer ref ref2
gcc -mcpu=arm8 -O3 -fomit-frame-pointer ref ref2
gcc -mcpu=arm8 -O -fomit-frame-pointer ref ref2
gcc -mcpu=arm8 -Os -fomit-frame-pointer ref ref2
gcc -mcpu=strongarm1100 -O2 -fomit-frame-pointer ref ref2
gcc -mcpu=strongarm1100 -O3 -fomit-frame-pointer ref ref2
gcc -mcpu=strongarm1100 -O -fomit-frame-pointer ref ref2
gcc -mcpu=strongarm1100 -Os -fomit-frame-pointer ref ref2
gcc -mcpu=strongarm110 -O2 -fomit-frame-pointer ref ref2
gcc -mcpu=strongarm110 -O3 -fomit-frame-pointer ref ref2
gcc -mcpu=strongarm110 -O -fomit-frame-pointer ref ref2
gcc -mcpu=strongarm110 -Os -fomit-frame-pointer ref ref2
gcc -mcpu=strongarm -O2 -fomit-frame-pointer ref ref2
gcc -mcpu=strongarm -O3 -fomit-frame-pointer ref ref2
gcc -mcpu=strongarm -O -fomit-frame-pointer ref ref2
gcc -mcpu=strongarm -Os -fomit-frame-pointer ref ref2