Implementation notes: aarch64, a72, crypto_stream/rabbit

Computer: a72
Architecture: aarch64
CPU ID: unknown CPU ID
SUPERCOP version: 20170904
Operation: crypto_stream
Primitive: rabbit

Compiler output

Implementation: crypto_stream/rabbit/e/opt/2/4
Compiler: gcc -funroll-loops -march=native -mtune=native -O2
rabbit.c: In file included from rabbit.c:2:0:
rabbit.c: e/rabbit.c: In function 'RABBIT_next_state':
rabbit.c: e/rabbit.c:314:4: warning: implicit declaration of function 'RABBIT_G_AND_LATE_COUNTER'; did you mean 'RABBIT_G_AND_COUNTER'? [-Wimplicit-function-declaration]
rabbit.c: RABBIT_G_AND_LATE_COUNTER(0, 0xD34D34D3)
rabbit.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
rabbit.c: RABBIT_G_AND_COUNTER
rabbit.c: e/rabbit.c:315:4: error: expected ';' before 'RABBIT_G_AND_LATE_COUNTER'
rabbit.c: RABBIT_G_AND_LATE_COUNTER(1, 0x34D34D34)
rabbit.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
rabbit.c: e/rabbit.c:93:7: error: expected ';' before 'p_instance'
rabbit.c: ...
rabbit.c: ^
rabbit.c: e/rabbit.c:327:4: note: in expansion of macro 'RABBIT_GEN_X_ODD'
rabbit.c: RABBIT_GEN_X_ODD(7, 6, 5)
rabbit.c: ^~~~~~~~~~~~~~~~
rabbit.c: In file included from rabbit.c:2:0:
rabbit.c: e/rabbit.c: In function 'crypto_stream_rabbit_e_opt_2_4_ECRYPT_process_bytes':
rabbit.c: e/rabbit.c:1313:48: warning: implicit declaration of function 'U32TO32_LITTLE'; did you mean 'U32TO8_LITTLE'? [-Wimplicit-function-declaration]
rabbit.c: *(u32*)(output+ 0) = *(u32*)(input+ 0) ^ U32TO32_LITTLE(ctx->work_ctx.x0 ^
rabbit.c: ^~~~~~~~~~~~~~
rabbit.c: U32TO8_LITTLE

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -march=native -mtune=native -O2 e/opt/2/4
gcc -funroll-loops -march=native -mtune=native -O3 e/opt/2/4
gcc -funroll-loops -march=native -mtune=native -Os e/opt/2/4
gcc -march=native -mtune=native -O2 e/opt/2/4
gcc -march=native -mtune=native -O3 e/opt/2/4
gcc -march=native -mtune=native -Os e/opt/2/4

Compiler output

Implementation: crypto_stream/rabbit/e/opt/1/1
Compiler: gcc -funroll-loops -march=native -mtune=native -O2
rabbit.c: In file included from rabbit.c:2:0:
rabbit.c: e/rabbit.c: In function 'crypto_stream_rabbit_e_opt_1_1_ECRYPT_process_bytes':
rabbit.c: e/rabbit.c:432:48: warning: implicit declaration of function 'U32TO32_LITTLE'; did you mean 'U32TO8_LITTLE'? [-Wimplicit-function-declaration]
rabbit.c: *(u32*)(output+ 0) = *(u32*)(input+ 0) ^ U32TO32_LITTLE(ctx->work_ctx.x0 ^
rabbit.c: ^~~~~~~~~~~~~~
rabbit.c: U32TO8_LITTLE
try.c: crypto_stream_rabbit.a(rabbit.o): In function `crypto_stream_rabbit_e_opt_1_1_ECRYPT_process_bytes':
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: crypto_stream_rabbit.a(rabbit.o):rabbit.c:(.text+0x...): more undefined references to `U32TO32_LITTLE' follow
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -march=native -mtune=native -O2 e/opt/1/1
gcc -funroll-loops -march=native -mtune=native -O3 e/opt/1/1
gcc -funroll-loops -march=native -mtune=native -Os e/opt/1/1
gcc -march=native -mtune=native -O2 e/opt/1/1
gcc -march=native -mtune=native -O3 e/opt/1/1
gcc -march=native -mtune=native -Os e/opt/1/1

Compiler output

Implementation: crypto_stream/rabbit/e/opt/1/2
Compiler: gcc -funroll-loops -march=native -mtune=native -O2
rabbit.c: In file included from rabbit.c:2:0:
rabbit.c: e/rabbit.c: In function 'crypto_stream_rabbit_e_opt_1_2_ECRYPT_process_bytes':
rabbit.c: e/rabbit.c:432:48: warning: implicit declaration of function 'U32TO32_LITTLE'; did you mean 'U32TO8_LITTLE'? [-Wimplicit-function-declaration]
rabbit.c: *(u32*)(output+ 0) = *(u32*)(input+ 0) ^ U32TO32_LITTLE(ctx->work_ctx.x0 ^
rabbit.c: ^~~~~~~~~~~~~~
rabbit.c: U32TO8_LITTLE
try.c: crypto_stream_rabbit.a(rabbit.o): In function `crypto_stream_rabbit_e_opt_1_2_ECRYPT_process_bytes':
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: crypto_stream_rabbit.a(rabbit.o):rabbit.c:(.text+0x...): more undefined references to `U32TO32_LITTLE' follow
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -march=native -mtune=native -O2 e/opt/1/2
gcc -funroll-loops -march=native -mtune=native -O3 e/opt/1/2
gcc -funroll-loops -march=native -mtune=native -Os e/opt/1/2
gcc -march=native -mtune=native -O2 e/opt/1/2
gcc -march=native -mtune=native -O3 e/opt/1/2
gcc -march=native -mtune=native -Os e/opt/1/2

Compiler output

Implementation: crypto_stream/rabbit/e/opt/1/3
Compiler: gcc -funroll-loops -march=native -mtune=native -O2
rabbit.c: In file included from rabbit.c:2:0:
rabbit.c: e/rabbit.c: In function 'crypto_stream_rabbit_e_opt_1_3_ECRYPT_process_bytes':
rabbit.c: e/rabbit.c:432:48: warning: implicit declaration of function 'U32TO32_LITTLE'; did you mean 'U32TO8_LITTLE'? [-Wimplicit-function-declaration]
rabbit.c: *(u32*)(output+ 0) = *(u32*)(input+ 0) ^ U32TO32_LITTLE(ctx->work_ctx.x0 ^
rabbit.c: ^~~~~~~~~~~~~~
rabbit.c: U32TO8_LITTLE
try.c: crypto_stream_rabbit.a(rabbit.o): In function `crypto_stream_rabbit_e_opt_1_3_ECRYPT_process_bytes':
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: crypto_stream_rabbit.a(rabbit.o):rabbit.c:(.text+0x...): more undefined references to `U32TO32_LITTLE' follow
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -march=native -mtune=native -O2 e/opt/1/3
gcc -funroll-loops -march=native -mtune=native -O3 e/opt/1/3
gcc -funroll-loops -march=native -mtune=native -Os e/opt/1/3
gcc -march=native -mtune=native -O2 e/opt/1/3
gcc -march=native -mtune=native -O3 e/opt/1/3
gcc -march=native -mtune=native -Os e/opt/1/3

Compiler output

Implementation: crypto_stream/rabbit/e/opt/1/4
Compiler: gcc -funroll-loops -march=native -mtune=native -O2
rabbit.c: In file included from rabbit.c:2:0:
rabbit.c: e/rabbit.c: In function 'crypto_stream_rabbit_e_opt_1_4_ECRYPT_process_bytes':
rabbit.c: e/rabbit.c:432:48: warning: implicit declaration of function 'U32TO32_LITTLE'; did you mean 'U32TO8_LITTLE'? [-Wimplicit-function-declaration]
rabbit.c: *(u32*)(output+ 0) = *(u32*)(input+ 0) ^ U32TO32_LITTLE(ctx->work_ctx.x0 ^
rabbit.c: ^~~~~~~~~~~~~~
rabbit.c: U32TO8_LITTLE
try.c: crypto_stream_rabbit.a(rabbit.o): In function `crypto_stream_rabbit_e_opt_1_4_ECRYPT_process_bytes':
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: crypto_stream_rabbit.a(rabbit.o):rabbit.c:(.text+0x...): more undefined references to `U32TO32_LITTLE' follow
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -march=native -mtune=native -O2 e/opt/1/4
gcc -funroll-loops -march=native -mtune=native -O3 e/opt/1/4
gcc -funroll-loops -march=native -mtune=native -Os e/opt/1/4
gcc -march=native -mtune=native -O2 e/opt/1/4
gcc -march=native -mtune=native -O3 e/opt/1/4
gcc -march=native -mtune=native -Os e/opt/1/4

Compiler output

Implementation: crypto_stream/rabbit/e/opt/2/1
Compiler: gcc -funroll-loops -march=native -mtune=native -O2
rabbit.c: In file included from rabbit.c:2:0:
rabbit.c: e/rabbit.c: In function 'crypto_stream_rabbit_e_opt_2_1_ECRYPT_process_bytes':
rabbit.c: e/rabbit.c:1313:48: warning: implicit declaration of function 'U32TO32_LITTLE'; did you mean 'U32TO8_LITTLE'? [-Wimplicit-function-declaration]
rabbit.c: *(u32*)(output+ 0) = *(u32*)(input+ 0) ^ U32TO32_LITTLE(ctx->work_ctx.x0 ^
rabbit.c: ^~~~~~~~~~~~~~
rabbit.c: U32TO8_LITTLE
try.c: crypto_stream_rabbit.a(rabbit.o): In function `crypto_stream_rabbit_e_opt_2_1_ECRYPT_process_bytes':
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: crypto_stream_rabbit.a(rabbit.o):rabbit.c:(.text+0x...): more undefined references to `U32TO32_LITTLE' follow
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -march=native -mtune=native -O2 e/opt/2/1
gcc -funroll-loops -march=native -mtune=native -O3 e/opt/2/1
gcc -funroll-loops -march=native -mtune=native -Os e/opt/2/1
gcc -march=native -mtune=native -O2 e/opt/2/1
gcc -march=native -mtune=native -O3 e/opt/2/1
gcc -march=native -mtune=native -Os e/opt/2/1

Compiler output

Implementation: crypto_stream/rabbit/e/opt/2/2
Compiler: gcc -funroll-loops -march=native -mtune=native -O2
rabbit.c: In file included from rabbit.c:2:0:
rabbit.c: e/rabbit.c: In function 'crypto_stream_rabbit_e_opt_2_2_ECRYPT_process_bytes':
rabbit.c: e/rabbit.c:1313:48: warning: implicit declaration of function 'U32TO32_LITTLE'; did you mean 'U32TO8_LITTLE'? [-Wimplicit-function-declaration]
rabbit.c: *(u32*)(output+ 0) = *(u32*)(input+ 0) ^ U32TO32_LITTLE(ctx->work_ctx.x0 ^
rabbit.c: ^~~~~~~~~~~~~~
rabbit.c: U32TO8_LITTLE
try.c: crypto_stream_rabbit.a(rabbit.o): In function `crypto_stream_rabbit_e_opt_2_2_ECRYPT_process_bytes':
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: crypto_stream_rabbit.a(rabbit.o):rabbit.c:(.text+0x...): more undefined references to `U32TO32_LITTLE' follow
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -march=native -mtune=native -O2 e/opt/2/2
gcc -funroll-loops -march=native -mtune=native -O3 e/opt/2/2
gcc -funroll-loops -march=native -mtune=native -Os e/opt/2/2
gcc -march=native -mtune=native -O2 e/opt/2/2
gcc -march=native -mtune=native -O3 e/opt/2/2
gcc -march=native -mtune=native -Os e/opt/2/2

Compiler output

Implementation: crypto_stream/rabbit/e/opt/2/3
Compiler: gcc -funroll-loops -march=native -mtune=native -O2
rabbit.c: In file included from rabbit.c:2:0:
rabbit.c: e/rabbit.c: In function 'crypto_stream_rabbit_e_opt_2_3_ECRYPT_process_bytes':
rabbit.c: e/rabbit.c:1313:48: warning: implicit declaration of function 'U32TO32_LITTLE'; did you mean 'U32TO8_LITTLE'? [-Wimplicit-function-declaration]
rabbit.c: *(u32*)(output+ 0) = *(u32*)(input+ 0) ^ U32TO32_LITTLE(ctx->work_ctx.x0 ^
rabbit.c: ^~~~~~~~~~~~~~
rabbit.c: U32TO8_LITTLE
try.c: crypto_stream_rabbit.a(rabbit.o): In function `crypto_stream_rabbit_e_opt_2_3_ECRYPT_process_bytes':
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: crypto_stream_rabbit.a(rabbit.o):rabbit.c:(.text+0x...): more undefined references to `U32TO32_LITTLE' follow
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -march=native -mtune=native -O2 e/opt/2/3
gcc -funroll-loops -march=native -mtune=native -O3 e/opt/2/3
gcc -funroll-loops -march=native -mtune=native -Os e/opt/2/3
gcc -march=native -mtune=native -O2 e/opt/2/3
gcc -march=native -mtune=native -O3 e/opt/2/3
gcc -march=native -mtune=native -Os e/opt/2/3

Compiler output

Implementation: crypto_stream/rabbit/e/ref
Compiler: gcc -funroll-loops -march=native -mtune=native -O2
rabbit.c: In file included from rabbit.c:2:0:
rabbit.c: e/rabbit.c: In function 'crypto_stream_rabbit_e_ref_ECRYPT_process_bytes':
rabbit.c: e/rabbit.c:203:48: warning: implicit declaration of function 'U32TO32_LITTLE'; did you mean 'U32TO8_LITTLE'? [-Wimplicit-function-declaration]
rabbit.c: *(u32*)(output+ 0) = *(u32*)(input+ 0) ^ U32TO32_LITTLE(ctx->work_ctx.x[0] ^
rabbit.c: ^~~~~~~~~~~~~~
rabbit.c: U32TO8_LITTLE
try.c: crypto_stream_rabbit.a(rabbit.o): In function `crypto_stream_rabbit_e_ref_ECRYPT_process_bytes':
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: rabbit.c:(.text+0x...): undefined reference to `U32TO32_LITTLE'
try.c: crypto_stream_rabbit.a(rabbit.o):rabbit.c:(.text+0x...): more undefined references to `U32TO32_LITTLE' follow
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -march=native -mtune=native -O2 e/ref
gcc -funroll-loops -march=native -mtune=native -O3 e/ref
gcc -funroll-loops -march=native -mtune=native -Os e/ref
gcc -march=native -mtune=native -O2 e/ref
gcc -march=native -mtune=native -O3 e/ref
gcc -march=native -mtune=native -Os e/ref

Compiler output

Implementation: crypto_stream/rabbit/e/opt/2/5
Compiler: gcc -funroll-loops -march=native -mtune=native -O2
rabbit.c: In file included from rabbit.c:2:0:
rabbit.c: e/rabbit.c:37:2: error: #error this variant does not compile on this platform
rabbit.c: #error this variant does not compile on this platform
rabbit.c: ^~~~~
rabbit.c: e/rabbit.c: In function 'RABBIT_next_state':
rabbit.c: e/rabbit.c:314:4: warning: implicit declaration of function 'RABBIT_G_AND_LATE_COUNTER'; did you mean 'RABBIT_G_AND_COUNTER'? [-Wimplicit-function-declaration]
rabbit.c: RABBIT_G_AND_LATE_COUNTER(0, 0xD34D34D3)
rabbit.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
rabbit.c: RABBIT_G_AND_COUNTER
rabbit.c: e/rabbit.c:315:4: error: expected ';' before 'RABBIT_G_AND_LATE_COUNTER'
rabbit.c: ...
rabbit.c: e/rabbit.c: In function 'crypto_stream_rabbit_e_opt_2_5_ECRYPT_keysetup':
rabbit.c: e/rabbit.c:1149:9: error: 'i' undeclared (first use in this function)
rabbit.c: for (i=0; i<4; i++)
rabbit.c: ^
rabbit.c: e/rabbit.c:1149:9: note: each undeclared identifier is reported only once for each function it appears in
rabbit.c: e/rabbit.c: In function 'crypto_stream_rabbit_e_opt_2_5_ECRYPT_process_bytes':
rabbit.c: e/rabbit.c:1313:48: warning: implicit declaration of function 'U32TO32_LITTLE'; did you mean 'U32TO8_LITTLE'? [-Wimplicit-function-declaration]
rabbit.c: *(u32*)(output+ 0) = *(u32*)(input+ 0) ^ U32TO32_LITTLE(ctx->work_ctx.x0 ^
rabbit.c: ^~~~~~~~~~~~~~
rabbit.c: U32TO8_LITTLE

Number of similar (compiler,implementation) pairs: 6, namely:
CompilerImplementations
gcc -funroll-loops -march=native -mtune=native -O2 e/opt/2/5
gcc -funroll-loops -march=native -mtune=native -O3 e/opt/2/5
gcc -funroll-loops -march=native -mtune=native -Os e/opt/2/5
gcc -march=native -mtune=native -O2 e/opt/2/5
gcc -march=native -mtune=native -O3 e/opt/2/5
gcc -march=native -mtune=native -Os e/opt/2/5