Implementation notes: armeabi, novena, crypto_stream/salsa2012

Computer: novena
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20220506
Operation: crypto_stream
Primitive: salsa2012
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
112011596 0 011487 436 744armneon3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
112021604 0 015249 424 752armneon3clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
112021604 0 023753 424 760armneon3clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
112021596 0 012839 436 744armneon3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
116001604 0 016465 424 744armneon3clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
116001604 0 014719 420 744armneon3clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
116001612 0 011054 432 744armneon3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
116001594 0 010487 428 744armneon3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
116011632 0 014855 420 744armneon3clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
136012312 0 024457 424 760armneon2clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
160021744 0 412955 420 752e/refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
168011176 0 023321 424 760armneonclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
168021740 0 411607 420 752e/mergedgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
172012152 0 413367 420 752e/mergedgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
180011236 0 012823 420 744refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
184021440 0 023957 424 760refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
192013356 0 414571 420 752e/regsgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
196022500 0 116073 424 760e/mergedclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
196022728 0 124809 424 768e/mergedclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
200012608 0 124685 424 768e/regsclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
200022488 0 117281 424 752e/mergedclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
200022488 0 115535 420 744e/mergedclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
200032576 0 124653 424 768e/refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
2080210070 804 0962122 73533 12008T:cryptoppclang++_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
2080212280 868 0963030 73533 12008T:cryptoppclang++_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
2080211996 1184 01070225 73657 12008T:cryptoppg++_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
2080218010 1184 01077509 73653 12008T:cryptoppg++_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
208022484 0 115631 420 744e/mergedclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
212016025 488 0957135 73213 12008T:cryptoppclang++_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
2120211295 1184 01069356 73645 12008T:cryptoppg++_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
212021632 0 410495 412 744e/mergedgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
216026174 1504 01063369 73965 12008T:cryptoppg++_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
220022560 0 411998 416 752e/mergedgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
224021700 0 411563 420 752e/regsgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
22803576 0 010815 420 744refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
23202624 0 010430 416 744refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
236031256 0 411115 420 752e/refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
2400213071 1900 0963509 74529 12008T:cryptoppclang++_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
24003728 0 015957 424 744refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
24402728 0 014741 424 752refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
24801632 0 014219 420 744refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
256022144 0 115709 424 760e/refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
260012028 0 411458 416 752e/regsgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
264021924 0 116709 424 752e/refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
264031680 0 114819 420 744e/refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
264032228 0 115367 420 744e/regsclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
264032196 0 115239 420 744e/regsclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
268022196 0 116981 424 752e/regsclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
268022196 0 115765 424 760e/regsclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
268021608 0 410471 412 744e/regsgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
276031692 0 114731 420 744e/refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
28401624 0 014107 420 744refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2022060520220506
284031148 0 410011 412 744e/refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
296031544 0 410978 416 752e/refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2022060520220506
32003568 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_salsa2012_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_salsa2012_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