Implementation notes: armeabi, novena, crypto_stream/salsa20

Computer: novena
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20220506
Operation: crypto_stream
Primitive: salsa20
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
140013472 0 018341 424 744armneon6clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
140013472 0 017125 424 752armneon6clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
140013500 0 016727 420 744armneon6clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
140013472 0 016599 420 744armneon6clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
140013464 0 013363 436 744armneon6gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
140013480 0 012930 432 744armneon6gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
140013462 0 012359 428 744armneon6gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
140023472 0 025621 424 760armneon6clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
140023464 0 014707 436 744armneon6gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
164021604 0 015245 424 752armneon3clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
164021604 0 023749 424 760armneon3clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
164021596 0 012835 436 744armneon3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
168011604 0 016461 424 744armneon3clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
168011632 0 014855 420 744armneon3clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
168011604 0 014719 420 744armneon3clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
168011612 0 011050 432 744armneon3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
168011594 0 010487 428 744armneon3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
168021596 0 011483 436 744armneon3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
200022312 0 024453 424 760armneon2clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
252021176 0 023317 424 760armneonclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
252021760 0 412967 420 752e/refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
256022172 0 413387 420 752e/mergedgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
260011768 0 411627 420 752e/mergedgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
264033348 0 414563 420 752e/regsgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
268021440 0 023953 424 760refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
268021236 0 012823 420 744refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
284032500 0 116069 424 760e/mergedclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
284032608 0 124685 424 768e/regsclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
288028624 804 0960678 73533 12008T:cryptoppclang++_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
288029308 804 0960130 73533 12008T:cryptoppclang++_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
288024673 488 0955771 73213 12008T:cryptoppclang++_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
288029464 1120 01069145 73657 12008T:cryptoppg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
2880214978 1120 01075923 73653 12008T:cryptoppg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
288028918 1120 01068331 73645 12008T:cryptoppg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
288022728 0 124805 424 768e/mergedclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
292024748 1440 01063445 73965 12008T:cryptoppg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
292032576 0 124653 424 768e/refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
2960210213 1836 0960971 74529 12008T:cryptoppclang++_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
296032488 0 117277 424 752e/mergedclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
300032488 0 115535 420 744e/mergedclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
304022484 0 115631 420 744e/mergedclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
312021632 0 410495 412 744e/mergedgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
312021708 0 411571 420 752e/regsgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
316022460 0 411890 416 752e/mergedgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
31602576 0 010815 420 744refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
32002624 0 010430 416 744refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
320031240 0 411095 420 752e/refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
32803728 0 014737 424 752refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
33202624 0 014103 420 744refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
33203728 0 015953 424 744refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
33203632 0 014215 420 744refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
344022144 0 115709 424 760e/refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
344032004 0 411434 416 752e/regsgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
348041680 0 114819 420 744e/refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
352031608 0 410467 412 744e/regsgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
356031924 0 116709 424 752e/refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
356032228 0 115363 420 744e/regsclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
360042196 0 116981 424 752e/regsclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
360042196 0 115765 424 760e/regsclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
376031148 0 410011 412 744e/refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
380041692 0 114731 420 744e/refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
384031564 0 410990 416 752e/refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
40404568 0 09807 412 744refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
412032196 0 115235 420 744e/regsclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506

Compiler output

Implementation: armneon
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
xor.c: In file included from xor.c:8:
xor.c: /usr/lib/llvm-11/lib/clang/11.0.1/include/arm_neon.h:32:2: error: "NEON support not enabled"
xor.c: #error "NEON support not enabled"
xor.c: ^
xor.c: xor.c:20:9: error: unknown type name 'uint32x4_t'
xor.c: const uint32x4_t abab = {-1,0,-1,0};
xor.c: ^
xor.c: xor.c:21:9: error: unknown type name 'uint64x1_t'
xor.c: const uint64x1_t nextblock = {1};
xor.c: ^
xor.c: xor.c:22:3: error: use of undeclared identifier 'uint32x4_t'
xor.c: uint32x4_t k0k1k2k3 = (uint32x4_t) vld1q_u8((uint8_t *) k);
xor.c: ^
xor.c: xor.c:23:3: error: use of undeclared identifier 'uint32x4_t'
xor.c: uint32x4_t k4k5k6k7 = (uint32x4_t) vld1q_u8((uint8_t *) (k + 16));
xor.c: ^
xor.c: xor.c:24:3: error: use of undeclared identifier 'uint32x4_t'
xor.c: uint32x4_t start0 = (uint32x4_t) vld1q_u8((uint8_t *) sigma);
xor.c: ^
xor.c: xor.c:25:3: error: use of undeclared identifier 'uint32x2_t'
xor.c: uint32x2_t n0n1 = (uint32x2_t) vld1_u8((uint8_t *) n);
xor.c: ^
xor.c: xor.c:26:3: error: use of undeclared identifier 'uint32x2_t'
xor.c: uint32x2_t n2n3 = {0,0};
xor.c: ^
xor.c: ...

