Implementation notes: armeabi, h7beagle, crypto_aead/norx3261v1

Computer: h7beagle
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20140622
Operation: crypto_aead
Primitive: norx3261v1
TimeImplementationCompilerBenchmark dateSUPERCOP version
100986neongcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer2014062120140529
101090neongcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer2014062120140529
105101neongcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer2014062120140529
105136neongcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer2014062120140529
126606neongcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer2014062120140529
126637neongcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer2014062120140529
186819refgcc -funroll-loops -O2 -fomit-frame-pointer2014062120140529
187592refgcc -fno-schedule-insns -O3 -fomit-frame-pointer2014062120140529
189619refgcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer2014062120140529
190200refgcc -mcpu=cortex-a9 -O2 -fomit-frame-pointer2014062120140529
191079refgcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer2014062120140529
192089refgcc -funroll-loops -O3 -fomit-frame-pointer2014062120140529
192341refgcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer2014062120140529
193518refgcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer2014062120140529
193618refgcc -O2 -fomit-frame-pointer2014062120140529
196188refgcc -mcpu=cortex-a9 -O3 -fomit-frame-pointer2014062120140529
196660refgcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer2014062120140529
196725refgcc -O3 -fomit-frame-pointer2014062120140529
196885refgcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer2014062120140529
199019refgcc -fno-schedule-insns -O2 -fomit-frame-pointer2014062120140529
212725refgcc -mcpu=cortex-a5 -Os -fomit-frame-pointer2014062120140529
213517refgcc -Os -fomit-frame-pointer2014062120140529
213531refgcc -fno-schedule-insns -Os -fomit-frame-pointer2014062120140529
213550refgcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer2014062120140529
214505refgcc -mcpu=cortex-a5 -O3 -fomit-frame-pointer2014062120140529
216293refgcc -funroll-loops -Os -fomit-frame-pointer2014062120140529
216296refgcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer2014062120140529
219145refgcc -mcpu=cortex-a5 -O2 -fomit-frame-pointer2014062120140529
224379refgcc -funroll-loops -O -fomit-frame-pointer2014062120140529
224379refgcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer2014062120140529
228511refgcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer2014062120140529
228542refgcc -mcpu=cortex-a9 -Os -fomit-frame-pointer2014062120140529
229515refgcc -O -fomit-frame-pointer2014062120140529
229535refgcc -fno-schedule-insns -O -fomit-frame-pointer2014062120140529
229551refgcc -mcpu=cortex-a5 -O -fomit-frame-pointer2014062120140529
229594refgcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer2014062120140529
229773refgcc -mcpu=cortex-a9 -O -fomit-frame-pointer2014062120140529
232788refgcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer2014062120140529
267406refgcc -mcpu=arm8 -O3 -fomit-frame-pointer2014062120140529
267461refgcc -mcpu=strongarm110 -O3 -fomit-frame-pointer2014062120140529
267473refgcc -mcpu=arm810 -O3 -fomit-frame-pointer2014062120140529
267511refgcc -mcpu=strongarm1100 -O3 -fomit-frame-pointer2014062120140529
267520refgcc -mcpu=strongarm -O3 -fomit-frame-pointer2014062120140529
276148refgcc -mcpu=strongarm1100 -O2 -fomit-frame-pointer2014062120140529
276158refgcc -mcpu=arm8 -O2 -fomit-frame-pointer2014062120140529
276230refgcc -mcpu=strongarm -O2 -fomit-frame-pointer2014062120140529
276236refgcc -mcpu=strongarm110 -O2 -fomit-frame-pointer2014062120140529
276311refgcc -mcpu=arm810 -O2 -fomit-frame-pointer2014062120140529
308419refgcc -mcpu=strongarm1100 -O -fomit-frame-pointer2014062120140529
308422refgcc -mcpu=strongarm -O -fomit-frame-pointer2014062120140529
308489refgcc -mcpu=arm8 -O -fomit-frame-pointer2014062120140529
308491refgcc -mcpu=arm810 -O -fomit-frame-pointer2014062120140529
308586refgcc -mcpu=strongarm110 -O -fomit-frame-pointer2014062120140529
315464refgcc -mcpu=arm810 -Os -fomit-frame-pointer2014062120140529
315523refgcc -mcpu=strongarm -Os -fomit-frame-pointer2014062120140529
315524refgcc -mcpu=arm8 -Os -fomit-frame-pointer2014062120140529
315526refgcc -mcpu=strongarm110 -Os -fomit-frame-pointer2014062120140529
315528refgcc -mcpu=strongarm1100 -Os -fomit-frame-pointer2014062120140529
1822239refcc2014062120140529
1822245refgcc2014062120140529
1822311refgcc -funroll-loops2014062120140529

