Implementation notes: aarch64, pi4b, crypto_stream/chacha12

Computer: pi4b
Microarchitecture: aarch64; Cortex-A72 (410fd083)
Architecture: aarch64
CPU ID: 410fd083
SUPERCOP version: 20240808
Operation: crypto_stream
Primitive: chacha12
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
51355112 0 417912 816 800dolbeau/arm-neongcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
51484232 0 415944 816 792dolbeau/arm-neongcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
54344316 0 118030 840 800dolbeau/arm-neonclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
659117558 2368 01707482 147001 15016T:cryptoppg++_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
66053508 0 414192 800 784dolbeau/arm-neongcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
668217230 2368 01702052 147009 15016T:cryptoppg++_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
668317317 2368 01698203 147009 15016T:cryptoppg++_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
68298386 2880 01691403 147649 15000T:cryptoppg++_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
79612688 0 414392 816 792e/mergedgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
79622320 0 412992 800 784e/mergedgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
86444400 0 416119 808 792dolbeau/arm-neongcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
91873824 0 416624 816 800e/mergedgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
92883568 0 416376 816 800dolbeau/mipsel-msagcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
93473456 0 416264 816 800e/refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
94412916 0 116614 840 800e/refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
94422916 0 116630 840 800dolbeau/mipsel-msaclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
95132916 0 116614 840 800e/regsclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
96105252 0 418064 816 800e/regsgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
101673428 0 117134 840 800e/mergedclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
109003928 0 415639 808 792e/mergedgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
123382472 0 414184 816 792e/regsgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
140192068 0 412728 800 784e/refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
140442068 0 412744 800 784dolbeau/mipsel-msagcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
144933408 0 415103 808 792e/regsgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
150022424 0 414136 816 792e/refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
156482528 0 414248 816 792dolbeau/mipsel-msagcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
157232228 0 412888 800 784e/regsgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
165622904 0 414623 808 792dolbeau/mipsel-msagcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808
165832904 0 414607 808 792e/refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024082120240808

Compiler output


chacha.S: chacha.S:19:5: error: unknown token in expression
chacha.S: mov %rsp,%r11
chacha.S:     ^
chacha.S: chacha.S:19:5: error: invalid operand
chacha.S: mov %rsp,%r11
chacha.S:     ^
chacha.S: chacha.S:20:9: error: unknown token in expression
chacha.S: and $31,%r11
chacha.S:         ^
chacha.S: chacha.S:20:9: error: invalid operand
chacha.S: and $31,%r11
chacha.S:         ^
chacha.S: chacha.S:21:10: error: unknown token in expression
chacha.S: add $384,%r11
chacha.S:          ^
chacha.S: chacha.S:21:10: error: invalid operand
chacha.S: add $384,%r11
chacha.S:          ^
chacha.S: chacha.S:22:5: error: unknown token in expression
chacha.S: sub %r11,%rsp
chacha.S:     ^
chacha.S: chacha.S:22:5: error: invalid operand
chacha.S: sub %r11,%rsp
chacha.S:     ^
chacha.S: chacha.S:23:5: error: unknown token in expression
chacha.S: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
amd64-ssse3clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