Number of similar (compiler,implementation) pairs: 8, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE armneon
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE armneon
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE armneon
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE armneon
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE armneon2
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE armneon2
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE armneon2
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE armneon2

Compiler output

Implementation: armneon
Security model: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
xor.c: In file included from xor.c:8:
xor.c: xor.c: In function ‘crypto_stream_salsa20_armneon_constbranchindex_xor’:
xor.c: /usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h:7196:1: error: inlining failed in call to ‘always_inline’ ‘vcombine_u32’: target specific option mismatch
xor.c: 7196 | vcombine_u32 (uint32x2_t __a, uint32x2_t __b)
xor.c: | ^~~~~~~~~~~~
xor.c: xor.c:39:23: note: called from here
xor.c: 39 | uint32x4_t start1 = vcombine_u32(k5k0,n0k4);
xor.c: | ^~~~~~~~~~~~~~~~~~~~~~~
xor.c: In file included from xor.c:8:
xor.c: /usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h:8783:1: error: inlining failed in call to ‘always_inline’ ‘vext_u32’: target specific option mismatch
xor.c: 8783 | vext_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
xor.c: | ^~~~~~~~
xor.c: xor.c:37:21: note: called from here
xor.c: 37 | uint32x2_t k7k2 = vext_u32(k6k7,k2k3,1);
xor.c: | ^~~~~~~~~~~~~~~~~~~~~
xor.c: In file included from xor.c:8:
xor.c: /usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h:8783:1: error: inlining failed in call to ‘always_inline’ ‘vext_u32’: target specific option mismatch
xor.c: 8783 | vext_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
xor.c: | ^~~~~~~~
xor.c: xor.c:35:21: note: called from here
xor.c: 35 | uint32x2_t k1n1 = vext_u32(k0k1,n1n0,1);
xor.c: | ^~~~~~~~~~~~~~~~~~~~~
xor.c: In file included from xor.c:8:
xor.c: /usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h:8783:1: error: inlining failed in call to ‘always_inline’ ‘vext_u32’: target specific option mismatch
xor.c: 8783 | vext_u32 (uint32x2_t __a, uint32x2_t __b, const int __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: constbranchindex
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
xor.c: In file included from xor.c:8:
xor.c: xor.c: In function ‘crypto_stream_salsa20_armneon2_constbranchindex_xor’:
xor.c: /usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h:7196:1: error: inlining failed in call to ‘always_inline’ ‘vcombine_u32’: target specific option mismatch
xor.c: 7196 | vcombine_u32 (uint32x2_t __a, uint32x2_t __b)
xor.c: | ^~~~~~~~~~~~
xor.c: xor.c:39:23: note: called from here
xor.c: 39 | uint32x4_t start1 = vcombine_u32(k5k0,n0k4);
xor.c: | ^~~~~~~~~~~~~~~~~~~~~~~
xor.c: In file included from xor.c:8:
xor.c: /usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h:8783:1: error: inlining failed in call to ‘always_inline’ ‘vext_u32’: target specific option mismatch
xor.c: 8783 | vext_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
xor.c: | ^~~~~~~~
xor.c: xor.c:37:21: note: called from here
xor.c: 37 | uint32x2_t k7k2 = vext_u32(k6k7,k2k3,1);
xor.c: | ^~~~~~~~~~~~~~~~~~~~~
xor.c: In file included from xor.c:8:
xor.c: /usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h:8783:1: error: inlining failed in call to ‘always_inline’ ‘vext_u32’: target specific option mismatch
xor.c: 8783 | vext_u32 (uint32x2_t __a, uint32x2_t __b, const int __c)
xor.c: | ^~~~~~~~
xor.c: xor.c:35:21: note: called from here
xor.c: 35 | uint32x2_t k1n1 = vext_u32(k0k1,n1n0,1);
xor.c: | ^~~~~~~~~~~~~~~~~~~~~
xor.c: In file included from xor.c:8:
xor.c: /usr/lib/gcc/arm-linux-gnueabihf/10/include/arm_neon.h:8783:1: error: inlining failed in call to ‘always_inline’ ‘vext_u32’: target specific option mismatch
xor.c: 8783 | vext_u32 (uint32x2_t __a, uint32x2_t __b, const int __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

Compiler output

Implementation: rust_crypto
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: Alarm clock

Number of similar (compiler,implementation) pairs: 18, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE rust_crypto
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE rust_crypto
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE rust_crypto
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE rust_crypto
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE rust_crypto
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE rust_crypto
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE rust_crypto
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE rust_crypto
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE rust_crypto
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE rust_salsa20
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE rust_salsa20
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE rust_salsa20
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE rust_salsa20
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE rust_salsa20
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE rust_salsa20
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE rust_salsa20
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE rust_salsa20
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE rust_salsa20