Implementation notes: armeabi, h6dragon, crypto_aead/pi64cipher256v1

Computer: h6dragon
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20141014
Operation: crypto_aead
Primitive: pi64cipher256v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
803430optimized_nonSSEgcc -fno-schedule-insns -Os -fomit-frame-pointer2014102520141014
803553optimized_nonSSEgcc -Os -fomit-frame-pointer2014102520141014
816587optimized_nonSSEgcc -mcpu=cortex-a5 -Os -fomit-frame-pointer2014102520141014
836959optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014102520141014
837008optimized_nonSSEgcc -funroll-loops -Os -fomit-frame-pointer2014102520141014
851914optimized_nonSSEgcc -mcpu=cortex-a9 -Os -fomit-frame-pointer2014102520141014
854486optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014102520141014
859687optimized_nonSSEgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014102520141014
873632optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014102520141014
873638optimized_nonSSEgcc -funroll-loops -O -fomit-frame-pointer2014102520141014
876802optimized_nonSSEgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014102520141014
940380optimized_nonSSEgcc -mcpu=strongarm1100 -Os -fomit-frame-pointer2014102520141014
940474optimized_nonSSEgcc -mcpu=arm8 -Os -fomit-frame-pointer2014102520141014
940521optimized_nonSSEgcc -mcpu=arm810 -Os -fomit-frame-pointer2014102520141014
940564optimized_nonSSEgcc -mcpu=strongarm -Os -fomit-frame-pointer2014102520141014
940622optimized_nonSSEgcc -mcpu=strongarm110 -Os -fomit-frame-pointer2014102520141014
959209refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014102520141014
986177optimized_nonSSEgcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer2014102520141014
1011812refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014102520141014
1179788refgcc -mcpu=arm810 -O3 -fomit-frame-pointer2014102520141014
1179818refgcc -mcpu=strongarm1100 -O3 -fomit-frame-pointer2014102520141014
1179821refgcc -mcpu=strongarm110 -O3 -fomit-frame-pointer2014102520141014
1179830refgcc -mcpu=strongarm -O3 -fomit-frame-pointer2014102520141014
1179831refgcc -mcpu=arm8 -O3 -fomit-frame-pointer2014102520141014
1181419refgcc -mcpu=cortex-a9 -Os -fomit-frame-pointer2014102520141014
1189391refgcc -mcpu=cortex-a5 -Os -fomit-frame-pointer2014102520141014
1208691refgcc -Os -fomit-frame-pointer2014102520141014
1209289refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014102520141014
1216806refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014102520141014
1216811refgcc -funroll-loops -O -fomit-frame-pointer2014102520141014
1230034refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014102520141014
1230152refgcc -funroll-loops -Os -fomit-frame-pointer2014102520141014
1231230refgcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer2014102520141014
1231875refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014102520141014
1251810refgcc -mcpu=cortex-a9 -O -fomit-frame-pointer2014102520141014
1258441refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014102520141014
1261667refgcc -mcpu=cortex-a5 -O -fomit-frame-pointer2014102520141014
1267200refgcc -fno-schedule-insns -O -fomit-frame-pointer2014102520141014
1267499refgcc -O -fomit-frame-pointer2014102520141014
1297518optimized_nonSSEgcc -O3 -fomit-frame-pointer2014102520141014
1301548refgcc -mcpu=arm810 -O -fomit-frame-pointer2014102520141014
1301580refgcc -mcpu=arm8 -O -fomit-frame-pointer2014102520141014
1301929refgcc -mcpu=strongarm -O -fomit-frame-pointer2014102520141014
1301949refgcc -mcpu=strongarm1100 -O -fomit-frame-pointer2014102520141014
1301961refgcc -mcpu=strongarm110 -O -fomit-frame-pointer2014102520141014
1324644refgcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer2014102520141014
1345751refgcc -O3 -fomit-frame-pointer2014102520141014
1347193optimized_nonSSEgcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer2014102520141014
1347892refgcc -mcpu=cortex-a5 -O3 -fomit-frame-pointer2014102520141014
1368570refgcc -mcpu=cortex-a9 -O3 -fomit-frame-pointer2014102520141014
1370629refgcc -funroll-loops -O3 -fomit-frame-pointer2014102520141014
1377040optimized_nonSSEgcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer2014102520141014
1377480refgcc -mcpu=strongarm110 -Os -fomit-frame-pointer2014102520141014
1377495refgcc -mcpu=strongarm1100 -Os -fomit-frame-pointer2014102520141014
1377559refgcc -mcpu=strongarm -Os -fomit-frame-pointer2014102520141014
1377566refgcc -mcpu=arm810 -Os -fomit-frame-pointer2014102520141014
1377594refgcc -mcpu=arm8 -Os -fomit-frame-pointer2014102520141014
1387998optimized_nonSSEgcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer2014102520141014
1449354refgcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer2014102520141014
1456185refgcc -mcpu=arm8 -O2 -fomit-frame-pointer2014102520141014
1456279refgcc -mcpu=arm810 -O2 -fomit-frame-pointer2014102520141014
1456449refgcc -mcpu=strongarm -O2 -fomit-frame-pointer2014102520141014
1456509refgcc -mcpu=strongarm1100 -O2 -fomit-frame-pointer2014102520141014
1456517refgcc -mcpu=strongarm110 -O2 -fomit-frame-pointer2014102520141014
1462952optimized_nonSSEgcc -mcpu=cortex-a9 -O3 -fomit-frame-pointer2014102520141014
1549007refgcc -mcpu=cortex-a5 -O2 -fomit-frame-pointer2014102520141014
1600676optimized_nonSSEgcc -mcpu=cortex-a5 -O3 -fomit-frame-pointer2014102520141014
1663269refgcc -mcpu=cortex-a9 -O2 -fomit-frame-pointer2014102520141014
1719056refgcc -funroll-loops -O2 -fomit-frame-pointer2014102520141014
1762727optimized_nonSSEgcc -mcpu=strongarm -O3 -fomit-frame-pointer2014102520141014
1764384optimized_nonSSEgcc -mcpu=arm810 -O3 -fomit-frame-pointer2014102520141014
1764563optimized_nonSSEgcc -funroll-loops -O3 -fomit-frame-pointer2014102520141014
1766888optimized_nonSSEgcc -mcpu=strongarm110 -O3 -fomit-frame-pointer2014102520141014
1768294optimized_nonSSEgcc -mcpu=arm8 -O3 -fomit-frame-pointer2014102520141014
1769128optimized_nonSSEgcc -mcpu=strongarm1100 -O3 -fomit-frame-pointer2014102520141014
1782893refgcc -O2 -fomit-frame-pointer2014102520141014
1827756refgcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer2014102520141014
1852155refgcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer2014102520141014
1975241refgcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer2014102520141014
2707249refgcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer2014102520141014
2707808refgcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer2014102520141014
3389938optimized_nonSSEgcc -funroll-loops -O2 -fomit-frame-pointer2014102520141014
9169939refgcc2014102520141014
9172620refcc2014102520141014
9176117refgcc -funroll-loops2014102520141014
11863062optimized_nonSSEgcc -funroll-loops2014102520141014
12017104optimized_nonSSEgcc2014102520141014
12117069optimized_nonSSEcc2014102520141014

