Implementation notes: amd64, icelake, crypto_stream/rabbit

Computer: icelake
Architecture: amd64
CPU ID: GenuineIntel-000706e5-bfebfbff
SUPERCOP version: 20200826
Operation: crypto_stream
Primitive: rabbit
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
53136446 4 024576 4096 0T:e/opt/1/2opt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
53436446 4 024576 4096 0T:e/opt/1/3opt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
53446446 4 024576 4096 0T:e/opt/1/4opt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
53536558 4 024576 4096 0T:e/opt/2/3opt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
53926558 4 024576 4096 0T:e/opt/2/2opt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
57014710 4 020480 4096 0T:e/opt/2/3opt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
57134774 4 020480 4096 0T:e/opt/1/4opt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
57234774 4 020480 4096 0T:e/opt/1/2opt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
57344710 4 020480 4096 0T:e/opt/2/2opt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
61344774 4 020480 4096 0T:e/opt/1/3opt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
62664392 1 016384 4096 0T:e/opt/1/4clang_-march=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
62724296 1 016384 4096 0T:e/opt/2/3clang_-march=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
62774296 1 016384 4096 0T:e/opt/2/2clang_-march=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
62874392 1 016384 4096 0T:e/opt/1/2clang_-march=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
62874392 1 016384 4096 0T:e/opt/1/3clang_-march=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
63205911 1 020480 4096 0T:e/opt/1/2clang_-march=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
63395801 1 020480 4096 0T:e/opt/2/2clang_-march=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
63424439 4 016384 4096 0T:e/opt/1/3opt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
63594439 4 016384 4096 0T:e/opt/1/4opt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
63724439 4 016384 4096 0T:e/opt/1/2opt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
63885911 1 020480 4096 0T:e/opt/1/4clang_-march=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
64005911 1 020480 4096 0T:e/opt/1/3clang_-march=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
64045801 1 020480 4096 0T:e/opt/2/3clang_-march=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
64075911 1 020480 4096 0T:e/opt/1/4clang_-march=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
64095801 1 020480 4096 0T:e/opt/2/2clang_-march=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
64125801 1 020480 4096 0T:e/opt/2/3clang_-march=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
64235911 1 020480 4096 0T:e/opt/1/2clang_-march=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
64315911 1 020480 4096 0T:e/opt/1/3clang_-march=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
65684292 4 016384 4096 0T:e/opt/2/2opt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
66014292 4 016384 4096 0T:e/opt/2/3opt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
73716319 1 020480 4096 0T:e/opt/1/1clang_-march=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
73714828 1 016384 4096 0T:e/opt/1/1clang_-march=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
73726319 1 020480 4096 0T:e/opt/1/1clang_-march=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
74325177 1 016384 4096 0T:e/opt/2/1clang_-march=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
74426665 1 020480 4096 0T:e/opt/2/1clang_-march=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
74646665 1 020480 4096 0T:e/opt/2/1clang_-march=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
77204551 1 020480 4096 0T:e/refclang_-march=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
77224551 1 020480 4096 0T:e/refclang_-march=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826
79362969 4 016384 4096 0T:e/refopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
81683550 4 020480 4096 0T:e/refopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
82313774 4 020480 4096 0T:e/refopt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
87585878 4 024576 4096 0T:e/opt/2/1opt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
88305526 4 020480 4096 0T:e/opt/1/1opt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
89445510 4 020480 4096 0T:e/opt/2/1opt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
91885180 4 020480 4096 0T:e/opt/1/1opt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
92055212 4 020480 4096 0T:e/opt/2/1opt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
96985758 4 024576 4096 0T:e/opt/1/1opt-local-bin-gcc_-march=icelake-client_-mtune=icelake-client_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2020082620200826
104693029 1 016384 4096 0T:e/refclang_-march=icelake-client_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2020082620200826

Compiler output

Implementation: T:e/opt/2/4
Security model: timingleaks
Compiler: clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE
rabbit.c: In file included from rabbit.c:1:
rabbit.c: ./e/rabbit.c:314:4: warning: implicit declaration of function 'RABBIT_G_AND_LATE_COUNTER' is invalid in C99 [-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: 3, namely:
CompilerImplementations
clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:e/opt/2/4
clang -march=icelake-client -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:e/opt/2/4
clang -march=icelake-client -Os -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: opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -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: 3, namely:
CompilerImplementations
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/2/4
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/2/4
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -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 -march=icelake-client -O2 -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: warning: implicit declaration of function 'RABBIT_G_AND_LATE_COUNTER' is invalid in C99 [-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: 3, namely:
CompilerImplementations
clang -march=icelake-client -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:e/opt/2/5
clang -march=icelake-client -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:e/opt/2/5
clang -march=icelake-client -Os -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: opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -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: 3, namely:
CompilerImplementations
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O2 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/2/5
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -O3 -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/2/5
opt-local-bin-gcc -march=icelake-client -mtune=icelake-client -Os -fomit-frame-pointer -fwrapv -fPIC -fPIE T:e/opt/2/5