chacha.S: chacha.S: Assembler messages:
chacha.S: chacha.S:19: Error: operand 1 must be an integer register -- `mov %rsp,%r11'
chacha.S: chacha.S:20: Error: operand 1 must be an integer or stack pointer register -- `and $31,%r11'
chacha.S: chacha.S:21: Error: operand 1 must be an integer or stack pointer register -- `add $384,%r11'
chacha.S: chacha.S:22: Error: operand 1 must be an integer or stack pointer register -- `sub %r11,%rsp'
chacha.S: chacha.S:23: Error: operand 1 must be an integer register -- `mov %rdi,%r8'
chacha.S: chacha.S:24: Error: operand 1 must be an integer register -- `mov %rsi,%rsi'
chacha.S: chacha.S:25: Error: operand 1 must be an integer register -- `mov %rsi,%rdi'
chacha.S: chacha.S:26: Error: operand 1 must be an integer register -- `mov %rdx,%rdx'
chacha.S: chacha.S:27: Error: operand 1 must be an integer or stack pointer register -- `cmp $0,%rdx'
chacha.S: chacha.S:29: Error: unknown mnemonic `jbe' -- `jbe ._done'
chacha.S: chacha.S:31: Error: operand 1 must be an integer register -- `mov $0,%rax'
chacha.S: chacha.S:33: Error: operand 1 must be an integer register -- `mov %rdx,%rcx'
chacha.S: chacha.S:35: Error: unknown mnemonic `rep' -- `rep stosb'
chacha.S: chacha.S:37: Error: operand 1 must be an integer or stack pointer register -- `sub %rdx,%rdi'
chacha.S: chacha.S:39: Error: unknown mnemonic `jmp' -- `jmp ._start'
chacha.S: chacha.S:47: Error: operand 1 must be an integer register -- `mov %rsp,%r11'
chacha.S: chacha.S:48: Error: operand 1 must be an integer or stack pointer register -- `and $31,%r11'
chacha.S: chacha.S:49: Error: operand 1 must be an integer or stack pointer register -- `add $384,%r11'
chacha.S: chacha.S:50: Error: operand 1 must be an integer or stack pointer register -- `sub %r11,%rsp'
chacha.S: chacha.S:52: Error: operand 1 must be an integer register -- `mov %rdi,%r8'
chacha.S: chacha.S:54: Error: operand 1 must be an integer register -- `mov %rsi,%rsi'
chacha.S: chacha.S:56: Error: operand 1 must be an integer register -- `mov %rdx,%rdi'
chacha.S: chacha.S:58: Error: operand 1 must be an integer register -- `mov %rcx,%rdx'
chacha.S: chacha.S:60: Error: operand 1 must be an integer or stack pointer register -- `cmp $0,%rdx'
chacha.S: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
amd64-ssse3gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
amd64-ssse3gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
amd64-ssse3gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
amd64-ssse3gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Compiler output


chacha.c: In file included from chacha.c:94:
chacha.c: ./u4.h:67:14: warning: unused variable 't_5' [-Wunused-variable]
chacha.c:   uint32x4_t t_5;
chacha.c:              ^
chacha.c: ./u4.h:68:14: warning: unused variable 't_6' [-Wunused-variable]
chacha.c:   uint32x4_t t_6;
chacha.c:              ^
chacha.c: ./u4.h:66:14: warning: unused variable 't_4' [-Wunused-variable]
chacha.c:   uint32x4_t t_4;
chacha.c:              ^
chacha.c: ./u4.h:69:14: warning: unused variable 't_7' [-Wunused-variable]
chacha.c:   uint32x4_t t_7;
chacha.c:              ^
chacha.c: ./u4.h:74:14: warning: unused variable 't_12' [-Wunused-variable]
chacha.c:   uint32x4_t t_12;
chacha.c:              ^
chacha.c: ./u4.h:75:14: warning: unused variable 't_13' [-Wunused-variable]
chacha.c:   uint32x4_t t_13;
chacha.c:              ^
chacha.c: ./u4.h:77:14: warning: unused variable 't_15' [-Wunused-variable]
chacha.c:   uint32x4_t t_15;
chacha.c:              ^
chacha.c: ./u4.h:76:14: warning: unused variable 't_14' [-Wunused-variable]
chacha.c:   uint32x4_t t_14;
chacha.c:              ^
chacha.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
dolbeau/arm-neonclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


chacha.c: In file included from chacha.c:94:
chacha.c: u4.h: In function 'crypto_stream_chacha12_dolbeau_arm_neon_constbranchindex_ECRYPT_encrypt_bytes':
chacha.c: u4.h:77:14: warning: unused variable 't_15' [-Wunused-variable]
chacha.c:    77 |   uint32x4_t t_15;
chacha.c:       |              ^~~~
chacha.c: u4.h:76:14: warning: unused variable 't_14' [-Wunused-variable]
chacha.c:    76 |   uint32x4_t t_14;
chacha.c:       |              ^~~~
chacha.c: u4.h:75:14: warning: unused variable 't_13' [-Wunused-variable]
chacha.c:    75 |   uint32x4_t t_13;
chacha.c:       |              ^~~~
chacha.c: u4.h:74:14: warning: unused variable 't_12' [-Wunused-variable]
chacha.c:    74 |   uint32x4_t t_12;
chacha.c:       |              ^~~~
chacha.c: u4.h:69:14: warning: unused variable 't_7' [-Wunused-variable]
chacha.c:    69 |   uint32x4_t t_7;
chacha.c:       |              ^~~
chacha.c: u4.h:68:14: warning: unused variable 't_6' [-Wunused-variable]
chacha.c:    68 |   uint32x4_t t_6;
chacha.c:       |              ^~~
chacha.c: u4.h:67:14: warning: unused variable 't_5' [-Wunused-variable]
chacha.c:    67 |   uint32x4_t t_5;
chacha.c:       |              ^~~
chacha.c: u4.h:66:14: warning: unused variable 't_4' [-Wunused-variable]
chacha.c:    66 |   uint32x4_t t_4;
chacha.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
dolbeau/arm-neongcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
dolbeau/arm-neongcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
dolbeau/arm-neongcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
dolbeau/arm-neongcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Compiler output


chacha.c: In file included from chacha.c:1:
chacha.c: e/chacha.c: In function 'crypto_stream_chacha12_e_merged_constbranchindex_ECRYPT_encrypt_bytes':
chacha.c: e/chacha.c:179:46: warning: 'ctarget' may be used uninitialized in this function [-Wmaybe-uninitialized]
chacha.c:   179 |         for (i = 0;i < bytes;++i) ctarget[i] = c[i];
chacha.c:       |                                   ~~~~~~~~~~~^~~~~~

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
e/mergedgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
e/mergedgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
e/mergedgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
e/mergedgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Compiler output


stream.c: In file included from stream.c:11:
stream.c: /usr/lib/llvm-14/lib/clang/14.0.0/include/immintrin.h:14:2: error: "This header is only meant to be used on x86 and x64 architecture"
stream.c: #error "This header is only meant to be used on x86 and x64 architecture"
stream.c:  ^
stream.c: In file included from stream.c:11:
stream.c: In file included from /usr/lib/llvm-14/lib/clang/14.0.0/include/immintrin.h:17:
stream.c: In file included from /usr/lib/llvm-14/lib/clang/14.0.0/include/x86gprintrin.h:15:
stream.c: /usr/lib/llvm-14/lib/clang/14.0.0/include/hresetintrin.h:42:27: error: invalid input constraint 'a' in asm
stream.c:   __asm__ ("hreset $0" :: "a"(__eax));
stream.c:                           ^
stream.c: In file included from stream.c:11:
stream.c: In file included from /usr/lib/llvm-14/lib/clang/14.0.0/include/immintrin.h:21:
stream.c: /usr/lib/llvm-14/lib/clang/14.0.0/include/mmintrin.h:14:2: error: "This header is only meant to be used on x86 and x64 architecture"
stream.c: #error "This header is only meant to be used on x86 and x64 architecture"
stream.c:  ^
stream.c: /usr/lib/llvm-14/lib/clang/14.0.0/include/mmintrin.h:54:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c:     return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
stream.c:            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: /usr/lib/llvm-14/lib/clang/14.0.0/include/mmintrin.h:133:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c:     return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
stream.c:            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: /usr/lib/llvm-14/lib/clang/14.0.0/include/mmintrin.h:163:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c:     return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
stream.c:            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: /usr/lib/llvm-14/lib/clang/14.0.0/include/mmintrin.h:193:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
goll_gueronclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


stream.c: stream.c:11:10: fatal error: immintrin.h: No such file or directory
stream.c:    11 | #include <immintrin.h>
stream.c:       |          ^~~~~~~~~~~~~
stream.c: compilation terminated.

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
goll_guerongcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
goll_guerongcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
goll_guerongcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
goll_guerongcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Compiler output


stream.c: In file included from stream.c:8:
stream.c: /usr/lib/llvm-14/lib/clang/14.0.0/include/immintrin.h:14:2: error: "This header is only meant to be used on x86 and x64 architecture"
stream.c: #error "This header is only meant to be used on x86 and x64 architecture"
stream.c:  ^
stream.c: In file included from stream.c:8:
stream.c: In file included from /usr/lib/llvm-14/lib/clang/14.0.0/include/immintrin.h:17:
stream.c: In file included from /usr/lib/llvm-14/lib/clang/14.0.0/include/x86gprintrin.h:15:
stream.c: /usr/lib/llvm-14/lib/clang/14.0.0/include/hresetintrin.h:42:27: error: invalid input constraint 'a' in asm
stream.c:   __asm__ ("hreset $0" :: "a"(__eax));
stream.c:                           ^
stream.c: In file included from stream.c:8:
stream.c: In file included from /usr/lib/llvm-14/lib/clang/14.0.0/include/immintrin.h:21:
stream.c: /usr/lib/llvm-14/lib/clang/14.0.0/include/mmintrin.h:14:2: error: "This header is only meant to be used on x86 and x64 architecture"
stream.c: #error "This header is only meant to be used on x86 and x64 architecture"
stream.c:  ^
stream.c: /usr/lib/llvm-14/lib/clang/14.0.0/include/mmintrin.h:54:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c:     return (__m64)__builtin_ia32_vec_init_v2si(__i, 0);
stream.c:            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: /usr/lib/llvm-14/lib/clang/14.0.0/include/mmintrin.h:133:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c:     return (__m64)__builtin_ia32_packsswb((__v4hi)__m1, (__v4hi)__m2);
stream.c:            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: /usr/lib/llvm-14/lib/clang/14.0.0/include/mmintrin.h:163:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c:     return (__m64)__builtin_ia32_packssdw((__v2si)__m1, (__v2si)__m2);
stream.c:            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
stream.c: /usr/lib/llvm-14/lib/clang/14.0.0/include/mmintrin.h:193:12: error: invalid conversion between vector type '__m64' (vector of 1 'long long' value) and integer type 'int' of different size
stream.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
krovetz/avx2clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


stream.c: stream.c:8:10: fatal error: immintrin.h: No such file or directory
stream.c:     8 | #include <immintrin.h>
stream.c:       |          ^~~~~~~~~~~~~
stream.c: compilation terminated.

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
krovetz/avx2gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
krovetz/avx2gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
krovetz/avx2gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
krovetz/avx2gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Compiler output


stream.c: stream.c:80:2: error: -- Implementation supports only machines with neon, altivec or SSE2
stream.c: #error -- Implementation supports only machines with neon, altivec or SSE2
stream.c:  ^
stream.c: stream.c:151:14: warning: implicit declaration of function 'NONCE' is invalid in C99 [-Wimplicit-function-declaration]
stream.c:     vec s3 = NONCE(np);
stream.c:              ^
stream.c: stream.c:151:9: error: initializing 'vec' (vector of 4 'unsigned int' values) with an expression of incompatible type 'int'
stream.c:     vec s3 = NONCE(np);
stream.c:         ^    ~~~~~~~~~
stream.c: stream.c:152:36: error: use of undeclared identifier 'VBPI'
stream.c:     for (iters = 0; iters < inlen/(BPI*64); iters++) {
stream.c:                                    ^
stream.c: stream.c:91:19: note: expanded from macro 'BPI'
stream.c: #define BPI      (VBPI + GPR_TOO)  /* Blocks computed per loop iteration   */
stream.c:                   ^
stream.c: stream.c:152:36: error: use of undeclared identifier 'GPR_TOO'
stream.c: stream.c:91:26: note: expanded from macro 'BPI'
stream.c: #define BPI      (VBPI + GPR_TOO)  /* Blocks computed per loop iteration   */
stream.c:                          ^
stream.c: stream.c:155:19: error: use of undeclared identifier 'ONE'
stream.c:         v7 = v3 + ONE;
stream.c:                   ^
stream.c: stream.c:176:13: warning: implicit declaration of function 'ROTW16' is invalid in C99 [-Wimplicit-function-declaration]
stream.c:             DQROUND_VECTORS(v0,v1,v2,v3)
stream.c:             ^
stream.c: ...

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
krovetz/vec128clang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)

Compiler output


stream.c: stream.c:80:2: error: #error -- Implementation supports only machines with neon, altivec or SSE2
stream.c:    80 | #error -- Implementation supports only machines with neon, altivec or SSE2
stream.c:       |  ^~~~~
stream.c: stream.c: In function 'crypto_stream_chacha12_krovetz_vec128_constbranchindex_xor':
stream.c: stream.c:151:14: warning: implicit declaration of function 'NONCE' [-Wimplicit-function-declaration]
stream.c:   151 |     vec s3 = NONCE(np);
stream.c:       |              ^~~~~
stream.c: stream.c:151:14: error: incompatible types when initializing type 'vec' {aka '__vector(4) unsigned int'} using type 'int'
stream.c: stream.c:91:19: error: 'VBPI' undeclared (first use in this function); did you mean 'BPI'?
stream.c:    91 | #define BPI      (VBPI + GPR_TOO)  /* Blocks computed per loop iteration   */
stream.c:       |                   ^~~~
stream.c: stream.c:152:36: note: in expansion of macro 'BPI'
stream.c:   152 |     for (iters = 0; iters < inlen/(BPI*64); iters++) {
stream.c:       |                                    ^~~
stream.c: stream.c:91:19: note: each undeclared identifier is reported only once for each function it appears in
stream.c:    91 | #define BPI      (VBPI + GPR_TOO)  /* Blocks computed per loop iteration   */
stream.c:       |                   ^~~~
stream.c: stream.c:152:36: note: in expansion of macro 'BPI'
stream.c:   152 |     for (iters = 0; iters < inlen/(BPI*64); iters++) {
stream.c:       |                                    ^~~
stream.c: stream.c:91:26: error: 'GPR_TOO' undeclared (first use in this function)
stream.c:    91 | #define BPI      (VBPI + GPR_TOO)  /* Blocks computed per loop iteration   */
stream.c:       |                          ^~~~~~~
stream.c: stream.c:152:36: note: in expansion of macro 'BPI'
stream.c:   152 |     for (iters = 0; iters < inlen/(BPI*64); iters++) {
stream.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
krovetz/vec128gcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
krovetz/vec128gcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
krovetz/vec128gcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
krovetz/vec128gcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Passed TIMECOP


TIMECOP iterations: 10

Number of similar (implementation,compiler) pairs: 25, namely:
ImplementationCompiler
dolbeau/arm-neonclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
dolbeau/arm-neongcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
dolbeau/arm-neongcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
dolbeau/arm-neongcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
dolbeau/arm-neongcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
dolbeau/mipsel-msaclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
dolbeau/mipsel-msagcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
dolbeau/mipsel-msagcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
dolbeau/mipsel-msagcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
dolbeau/mipsel-msagcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
e/mergedclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
e/mergedgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
e/mergedgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
e/mergedgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
e/mergedgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
e/refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
e/refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
e/refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
e/refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
e/refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
e/regsclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Ubuntu_Clang_14.0.0)
e/regsgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
e/regsgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
e/regsgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
e/regsgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)