Test failure

Implementation: crypto_aead/pi64cipher256v1/optimized_nonSSE
Compiler: clang -O3 -fomit-frame-pointer
error 111
crypto_aead_decrypt returns nonzero

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

Compiler output

Implementation: crypto_aead/pi64cipher256v1/optimized_nonSSE
Compiler: clang -O3 -fwrapv -march=armv7-a -mfloat-abi=hard -mfpu=neon -fomit-frame-pointer -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive
encrypt.c: clang: warning: argument unused during compilation: '-fpolly'
encrypt.c: clang: warning: argument unused during compilation: '-fvectorize'
encrypt.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
encrypt.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 optimized_nonSSE ref
clang -O3 -fwrapv -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16 -fomit-frame-pointer -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive optimized_nonSSE ref

Compiler output

Implementation: crypto_aead/pi64cipher256v1/optimized_nonSSE
Compiler: clang -O3 -fwrapv -mavx2 -fomit-frame-pointer
encrypt.c: clang: warning: argument unused during compilation: '-mavx2'

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

Compiler output

Implementation: crypto_aead/pi64cipher256v1/optimized_nonSSE
Compiler: clang -O3 -fwrapv -mavx2 -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
encrypt.c: clang: warning: argument unused during compilation: '-mavx2'
encrypt.c: clang: warning: argument unused during compilation: '-fpolly'
encrypt.c: clang: warning: argument unused during compilation: '-fvectorize'
encrypt.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
encrypt.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 optimized_nonSSE ref

Compiler output

Implementation: crypto_aead/pi64cipher256v1/optimized_nonSSE
Compiler: clang -O3 -fwrapv -mavx -fomit-frame-pointer
encrypt.c: clang: warning: argument unused during compilation: '-mavx'

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

Compiler output

Implementation: crypto_aead/pi64cipher256v1/optimized_nonSSE
Compiler: clang -O3 -fwrapv -mavx -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
encrypt.c: clang: warning: argument unused during compilation: '-mavx'
encrypt.c: clang: warning: argument unused during compilation: '-fpolly'
encrypt.c: clang: warning: argument unused during compilation: '-fvectorize'
encrypt.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
encrypt.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 optimized_nonSSE ref

Compiler output

Implementation: crypto_aead/pi64cipher256v1/optimized_nonSSE
Compiler: clang -O3 -fwrapv -mavx -maes -mpclmul -fomit-frame-pointer
encrypt.c: clang: warning: argument unused during compilation: '-mavx'
encrypt.c: clang: warning: argument unused during compilation: '-maes'
encrypt.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 optimized_nonSSE ref

Compiler output

