Implementation notes: armeabi, novena, crypto_stream/salsa208

Computer: novena
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20220506
Operation: crypto_stream
Primitive: salsa208
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
88011604 0 016465 424 744armneon3clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
88011604 0 015249 424 752armneon3clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
88011632 0 014855 420 744armneon3clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
88011604 0 014719 420 744armneon3clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
88011604 0 023753 424 760armneon3clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
88011596 0 011483 436 744armneon3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
88011596 0 012835 436 744armneon3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
88011594 0 010487 428 744armneon3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
96001612 0 011050 432 744armneon3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
120022312 0 024457 424 760armneon2clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
124021176 0 023317 424 760armneonclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
136012152 0 413363 420 752e/mergedgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
136011744 0 412955 420 752e/refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
136011236 0 012823 420 744refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
136021740 0 411603 420 752e/mergedgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
140011440 0 023953 424 760refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
144023360 0 414571 420 752e/regsgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
148022500 0 116073 424 760e/mergedclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
148022728 0 124809 424 768e/mergedclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
156012488 0 117281 424 752e/mergedclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
156012488 0 115535 420 744e/mergedclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
156012608 0 124685 424 768e/regsclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
160012576 0 124653 424 768e/refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
160022484 0 115631 420 744e/mergedclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
164011632 0 410495 412 744e/mergedgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
1680112272 868 0962998 73533 12008T:cryptoppclang++_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
1680111996 1184 01070225 73657 12008T:cryptoppg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
1680218010 1184 01077509 73653 12008T:cryptoppg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
172016017 488 0957119 73213 12008T:cryptoppclang++_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
1720210062 804 0962122 73533 12008T:cryptoppclang++_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
1760211295 1184 01069356 73645 12008T:cryptoppg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
176026174 1504 01063369 73965 12008T:cryptoppg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
188012556 0 411986 416 752e/mergedgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
18801576 0 010815 420 744refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
1880213071 1900 0963509 74529 12008T:cryptoppclang++_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
188021696 0 411555 420 752e/regsgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
19602728 0 015953 424 744refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
19602728 0 014737 424 752refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
19602624 0 010430 416 744refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
204021284 0 411147 420 752e/refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
20403624 0 014107 420 744refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
20802632 0 014219 420 744refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
212022144 0 115709 424 760e/refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
216021924 0 116709 424 752e/refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
220022196 0 116981 424 752e/regsclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
220022228 0 115363 420 744e/regsclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
220022196 0 115235 420 744e/regsclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
220021992 0 411426 416 752e/regsgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
224012196 0 115765 424 760e/regsclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
224011608 0 410467 412 744e/regsgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
224021680 0 114819 420 744e/refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
228021692 0 114731 420 744e/refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
244021576 0 411010 416 752e/refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
244021148 0 410011 412 744e/refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
27602568 0 09811 412 744refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-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:9:
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:21:9: error: unknown type name 'uint32x4_t'
xor.c: const uint32x4_t abab = {-1,0,-1,0};
xor.c: ^
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: use of undeclared identifier 'uint32x4_t'
xor.c: uint32x4_t k0k1k2k3 = (uint32x4_t) vld1q_u8((uint8_t *) k);
xor.c: ^
xor.c: xor.c:24: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:25: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:26: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:27: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:9:
xor.c: xor.c: In function ‘crypto_stream_salsa208_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:40:23: note: called from here
xor.c: 40 | uint32x4_t start1 = vcombine_u32(k5k0,n0k4);
xor.c: | ^~~~~~~~~~~~~~~~~~~~~~~
xor.c: In file included from xor.c:9:
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:38:21: note: called from here
xor.c: 38 | uint32x2_t k7k2 = vext_u32(k6k7,k2k3,1);
xor.c: | ^~~~~~~~~~~~~~~~~~~~~
xor.c: In file included from xor.c:9:
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:36:21: note: called from here
xor.c: 36 | uint32x2_t k1n1 = vext_u32(k0k1,n1n0,1);
xor.c: | ^~~~~~~~~~~~~~~~~~~~~
xor.c: In file included from xor.c:9:
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:9:
xor.c: xor.c: In function ‘crypto_stream_salsa208_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:40:23: note: called from here
xor.c: 40 | uint32x4_t start1 = vcombine_u32(k5k0,n0k4);
xor.c: | ^~~~~~~~~~~~~~~~~~~~~~~
xor.c: In file included from xor.c:9:
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:38:21: note: called from here
xor.c: 38 | uint32x2_t k7k2 = vext_u32(k6k7,k2k3,1);
xor.c: | ^~~~~~~~~~~~~~~~~~~~~
xor.c: In file included from xor.c:9:
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:36:21: note: called from here
xor.c: 36 | uint32x2_t k1n1 = vext_u32(k0k1,n1n0,1);
xor.c: | ^~~~~~~~~~~~~~~~~~~~~
xor.c: In file included from xor.c:9:
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