Compiler output

Implementation: crypto_aead/norx3261v1/neon
Compiler: cc
norx.c: In file included from norx.c:24:0:
norx.c: /usr/lib/gcc/arm-linux-gnueabihf/4.7/include/arm_neon.h:32:2: error: #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h
norx.c: norx.c: In function 'crypto_aead_norx3261v1_neon_encrypt':
norx.c: norx.c:299:5: error: unknown type name 'uint32x4_t'
norx.c: norx.c:301:5: error: unknown type name 'uint32x4_t'
norx.c: norx.c:309:5: error: unknown type name 'uint32x4_t'
norx.c: norx.c:309:5: warning: excess elements in scalar initializer [enabled by default]
norx.c: norx.c:309:5: warning: (near initialization for 'A_') [enabled by default]
norx.c: norx.c:309:5: warning: excess elements in scalar initializer [enabled by default]
norx.c: norx.c:309:5: warning: (near initialization for 'A_') [enabled by default]
norx.c: norx.c:309:5: warning: excess elements in scalar initializer [enabled by default]
norx.c: norx.c:309:5: warning: (near initialization for 'A_') [enabled by default]
norx.c: norx.c:309:5: error: unknown type name 'uint32x4_t'
norx.c: norx.c:309:5: warning: excess elements in scalar initializer [enabled by default]
norx.c: norx.c:309:5: warning: (near initialization for 'C_') [enabled by default]
norx.c: norx.c:309:5: warning: excess elements in scalar initializer [enabled by default]
norx.c: norx.c:309:5: warning: (near initialization for 'C_') [enabled by default]
norx.c: norx.c:309:5: warning: excess elements in scalar initializer [enabled by default]
norx.c: norx.c:309:5: warning: (near initialization for 'C_') [enabled by default]
norx.c: norx.c:309:5: error: unknown type name 'uint32x4_t'
norx.c: norx.c:309:5: warning: excess elements in scalar initializer [enabled by default]
norx.c: norx.c:309:5: warning: (near initialization for 'D_') [enabled by default]
norx.c: norx.c:309:5: warning: excess elements in scalar initializer [enabled by default]
norx.c: norx.c:309:5: warning: (near initialization for 'D_') [enabled by default]
norx.c: norx.c:309:5: warning: excess elements in scalar initializer [enabled by default]
norx.c: ...

Number of similar (compiler,implementation) pairs: 27, namely:
CompilerImplementations
cc neon
gcc neon
gcc -O2 -fomit-frame-pointer neon
gcc -O3 -fomit-frame-pointer neon
gcc -O -fomit-frame-pointer neon
gcc -Os -fomit-frame-pointer neon
gcc -fno-schedule-insns -O2 -fomit-frame-pointer neon
gcc -fno-schedule-insns -O3 -fomit-frame-pointer neon
gcc -fno-schedule-insns -O -fomit-frame-pointer neon
gcc -fno-schedule-insns -Os -fomit-frame-pointer neon
gcc -funroll-loops neon
gcc -funroll-loops -O2 -fomit-frame-pointer neon
gcc -funroll-loops -O3 -fomit-frame-pointer neon
gcc -funroll-loops -O -fomit-frame-pointer neon
gcc -funroll-loops -Os -fomit-frame-pointer neon
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer neon
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer neon
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer neon
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer neon
gcc -mcpu=cortex-a5 -O2 -fomit-frame-pointer neon
gcc -mcpu=cortex-a5 -O3 -fomit-frame-pointer neon
gcc -mcpu=cortex-a5 -O -fomit-frame-pointer neon
gcc -mcpu=cortex-a5 -Os -fomit-frame-pointer neon
gcc -mcpu=cortex-a9 -O2 -fomit-frame-pointer neon
gcc -mcpu=cortex-a9 -O3 -fomit-frame-pointer neon
gcc -mcpu=cortex-a9 -O -fomit-frame-pointer neon
gcc -mcpu=cortex-a9 -Os -fomit-frame-pointer neon