Implementation: crypto_aead/pi64cipher256v1/optimized_nonSSE
Compiler: clang -O3 -fwrapv -mavx -maes -mpclmul -fpolly -funroll-loops -fvectorize -fslp-vectorize -fslp-vectorize-aggressive -fomit-frame-pointer
encrypt.c: clang: warning: argument unused during compilation: '-mavx'
encrypt.c: clang: warning: argument unused during compilation: '-maes'
encrypt.c: clang: warning: argument unused during compilation: '-mpclmul'
encrypt.c: clang: warning: argument unused during compilation: '-fpolly'
encrypt.c: clang: warning: argument unused during compilation: '-fvectorize'
encrypt.c: clang: warning: argument unused during compilation: '-fslp-vectorize'
encrypt.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 optimized_nonSSE ref

Compiler output

Implementation: crypto_aead/pi64cipher256v1/optimized_nonSSE
Compiler: gcc -O2 -fomit-frame-pointer
encrypt.c: Alarm clock

Number of similar (compiler,implementation) pairs: 12, namely:
CompilerImplementations
gcc -O2 -fomit-frame-pointer optimized_nonSSE
gcc -O -fomit-frame-pointer optimized_nonSSE
gcc -fno-schedule-insns -O2 -fomit-frame-pointer optimized_nonSSE
gcc -fno-schedule-insns -O -fomit-frame-pointer optimized_nonSSE
gcc -mcpu=cortex-a5 -O2 -fomit-frame-pointer optimized_nonSSE
gcc -mcpu=cortex-a5 -O -fomit-frame-pointer optimized_nonSSE
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer optimized_nonSSE
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer optimized_nonSSE
gcc -mcpu=cortex-a9 -O2 -fomit-frame-pointer optimized_nonSSE
gcc -mcpu=cortex-a9 -O -fomit-frame-pointer optimized_nonSSE
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer optimized_nonSSE
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer optimized_nonSSE

Compiler output

Implementation: crypto_aead/pi64cipher256v1/optimized_nonSSE
Compiler: gcc -mcpu=arm810 -O2 -fomit-frame-pointer
encrypt.c: encrypt.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
encrypt.c: Alarm clock

Number of similar (compiler,implementation) pairs: 10, namely:
CompilerImplementations
gcc -mcpu=arm810 -O2 -fomit-frame-pointer optimized_nonSSE
gcc -mcpu=arm810 -O -fomit-frame-pointer optimized_nonSSE
gcc -mcpu=arm8 -O2 -fomit-frame-pointer optimized_nonSSE
gcc -mcpu=arm8 -O -fomit-frame-pointer optimized_nonSSE
gcc -mcpu=strongarm1100 -O2 -fomit-frame-pointer optimized_nonSSE
gcc -mcpu=strongarm1100 -O -fomit-frame-pointer optimized_nonSSE
gcc -mcpu=strongarm110 -O2 -fomit-frame-pointer optimized_nonSSE
gcc -mcpu=strongarm110 -O -fomit-frame-pointer optimized_nonSSE
gcc -mcpu=strongarm -O2 -fomit-frame-pointer optimized_nonSSE
gcc -mcpu=strongarm -O -fomit-frame-pointer optimized_nonSSE

Compiler output

Implementation: crypto_aead/pi64cipher256v1/ref
Compiler: gcc -mcpu=arm810 -O2 -fomit-frame-pointer
encrypt.c: encrypt.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: 30, namely:
CompilerImplementations
gcc -mcpu=arm810 -O2 -fomit-frame-pointer ref
gcc -mcpu=arm810 -O3 -fomit-frame-pointer optimized_nonSSE ref
gcc -mcpu=arm810 -O -fomit-frame-pointer ref
gcc -mcpu=arm810 -Os -fomit-frame-pointer optimized_nonSSE ref
gcc -mcpu=arm8 -O2 -fomit-frame-pointer ref
gcc -mcpu=arm8 -O3 -fomit-frame-pointer optimized_nonSSE ref
gcc -mcpu=arm8 -O -fomit-frame-pointer ref
gcc -mcpu=arm8 -Os -fomit-frame-pointer optimized_nonSSE ref
gcc -mcpu=strongarm1100 -O2 -fomit-frame-pointer ref
gcc -mcpu=strongarm1100 -O3 -fomit-frame-pointer optimized_nonSSE ref
gcc -mcpu=strongarm1100 -O -fomit-frame-pointer ref
gcc -mcpu=strongarm1100 -Os -fomit-frame-pointer optimized_nonSSE ref
gcc -mcpu=strongarm110 -O2 -fomit-frame-pointer ref
gcc -mcpu=strongarm110 -O3 -fomit-frame-pointer optimized_nonSSE ref
gcc -mcpu=strongarm110 -O -fomit-frame-pointer ref
gcc -mcpu=strongarm110 -Os -fomit-frame-pointer optimized_nonSSE ref
gcc -mcpu=strongarm -O2 -fomit-frame-pointer ref
gcc -mcpu=strongarm -O3 -fomit-frame-pointer optimized_nonSSE ref
gcc -mcpu=strongarm -O -fomit-frame-pointer ref
gcc -mcpu=strongarm -Os -fomit-frame-pointer optimized_nonSSE ref