Implementation notes: armeabi, novenablue, crypto_stream/salsa208

Computer: novenablue
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20200702
Operation: crypto_stream
Primitive: salsa208
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
84721612 0 09732 404 784armneon3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417
84901594 0 09376 396 784armneon3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417
85101628 0 015855 412 800armneon3clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
85101628 0 013105 408 800armneon3clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
85101628 0 015871 412 800armneon3clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
85231600 0 011573 408 784armneon3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417
85321600 0 09964 404 784armneon3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417
85371628 0 014159 412 800armneon3clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
85371628 0 014159 412 800armneon3clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
99602920 0 017159 412 800armneon2clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
106972904 0 017127 412 800armneon2clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
111822208 0 014735 412 800armneon2clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
111822208 0 014735 412 800armneon2clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
114002288 0 013761 408 800armneon2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
11600976 0 015215 412 800armneonclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
12164960 0 015183 412 800armneonclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
12164960 0 013487 412 800armneonclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
12182960 0 013487 412 800armneonclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
129621056 0 012529 408 800armneonclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
132271500 0 011841 408 784refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417
135821336 0 014235 412 800refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
135821336 0 014235 412 800refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
135841336 0 015931 412 800refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
135951332 0 015947 412 800refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
152543200 0 115675 412 808e/regsclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
152543200 0 117371 412 808e/regsclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
152963200 0 115675 412 808e/regsclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
155193212 0 117395 412 808e/regsclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
168102744 0 412709 408 792e/refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417
168552820 0 411176 404 792e/mergedgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417
169203340 0 413305 408 792e/mergedgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417
170632748 0 412713 408 792e/regsgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417
173102492 0 410612 404 792e/mergedgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417
174542860 0 115331 412 808e/refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
174722860 0 117027 412 808e/refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
175462892 0 117075 412 808e/refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
176562860 0 115331 412 808e/refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
179882316 0 410084 396 792e/mergedgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417
18418596 0 09092 404 784refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417
184903772 0 115193 408 808e/mergedclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
186134100 0 118287 412 808e/mergedclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
18621688 0 09420 404 784refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417
191464092 0 118263 412 808e/mergedclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
191464092 0 116567 412 808e/mergedclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
191644092 0 116567 412 808e/mergedclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
19818944 0 012789 408 800refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
20418496 0 08640 396 784refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417
212541940 0 410060 404 792e/regsgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417
216481548 0 49904 404 792e/refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417
218882192 0 410548 404 792e/regsgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417
224362732 0 114149 408 808e/regsclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
240542304 0 113725 408 808e/refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020042420200417
245821508 0 49628 404 792e/refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417
319561768 0 49532 396 792e/regsgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417
374081332 0 49096 396 792e/refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020042420200417

Compiler output

Implementation: armneon
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
xor.c: In file included from xor.c:9:0:
xor.c: /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/arm_neon.h:31:2: error: #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h
xor.c: #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h
xor.c: ^
xor.c: xor.c: In function 'crypto_stream_salsa208_armneon_xor':
xor.c: xor.c:21:9: error: unknown type name 'uint32x4_t'
xor.c: const uint32x4_t abab = {-1,0,-1,0};
xor.c: ^
xor.c: xor.c:21:3: warning: excess elements in scalar initializer
xor.c: const uint32x4_t abab = {-1,0,-1,0};
xor.c: ^
xor.c: xor.c:21:3: warning: (near initialization for 'abab')
xor.c: xor.c:21:3: warning: excess elements in scalar initializer
xor.c: xor.c:21:3: warning: (near initialization for 'abab')
xor.c: xor.c:21:3: warning: excess elements in scalar initializer
xor.c: xor.c:21:3: warning: (near initialization for 'abab')
xor.c: xor.c:22:9: error: unknown type name 'uint64x1_t'
xor.c: const uint64x1_t nextblock = {1};
xor.c: ^
xor.c: xor.c:23:3: error: unknown type name 'uint32x4_t'
xor.c: uint32x4_t k0k1k2k3 = (uint32x4_t) vld1q_u8((uint8_t *) k);
xor.c: ^
xor.c: xor.c:23:26: error: 'uint32x4_t' undeclared (first use in this function)
xor.c: uint32x4_t k0k1k2k3 = (uint32x4_t) vld1q_u8((uint8_t *) k);
xor.c: ^
xor.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE armneon
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE armneon
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE armneon
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE armneon

Compiler output

Implementation: armneon2
Security model: unknown
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
xor.c: In file included from xor.c:9:0:
xor.c: /usr/lib/gcc/arm-linux-gnueabihf/4.9/include/arm_neon.h:31:2: error: #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h
xor.c: #error You must enable NEON instructions (e.g. -mfloat-abi=softfp -mfpu=neon) to use arm_neon.h
xor.c: ^
xor.c: xor.c: In function 'crypto_stream_salsa208_armneon2_xor':
xor.c: xor.c:21:9: error: unknown type name 'uint32x4_t'
xor.c: const uint32x4_t abab = {-1,0,-1,0};
xor.c: ^
xor.c: xor.c:21:3: warning: excess elements in scalar initializer
xor.c: const uint32x4_t abab = {-1,0,-1,0};
xor.c: ^
xor.c: xor.c:21:3: warning: (near initialization for 'abab')
xor.c: xor.c:21:3: warning: excess elements in scalar initializer
xor.c: xor.c:21:3: warning: (near initialization for 'abab')
xor.c: xor.c:21:3: warning: excess elements in scalar initializer
xor.c: xor.c:21:3: warning: (near initialization for 'abab')
xor.c: xor.c:22:9: error: unknown type name 'uint64x1_t'
xor.c: const uint64x1_t nextblock = {1};
xor.c: ^
xor.c: xor.c:23:3: error: unknown type name 'uint32x4_t'
xor.c: uint32x4_t k0k1k2k3 = (uint32x4_t) vld1q_u8((uint8_t *) k);
xor.c: ^
xor.c: xor.c:23:26: error: 'uint32x4_t' undeclared (first use in this function)
xor.c: uint32x4_t k0k1k2k3 = (uint32x4_t) vld1q_u8((uint8_t *) k);
xor.c: ^
xor.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE armneon2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE armneon2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE armneon2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE armneon2