Compiler output

Implementation: crypto_aead/norx3261v1/xmm
Compiler: cc
norx.c: norx.c:27:27: fatal error: x86intrin.h: No such file or directory
norx.c: compilation terminated.

Number of similar (compiler,implementation) pairs: 35, namely:
CompilerImplementations
cc xmm
gcc xmm
gcc -O2 -fomit-frame-pointer xmm
gcc -O3 -fomit-frame-pointer xmm
gcc -O -fomit-frame-pointer xmm
gcc -Os -fomit-frame-pointer xmm
gcc -fno-schedule-insns -O2 -fomit-frame-pointer xmm
gcc -fno-schedule-insns -O3 -fomit-frame-pointer xmm
gcc -fno-schedule-insns -O -fomit-frame-pointer xmm
gcc -fno-schedule-insns -Os -fomit-frame-pointer xmm
gcc -funroll-loops xmm
gcc -funroll-loops -O2 -fomit-frame-pointer xmm
gcc -funroll-loops -O3 -fomit-frame-pointer xmm
gcc -funroll-loops -O -fomit-frame-pointer xmm
gcc -funroll-loops -Os -fomit-frame-pointer xmm
gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer xmm
gcc -funroll-loops -fno-schedule-insns -O3 -fomit-frame-pointer xmm
gcc -funroll-loops -fno-schedule-insns -O -fomit-frame-pointer xmm
gcc -funroll-loops -fno-schedule-insns -Os -fomit-frame-pointer xmm
gcc -mcpu=cortex-a5 -O2 -fomit-frame-pointer xmm
gcc -mcpu=cortex-a5 -O3 -fomit-frame-pointer xmm
gcc -mcpu=cortex-a5 -O -fomit-frame-pointer xmm
gcc -mcpu=cortex-a5 -Os -fomit-frame-pointer xmm
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer xmm
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer xmm
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer xmm
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer xmm
gcc -mcpu=cortex-a9 -O2 -fomit-frame-pointer xmm
gcc -mcpu=cortex-a9 -O3 -fomit-frame-pointer xmm
gcc -mcpu=cortex-a9 -O -fomit-frame-pointer xmm
gcc -mcpu=cortex-a9 -Os -fomit-frame-pointer xmm
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O2 -fomit-frame-pointer xmm
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer xmm
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O -fomit-frame-pointer xmm
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -Os -fomit-frame-pointer xmm

Compiler output

Implementation: crypto_aead/norx3261v1/ref
Compiler: gcc -mcpu=arm810 -O2 -fomit-frame-pointer
caesar.c: caesar.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
norx.c: norx.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: 20, namely:
CompilerImplementations
gcc -mcpu=arm810 -O2 -fomit-frame-pointer ref
gcc -mcpu=arm810 -O3 -fomit-frame-pointer ref
gcc -mcpu=arm810 -O -fomit-frame-pointer ref
gcc -mcpu=arm810 -Os -fomit-frame-pointer ref
gcc -mcpu=arm8 -O2 -fomit-frame-pointer ref
gcc -mcpu=arm8 -O3 -fomit-frame-pointer ref
gcc -mcpu=arm8 -O -fomit-frame-pointer ref
gcc -mcpu=arm8 -Os -fomit-frame-pointer ref
gcc -mcpu=strongarm1100 -O2 -fomit-frame-pointer ref
gcc -mcpu=strongarm1100 -O3 -fomit-frame-pointer ref
gcc -mcpu=strongarm1100 -O -fomit-frame-pointer ref
gcc -mcpu=strongarm1100 -Os -fomit-frame-pointer ref
gcc -mcpu=strongarm110 -O2 -fomit-frame-pointer ref
gcc -mcpu=strongarm110 -O3 -fomit-frame-pointer ref
gcc -mcpu=strongarm110 -O -fomit-frame-pointer ref
gcc -mcpu=strongarm110 -Os -fomit-frame-pointer ref
gcc -mcpu=strongarm -O2 -fomit-frame-pointer ref
gcc -mcpu=strongarm -O3 -fomit-frame-pointer ref
gcc -mcpu=strongarm -O -fomit-frame-pointer ref
gcc -mcpu=strongarm -Os -fomit-frame-pointer ref

