Implementation notes: armeabi, berry0, crypto_stream/salsa20

Computer: berry0
Microarchitecture: armeabi; ARM1176 (410fb767)
Architecture: armeabi
CPU ID: unknown CPU ID
SUPERCOP version: 20240107
Operation: crypto_stream
Primitive: salsa20
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
359472768 0 415040 392 792e/regsgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
364872772 0 415044 392 792e/refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
380232808 0 413195 388 792e/mergedgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
381263532 0 415808 392 792e/mergedgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
432151980 0 412371 388 792e/regsgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
434851852 0 015732 392 784refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
442153480 0 413971 388 792e/mergedgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
454983620 0 117190 384 800e/mergedclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
459302492 0 412160 380 784e/mergedgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
466603652 0 117486 384 792e/mergedclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
466733652 0 115757 380 784e/mergedclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
467873652 0 117486 384 792e/mergedclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
470023664 0 117198 384 800e/mergedclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
486362636 0 114739 380 784e/regsclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
488272640 0 116172 384 800e/regsclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
488872716 0 413211 388 792e/regsgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
499482316 0 116147 384 792e/refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
502722624 0 116155 384 800e/refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
505242596 0 116164 384 800e/regsclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
508482316 0 116147 384 792e/refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
515181912 0 412295 388 792e/refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
52053876 0 012871 388 784refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
52248832 0 012107 380 784refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
54079896 0 012999 388 784refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
54290840 0 016049 384 792refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
54402848 0 016089 384 792refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
54660840 0 016345 384 784refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
54765840 0 016345 384 784refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
548052640 0 116476 384 792e/regsclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
548402640 0 116476 384 792e/regsclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
551252624 0 116195 384 800e/refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
554282152 0 114250 380 784e/refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
55665744 0 014520 380 784refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2024012420240107
577651816 0 411478 380 784e/regsgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
593022184 0 412671 388 792e/refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107
614401640 0 411301 380 784e/refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2024012420240107

Test failure

Implementation: armneon3
Security model: constbranchindex
Compiler: clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
error 111

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

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-7/lib/clang/7.0.1/include/arm_neon.h:28:2: error: "NEON support not enabled"
xor.c: #error "NEON support not enabled"
xor.c: ^
xor.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/arm_neon.h:48:24: error: 'neon_vector_type' attribute is not supported for this target
xor.c: typedef __attribute__((neon_vector_type(8))) int8_t int8x8_t;
xor.c: ^
xor.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/arm_neon.h:49:24: error: 'neon_vector_type' attribute is not supported for this target
xor.c: typedef __attribute__((neon_vector_type(16))) int8_t int8x16_t;
xor.c: ^
xor.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/arm_neon.h:50:24: error: 'neon_vector_type' attribute is not supported for this target
xor.c: typedef __attribute__((neon_vector_type(4))) int16_t int16x4_t;
xor.c: ^
xor.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/arm_neon.h:51:24: error: 'neon_vector_type' attribute is not supported for this target
xor.c: typedef __attribute__((neon_vector_type(8))) int16_t int16x8_t;
xor.c: ^
xor.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/arm_neon.h:52:24: error: 'neon_vector_type' attribute is not supported for this target
xor.c: typedef __attribute__((neon_vector_type(2))) int32_t int32x2_t;
xor.c: ^
xor.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/arm_neon.h:53:24: error: 'neon_vector_type' attribute is not supported for this target
xor.c: typedef __attribute__((neon_vector_type(4))) int32_t int32x4_t;
xor.c: ^
xor.c: /usr/lib/llvm-7/lib/clang/7.0.1/include/arm_neon.h:54:24: error: 'neon_vector_type' attribute is not supported for this target
xor.c: typedef __attribute__((neon_vector_type(1))) int64_t int64x1_t;
xor.c: ^
xor.c: ...

Number of similar (compiler,implementation) pairs: 10, 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 -mcpu=native -O3 -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
clang -mcpu=native -O3 -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/8/include/arm_neon.h:7192:1: error: inlining failed in call to always_inline 'vcombine_u32': target specific option mismatch
xor.c: vcombine_u32 (uint32x2_t __a, uint32x2_t __b)
xor.c: ^~~~~~~~~~~~
xor.c: xor.c:39:23: note: called from here
xor.c: 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/8/include/arm_neon.h:8779:1: error: inlining failed in call to always_inline 'vext_u32': target specific option mismatch
xor.c: 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: 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/8/include/arm_neon.h:8779:1: error: inlining failed in call to always_inline 'vext_u32': target specific option mismatch
xor.c: 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: 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/8/include/arm_neon.h:8779:1: error: inlining failed in call to always_inline 'vext_u32': target specific option mismatch
xor.c: 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/8/include/arm_neon.h:7192:1: error: inlining failed in call to always_inline 'vcombine_u32': target specific option mismatch
xor.c: vcombine_u32 (uint32x2_t __a, uint32x2_t __b)
xor.c: ^~~~~~~~~~~~
xor.c: xor.c:39:23: note: called from here
xor.c: 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/8/include/arm_neon.h:8779:1: error: inlining failed in call to always_inline 'vext_u32': target specific option mismatch
xor.c: 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: 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/8/include/arm_neon.h:8779:1: error: inlining failed in call to always_inline 'vext_u32': target specific option mismatch
xor.c: 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: 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/8/include/arm_neon.h:8779:1: error: inlining failed in call to always_inline 'vext_u32': target specific option mismatch
xor.c: 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: T:cryptopp
Security model: timingleaks
Compiler: clang++ -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
stream.cpp: stream.cpp:1:10: fatal error: 'cryptopp/salsa.h' file not found
stream.cpp: #include <cryptopp/salsa.h>
stream.cpp: ^~~~~~~~~~~~~~~~~~
stream.cpp: 1 error generated.

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

Compiler output

Implementation: T:cryptopp
Security model: timingleaks
Compiler: g++ -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
stream.cpp: stream.cpp:1:10: fatal error: cryptopp/salsa.h: No such file or directory
stream.cpp: #include <cryptopp/salsa.h>
stream.cpp: ^~~~~~~~~~~~~~~~~~
stream.cpp: compilation terminated.

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

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: 15, 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 -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 -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 -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

Compiler output

Implementation: rust_crypto
Security model: constbranchindex
Compiler: clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
try.c: error: failed to fetch `https://github.com/rust-lang/crates.io-index`
try.c:
try.c: Caused by:
try.c: SSL error: unknown error; class=Ssl (16)

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