Implementation notes: aarch64, minimac, crypto_stream/rabbit

Computer: minimac
Architecture: aarch64
CPU ID: unknown CPU ID
SUPERCOP version: 20211108
Operation: crypto_stream
Primitive: rabbit

Compiler output

Implementation: T:e/opt/1/1
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
rabbit.c: In file included from rabbit.c:1:
rabbit.c: ./e/rabbit.c:432:48: error: implicit declaration of function 'U32TO32_LITTLE' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
rabbit.c: *(u32*)(output+ 0) = *(u32*)(input+ 0) ^ U32TO32_LITTLE(ctx->work_ctx.x0 ^
rabbit.c: ^
rabbit.c: ./e/rabbit.c:454:28: error: implicit declaration of function 'U32TO32_LITTLE' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
rabbit.c: *(u32*)(buffer+ 0) = U32TO32_LITTLE(ctx->work_ctx.x0 ^
rabbit.c: ^
rabbit.c: ./e/rabbit.c:485:31: error: implicit declaration of function 'U32TO32_LITTLE' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
rabbit.c: *(u32*)(keystream+ 0) = U32TO32_LITTLE(ctx->work_ctx.x0 ^
rabbit.c: ^
rabbit.c: ./e/rabbit.c:506:28: error: implicit declaration of function 'U32TO32_LITTLE' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
rabbit.c: *(u32*)(buffer+ 0) = U32TO32_LITTLE(ctx->work_ctx.x0 ^
rabbit.c: ^
rabbit.c: ./e/rabbit.c:536:48: error: implicit declaration of function 'U32TO32_LITTLE' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
rabbit.c: *(u32*)(output+ 0) = *(u32*)(input+ 0) ^ U32TO32_LITTLE(ctx->work_ctx.x0 ^
rabbit.c: ^
rabbit.c: 5 errors generated.

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:e/opt/1/1 T:e/opt/1/2 T:e/opt/1/3 T:e/opt/1/4

Compiler output

Implementation: T:e/opt/1/1
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
rabbit.c: In file included from rabbit.c:1:
rabbit.c: e/rabbit.c: In function 'crypto_stream_rabbit_e_opt_1_1_timingleaks_ECRYPT_process_bytes':
rabbit.c: e/rabbit.c:432:48: warning: implicit declaration of function 'U32TO32_LITTLE'; did you mean 'U8TO32_LITTLE'? [-Wimplicit-function-declaration]
rabbit.c: 432 | *(u32*)(output+ 0) = *(u32*)(input+ 0) ^ U32TO32_LITTLE(ctx->work_ctx.x0 ^
rabbit.c: | ^~~~~~~~~~~~~~
rabbit.c: | U8TO32_LITTLE
try.c: Undefined symbols for architecture arm64:
try.c: "_U32TO32_LITTLE", referenced from:
try.c: _crypto_stream_rabbit_e_opt_1_1_timingleaks_ECRYPT_process_bytes in libcrypto_stream_rabbit.a(rabbit.o)
try.c: _crypto_stream_rabbit_e_opt_1_1_timingleaks_ECRYPT_keystream_bytes in libcrypto_stream_rabbit.a(rabbit.o)
try.c: _crypto_stream_rabbit_e_opt_1_1_timingleaks_ECRYPT_process_blocks in libcrypto_stream_rabbit.a(rabbit.o)
try.c: ld: symbol(s) not found for architecture arm64
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/1/1
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/1/1
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/1/1
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/1/1

Compiler output

Implementation: T:e/opt/1/2
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
rabbit.c: In file included from rabbit.c:1:
rabbit.c: e/rabbit.c: In function 'crypto_stream_rabbit_e_opt_1_2_timingleaks_ECRYPT_process_bytes':
rabbit.c: e/rabbit.c:432:48: warning: implicit declaration of function 'U32TO32_LITTLE'; did you mean 'U8TO32_LITTLE'? [-Wimplicit-function-declaration]
rabbit.c: 432 | *(u32*)(output+ 0) = *(u32*)(input+ 0) ^ U32TO32_LITTLE(ctx->work_ctx.x0 ^
rabbit.c: | ^~~~~~~~~~~~~~
rabbit.c: | U8TO32_LITTLE
try.c: Undefined symbols for architecture arm64:
try.c: "_U32TO32_LITTLE", referenced from:
try.c: _crypto_stream_rabbit_e_opt_1_2_timingleaks_ECRYPT_process_bytes in libcrypto_stream_rabbit.a(rabbit.o)
try.c: _crypto_stream_rabbit_e_opt_1_2_timingleaks_ECRYPT_keystream_bytes in libcrypto_stream_rabbit.a(rabbit.o)
try.c: _crypto_stream_rabbit_e_opt_1_2_timingleaks_ECRYPT_process_blocks in libcrypto_stream_rabbit.a(rabbit.o)
try.c: ld: symbol(s) not found for architecture arm64
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/1/2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/1/2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/1/2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/1/2

Compiler output

Implementation: T:e/opt/1/3
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
rabbit.c: In file included from rabbit.c:1:
rabbit.c: e/rabbit.c: In function 'crypto_stream_rabbit_e_opt_1_3_timingleaks_ECRYPT_process_bytes':
rabbit.c: e/rabbit.c:432:48: warning: implicit declaration of function 'U32TO32_LITTLE'; did you mean 'U8TO32_LITTLE'? [-Wimplicit-function-declaration]
rabbit.c: 432 | *(u32*)(output+ 0) = *(u32*)(input+ 0) ^ U32TO32_LITTLE(ctx->work_ctx.x0 ^
rabbit.c: | ^~~~~~~~~~~~~~
rabbit.c: | U8TO32_LITTLE
try.c: Undefined symbols for architecture arm64:
try.c: "_U32TO32_LITTLE", referenced from:
try.c: _crypto_stream_rabbit_e_opt_1_3_timingleaks_ECRYPT_process_bytes in libcrypto_stream_rabbit.a(rabbit.o)
try.c: _crypto_stream_rabbit_e_opt_1_3_timingleaks_ECRYPT_keystream_bytes in libcrypto_stream_rabbit.a(rabbit.o)
try.c: _crypto_stream_rabbit_e_opt_1_3_timingleaks_ECRYPT_process_blocks in libcrypto_stream_rabbit.a(rabbit.o)
try.c: ld: symbol(s) not found for architecture arm64
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/1/3
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/1/3
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/1/3
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/1/3

Compiler output

Implementation: T:e/opt/1/4
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
rabbit.c: In file included from rabbit.c:1:
rabbit.c: e/rabbit.c: In function 'crypto_stream_rabbit_e_opt_1_4_timingleaks_ECRYPT_process_bytes':
rabbit.c: e/rabbit.c:432:48: warning: implicit declaration of function 'U32TO32_LITTLE'; did you mean 'U8TO32_LITTLE'? [-Wimplicit-function-declaration]
rabbit.c: 432 | *(u32*)(output+ 0) = *(u32*)(input+ 0) ^ U32TO32_LITTLE(ctx->work_ctx.x0 ^
rabbit.c: | ^~~~~~~~~~~~~~
rabbit.c: | U8TO32_LITTLE
try.c: Undefined symbols for architecture arm64:
try.c: "_U32TO32_LITTLE", referenced from:
try.c: _crypto_stream_rabbit_e_opt_1_4_timingleaks_ECRYPT_process_bytes in libcrypto_stream_rabbit.a(rabbit.o)
try.c: _crypto_stream_rabbit_e_opt_1_4_timingleaks_ECRYPT_keystream_bytes in libcrypto_stream_rabbit.a(rabbit.o)
try.c: _crypto_stream_rabbit_e_opt_1_4_timingleaks_ECRYPT_process_blocks in libcrypto_stream_rabbit.a(rabbit.o)
try.c: ld: symbol(s) not found for architecture arm64
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/1/4
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/1/4
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/1/4
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/1/4

Compiler output

Implementation: T:e/opt/2/1
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
rabbit.c: In file included from rabbit.c:1:
rabbit.c: ./e/rabbit.c:1313:48: error: implicit declaration of function 'U32TO32_LITTLE' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
rabbit.c: *(u32*)(output+ 0) = *(u32*)(input+ 0) ^ U32TO32_LITTLE(ctx->work_ctx.x0 ^
rabbit.c: ^
rabbit.c: ./e/rabbit.c:1335:28: error: implicit declaration of function 'U32TO32_LITTLE' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
rabbit.c: *(u32*)(buffer+ 0) = U32TO32_LITTLE(ctx->work_ctx.x0 ^
rabbit.c: ^
rabbit.c: ./e/rabbit.c:1375:31: error: implicit declaration of function 'U32TO32_LITTLE' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
rabbit.c: *(u32*)(keystream+ 0) = U32TO32_LITTLE(ctx->work_ctx.x0 ^
rabbit.c: ^
rabbit.c: ./e/rabbit.c:1397:28: error: implicit declaration of function 'U32TO32_LITTLE' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
rabbit.c: *(u32*)(buffer+ 0) = U32TO32_LITTLE(ctx->work_ctx.x0 ^
rabbit.c: ^
rabbit.c: ./e/rabbit.c:1432:48: error: implicit declaration of function 'U32TO32_LITTLE' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
rabbit.c: *(u32*)(output+ 0) = *(u32*)(input+ 0) ^ U32TO32_LITTLE(ctx->work_ctx.x0 ^
rabbit.c: ^
rabbit.c: 5 errors generated.

Number of similar (compiler,implementation) pairs: 3, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:e/opt/2/1 T:e/opt/2/2 T:e/opt/2/3

Compiler output

Implementation: T:e/opt/2/1
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
rabbit.c: In file included from rabbit.c:1:
rabbit.c: e/rabbit.c: In function 'crypto_stream_rabbit_e_opt_2_1_timingleaks_ECRYPT_process_bytes':
rabbit.c: e/rabbit.c:1313:48: warning: implicit declaration of function 'U32TO32_LITTLE'; did you mean 'U8TO32_LITTLE'? [-Wimplicit-function-declaration]
rabbit.c: 1313 | *(u32*)(output+ 0) = *(u32*)(input+ 0) ^ U32TO32_LITTLE(ctx->work_ctx.x0 ^
rabbit.c: | ^~~~~~~~~~~~~~
rabbit.c: | U8TO32_LITTLE
try.c: Undefined symbols for architecture arm64:
try.c: "_U32TO32_LITTLE", referenced from:
try.c: _crypto_stream_rabbit_e_opt_2_1_timingleaks_ECRYPT_process_bytes in libcrypto_stream_rabbit.a(rabbit.o)
try.c: _crypto_stream_rabbit_e_opt_2_1_timingleaks_ECRYPT_keystream_bytes in libcrypto_stream_rabbit.a(rabbit.o)
try.c: _crypto_stream_rabbit_e_opt_2_1_timingleaks_ECRYPT_process_blocks in libcrypto_stream_rabbit.a(rabbit.o)
try.c: ld: symbol(s) not found for architecture arm64
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/2/1
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/2/1
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/2/1
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/2/1

Compiler output

Implementation: T:e/opt/2/2
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
rabbit.c: In file included from rabbit.c:1:
rabbit.c: e/rabbit.c: In function 'crypto_stream_rabbit_e_opt_2_2_timingleaks_ECRYPT_process_bytes':
rabbit.c: e/rabbit.c:1313:48: warning: implicit declaration of function 'U32TO32_LITTLE'; did you mean 'U8TO32_LITTLE'? [-Wimplicit-function-declaration]
rabbit.c: 1313 | *(u32*)(output+ 0) = *(u32*)(input+ 0) ^ U32TO32_LITTLE(ctx->work_ctx.x0 ^
rabbit.c: | ^~~~~~~~~~~~~~
rabbit.c: | U8TO32_LITTLE
try.c: Undefined symbols for architecture arm64:
try.c: "_U32TO32_LITTLE", referenced from:
try.c: _crypto_stream_rabbit_e_opt_2_2_timingleaks_ECRYPT_process_bytes in libcrypto_stream_rabbit.a(rabbit.o)
try.c: _crypto_stream_rabbit_e_opt_2_2_timingleaks_ECRYPT_keystream_bytes in libcrypto_stream_rabbit.a(rabbit.o)
try.c: _crypto_stream_rabbit_e_opt_2_2_timingleaks_ECRYPT_process_blocks in libcrypto_stream_rabbit.a(rabbit.o)
try.c: ld: symbol(s) not found for architecture arm64
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/2/2
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/2/2
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/2/2
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/2/2

Compiler output

Implementation: T:e/opt/2/3
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
rabbit.c: In file included from rabbit.c:1:
rabbit.c: e/rabbit.c: In function 'crypto_stream_rabbit_e_opt_2_3_timingleaks_ECRYPT_process_bytes':
rabbit.c: e/rabbit.c:1313:48: warning: implicit declaration of function 'U32TO32_LITTLE'; did you mean 'U8TO32_LITTLE'? [-Wimplicit-function-declaration]
rabbit.c: 1313 | *(u32*)(output+ 0) = *(u32*)(input+ 0) ^ U32TO32_LITTLE(ctx->work_ctx.x0 ^
rabbit.c: | ^~~~~~~~~~~~~~
rabbit.c: | U8TO32_LITTLE
try.c: Undefined symbols for architecture arm64:
try.c: "_U32TO32_LITTLE", referenced from:
try.c: _crypto_stream_rabbit_e_opt_2_3_timingleaks_ECRYPT_process_bytes in libcrypto_stream_rabbit.a(rabbit.o)
try.c: _crypto_stream_rabbit_e_opt_2_3_timingleaks_ECRYPT_keystream_bytes in libcrypto_stream_rabbit.a(rabbit.o)
try.c: _crypto_stream_rabbit_e_opt_2_3_timingleaks_ECRYPT_process_blocks in libcrypto_stream_rabbit.a(rabbit.o)
try.c: ld: symbol(s) not found for architecture arm64
try.c: collect2: error: ld returned 1 exit status

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/2/3
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/2/3
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/2/3
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/2/3

Compiler output

Implementation: T:e/opt/2/4
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
rabbit.c: In file included from rabbit.c:1:
rabbit.c: ./e/rabbit.c:314:4: error: implicit declaration of function 'RABBIT_G_AND_LATE_COUNTER' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
rabbit.c: RABBIT_G_AND_LATE_COUNTER(0, 0xD34D34D3)
rabbit.c: ^
rabbit.c: ./e/rabbit.c:314:44: error: expected ';' after expression
rabbit.c: RABBIT_G_AND_LATE_COUNTER(0, 0xD34D34D3)
rabbit.c: ^
rabbit.c: ;
rabbit.c: ./e/rabbit.c:315:44: error: expected ';' after expression
rabbit.c: RABBIT_G_AND_LATE_COUNTER(1, 0x34D34D34)
rabbit.c: ^
rabbit.c: ;
rabbit.c: ./e/rabbit.c:316:44: error: expected ';' after expression
rabbit.c: RABBIT_G_AND_LATE_COUNTER(2, 0x4D34D34D)
rabbit.c: ^
rabbit.c: ;
rabbit.c: ./e/rabbit.c:318:44: error: expected ';' after expression
rabbit.c: RABBIT_G_AND_LATE_COUNTER(3, 0xD34D34D3)
rabbit.c: ^
rabbit.c: ;
rabbit.c: ./e/rabbit.c:320:44: error: expected ';' after expression
rabbit.c: RABBIT_G_AND_LATE_COUNTER(4, 0x34D34D34)
rabbit.c: ^
rabbit.c: ;
rabbit.c: ./e/rabbit.c:322:44: error: expected ';' after expression
rabbit.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:e/opt/2/4

Compiler output

Implementation: T:e/opt/2/4
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
rabbit.c: In file included from rabbit.c:1:
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: 314 | RABBIT_G_AND_LATE_COUNTER(0, 0xD34D34D3)
rabbit.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~
rabbit.c: | RABBIT_G_AND_COUNTER
rabbit.c: e/rabbit.c:314:44: error: expected ';' before 'RABBIT_G_AND_LATE_COUNTER'
rabbit.c: 314 | RABBIT_G_AND_LATE_COUNTER(0, 0xD34D34D3)
rabbit.c: | ^
rabbit.c: | ;
rabbit.c: 315 | RABBIT_G_AND_LATE_COUNTER(1, 0x34D34D34)
rabbit.c: | ~~~~~~~~~~~~~~~~~~~~~~~~~
rabbit.c: e/rabbit.c:318:44: error: expected ';' before 'p_instance'
rabbit.c: 318 | RABBIT_G_AND_LATE_COUNTER(3, 0xD34D34D3)
rabbit.c: | ^
rabbit.c: | ;
rabbit.c: e/rabbit.c:320:44: error: expected ';' before 'p_instance'
rabbit.c: 320 | RABBIT_G_AND_LATE_COUNTER(4, 0x34D34D34)
rabbit.c: | ^
rabbit.c: | ;
rabbit.c: e/rabbit.c:322:44: error: expected ';' before 'p_instance'
rabbit.c: 322 | RABBIT_G_AND_LATE_COUNTER(5, 0x4D34D34D)
rabbit.c: | ^
rabbit.c: | ;
rabbit.c: e/rabbit.c:324:44: error: expected ';' before 'p_instance'
rabbit.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/2/4
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/2/4
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/2/4
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/2/4

Compiler output

Implementation: T:e/opt/2/5
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
rabbit.c: In file included from rabbit.c:1:
rabbit.c: ./e/rabbit.c:37:2: 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:314:4: error: implicit declaration of function 'RABBIT_G_AND_LATE_COUNTER' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
rabbit.c: RABBIT_G_AND_LATE_COUNTER(0, 0xD34D34D3)
rabbit.c: ^
rabbit.c: ./e/rabbit.c:314:44: error: expected ';' after expression
rabbit.c: RABBIT_G_AND_LATE_COUNTER(0, 0xD34D34D3)
rabbit.c: ^
rabbit.c: ;
rabbit.c: ./e/rabbit.c:315:44: error: expected ';' after expression
rabbit.c: RABBIT_G_AND_LATE_COUNTER(1, 0x34D34D34)
rabbit.c: ^
rabbit.c: ;
rabbit.c: ./e/rabbit.c:316:44: error: expected ';' after expression
rabbit.c: RABBIT_G_AND_LATE_COUNTER(2, 0x4D34D34D)
rabbit.c: ^
rabbit.c: ;
rabbit.c: ./e/rabbit.c:318:44: error: expected ';' after expression
rabbit.c: RABBIT_G_AND_LATE_COUNTER(3, 0xD34D34D3)
rabbit.c: ^
rabbit.c: ;
rabbit.c: ./e/rabbit.c:320:44: error: expected ';' after expression
rabbit.c: RABBIT_G_AND_LATE_COUNTER(4, 0x34D34D34)
rabbit.c: ...

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:e/opt/2/5

Compiler output

Implementation: T:e/opt/2/5
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
rabbit.c: In file included from rabbit.c:1:
rabbit.c: e/rabbit.c:37:2: error: #error this variant does not compile on this platform
rabbit.c: 37 | #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: 314 | RABBIT_G_AND_LATE_COUNTER(0, 0xD34D34D3)
rabbit.c: | ^~~~~~~~~~~~~~~~~~~~~~~~~
rabbit.c: | RABBIT_G_AND_COUNTER
rabbit.c: e/rabbit.c:314:44: error: expected ';' before 'RABBIT_G_AND_LATE_COUNTER'
rabbit.c: 314 | RABBIT_G_AND_LATE_COUNTER(0, 0xD34D34D3)
rabbit.c: | ^
rabbit.c: | ;
rabbit.c: 315 | RABBIT_G_AND_LATE_COUNTER(1, 0x34D34D34)
rabbit.c: | ~~~~~~~~~~~~~~~~~~~~~~~~~
rabbit.c: e/rabbit.c:318:44: error: expected ';' before 'p_instance'
rabbit.c: 318 | RABBIT_G_AND_LATE_COUNTER(3, 0xD34D34D3)
rabbit.c: | ^
rabbit.c: | ;
rabbit.c: e/rabbit.c:320:44: error: expected ';' before 'p_instance'
rabbit.c: 320 | RABBIT_G_AND_LATE_COUNTER(4, 0x34D34D34)
rabbit.c: | ^
rabbit.c: | ;
rabbit.c: e/rabbit.c:322:44: error: expected ';' before 'p_instance'
rabbit.c: 322 | RABBIT_G_AND_LATE_COUNTER(5, 0x4D34D34D)
rabbit.c: ...

Number of similar (compiler,implementation) pairs: 4, namely:
CompilerImplementations
gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/2/5
gcc -march=native -mtune=native -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/2/5
gcc -march=native -mtune=native -O -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/2/5
gcc -march=native -mtune=native -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/2/5

Compiler output

Implementation: T:e/ref
Security model: timingleaks
Compiler: clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
rabbit.c: In file included from rabbit.c:1:
rabbit.c: ./e/rabbit.c:203:48: error: implicit declaration of function 'U32TO32_LITTLE' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
rabbit.c: *(u32*)(output+ 0) = *(u32*)(input+ 0) ^ U32TO32_LITTLE(ctx->work_ctx.x[0] ^
rabbit.c: ^
rabbit.c: ./e/rabbit.c:225:28: error: implicit declaration of function 'U32TO32_LITTLE' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
rabbit.c: *(u32*)(buffer+ 0) = U32TO32_LITTLE(ctx->work_ctx.x[0] ^
rabbit.c: ^
rabbit.c: ./e/rabbit.c:256:31: error: implicit declaration of function 'U32TO32_LITTLE' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
rabbit.c: *(u32*)(keystream+ 0) = U32TO32_LITTLE(ctx->work_ctx.x[0] ^
rabbit.c: ^
rabbit.c: ./e/rabbit.c:277:28: error: implicit declaration of function 'U32TO32_LITTLE' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
rabbit.c: *(u32*)(buffer+ 0) = U32TO32_LITTLE(ctx->work_ctx.x[0] ^
rabbit.c: ^
rabbit.c: ./e/rabbit.c:307:48: error: implicit declaration of function 'U32TO32_LITTLE' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
rabbit.c: *(u32*)(output+ 0) = *(u32*)(input+ 0) ^ U32TO32_LITTLE(ctx->work_ctx.x[0] ^
rabbit.c: ^
rabbit.c: 5 errors generated.

Number of similar (compiler,implementation) pairs: 1, namely:
CompilerImplementations
clang -mcpu=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:e/ref

Compiler output

Implementation: T:e/ref
Security model: timingleaks
Compiler: gcc -march=native -mtune=native -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE
rabbit.c: In file included from rabbit.c:1:
rabbit.c: e/rabbit.c: In function 'crypto_stream_rabbit_e_ref_timingleaks_ECRYPT_process_bytes':
rabbit.c: e/rabbit.c:203:48: warning: implicit declaration of function 'U32TO32_LITTLE'; did you mean 'U8TO32_LITTLE'? [-Wimplicit-function-declaration]
rabbit.c: 203 | *(u32*)(output+ 0) = *(u32*)(input+ 0) ^ U32TO32_LITTLE(ctx->work_ctx.x[0] ^
rabbit.c: | ^~~~~~~~~~~~~~
rabbit.c: | U8TO32_LITTLE
try.c: Undefined symbols for architecture arm64:
try.c: "_U32TO32_LITTLE", referenced from:
try.c: _crypto_stream_rabbit_e_ref_timingleaks_ECRYPT_process_bytes in libcrypto_stream_rabbit.a(rabbit.o)
try.c: _crypto_stream_rabbit_e_ref_timingleaks_ECRYPT_keystream_bytes in libcrypto_stream_rabbit.a(rabbit.o)
try.c: _crypto_stream_rabbit_e_ref_timingleaks_ECRYPT_process_blocks in libcrypto_stream_rabbit.a(rabbit.o)
try.c: ld: symbol(s) not found for architecture arm64
try.c: collect2: error: ld returned 1 exit status

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