Compiler output

Implementation: crypto_aead/norx3261v1/neon
Compiler: gcc -mcpu=arm810 -O2 -fomit-frame-pointer
norx.c: norx.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
norx.c: In file included from norx.c:24:0:
norx.c: /usr/lib/gcc/arm-linux-gnueabihf/4.7/include/arm_neon.h:32:2: error: #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h
norx.c: norx.c: In function 'crypto_aead_norx3261v1_neon_encrypt':
norx.c: norx.c:299:5: error: unknown type name 'uint32x4_t'
norx.c: norx.c:301:5: error: unknown type name 'uint32x4_t'
norx.c: norx.c:309:5: error: unknown type name 'uint32x4_t'
norx.c: norx.c:309:5: warning: excess elements in scalar initializer [enabled by default]
norx.c: norx.c:309:5: warning: (near initialization for 'A_') [enabled by default]
norx.c: norx.c:309:5: warning: excess elements in scalar initializer [enabled by default]
norx.c: norx.c:309:5: warning: (near initialization for 'A_') [enabled by default]
norx.c: norx.c:309:5: warning: excess elements in scalar initializer [enabled by default]
norx.c: norx.c:309:5: warning: (near initialization for 'A_') [enabled by default]
norx.c: norx.c:309:5: error: unknown type name 'uint32x4_t'
norx.c: norx.c:309:5: warning: excess elements in scalar initializer [enabled by default]
norx.c: norx.c:309:5: warning: (near initialization for 'C_') [enabled by default]
norx.c: norx.c:309:5: warning: excess elements in scalar initializer [enabled by default]
norx.c: norx.c:309:5: warning: (near initialization for 'C_') [enabled by default]
norx.c: norx.c:309:5: warning: excess elements in scalar initializer [enabled by default]
norx.c: norx.c:309:5: warning: (near initialization for 'C_') [enabled by default]
norx.c: norx.c:309:5: error: unknown type name 'uint32x4_t'
norx.c: norx.c:309:5: warning: excess elements in scalar initializer [enabled by default]
norx.c: norx.c:309:5: warning: (near initialization for 'D_') [enabled by default]
norx.c: norx.c:309:5: warning: excess elements in scalar initializer [enabled by default]
norx.c: norx.c:309:5: warning: (near initialization for 'D_') [enabled by default]
norx.c: ...

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

Compiler output

Implementation: crypto_aead/norx3261v1/xmm
Compiler: gcc -mcpu=arm810 -O2 -fomit-frame-pointer
norx.c: norx.c:1:0: warning: target CPU does not support THUMB instructions [enabled by default]
norx.c: norx.c:27:27: fatal error: x86intrin.h: No such file or directory
norx.c: compilation terminated.

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

Compiler output

Implementation: crypto_aead/norx3261v1/neon
Compiler: gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer
norx.c:
norx.c: cc1: out of memory allocating 471208 bytes after a total of 3383296 bytes

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -mcpu=cortex-a8 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer neon

Compiler output

Implementation: crypto_aead/norx3261v1/neon
Compiler: gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer
norx.c:
norx.c: cc1: out of memory allocating 471208 bytes after a total of 3387392 bytes

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
gcc -mcpu=cortex-a9 -mfloat-abi=hard -mfpu=neon -O3 -fomit-frame-pointer neon