Implementation notes: amd64, gcc67, crypto_stream/rabbit

Computer: gcc67
Architecture: amd64
CPU ID: AuthenticAMD-00810f10-178bfbff
SUPERCOP version: 20210125
Operation: crypto_stream
Primitive: rabbit
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
51974509 0 118723 820 968T:e/opt/1/2clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
52194509 0 118723 820 968T:e/opt/1/3clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
52394396 0 118611 820 968T:e/opt/2/3clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
52414396 0 118611 820 968T:e/opt/2/2clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
52524509 0 118723 820 968T:e/opt/1/4clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
54974247 0 417765 836 1032T:e/opt/1/2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
55154183 0 417701 836 1032T:e/opt/2/3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
55194183 0 417701 836 1032T:e/opt/2/2gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
55374247 0 417765 836 1032T:e/opt/1/4gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
57943994 0 416209 820 1000T:e/opt/1/3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
58763954 0 416161 820 1000T:e/opt/2/3gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
59313954 0 416161 820 1000T:e/opt/2/2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
60053994 0 416209 820 1000T:e/opt/1/4gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
60383994 0 416209 820 1000T:e/opt/1/2gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
62584399 0 417661 836 1032T:e/opt/2/2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
62654467 0 417741 836 1032T:e/opt/1/3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
62854467 0 417741 836 1032T:e/opt/1/4gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
63524399 0 417661 836 1032T:e/opt/2/3gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
65276079 0 421590 844 1032T:e/opt/2/2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
65416079 0 421590 844 1032T:e/opt/2/3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
65716125 0 421622 844 1032T:e/opt/1/2gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
65826125 0 421622 844 1032T:e/opt/1/3gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
65916125 0 421622 844 1032T:e/opt/1/4gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
71387299 0 422782 844 1032T:e/refgcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
75115141 0 119355 820 968T:e/opt/1/1clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
76834741 0 118595 820 968T:e/opt/1/3clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
77084741 0 118595 820 968T:e/opt/1/4clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
77464983 0 418501 836 1032T:e/opt/1/1gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
77474887 0 418405 836 1032T:e/opt/2/1gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
78844627 0 416849 820 1000T:e/opt/1/1gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
81055126 0 418397 836 1032T:e/opt/2/1gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
81315206 0 418477 836 1032T:e/opt/1/1gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
83104708 0 118563 820 968T:e/opt/2/3clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
83474708 0 119467 820 968T:e/opt/2/2clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
83804708 0 118563 820 968T:e/opt/2/3clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
83994287 0 116533 812 968T:e/opt/2/3clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
84295140 0 119899 820 968T:e/opt/2/1clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
84295140 0 118995 820 968T:e/opt/2/1clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
84305140 0 118995 820 968T:e/opt/2/1clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
84434708 0 119467 820 968T:e/opt/2/3clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
84644708 0 118563 820 968T:e/opt/2/2clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
84824741 0 119499 820 968T:e/opt/1/2clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
84834708 0 118563 820 968T:e/opt/2/2clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
85415237 0 119995 820 968T:e/opt/1/1clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
85914741 0 118595 820 968T:e/opt/1/4clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
86004741 0 118595 820 968T:e/opt/1/2clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
86154741 0 118595 820 968T:e/opt/1/2clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
86227556 0 423054 844 1032T:e/opt/2/1gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
86534247 0 417765 836 1032T:e/opt/1/3gcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
86924325 0 116581 812 968T:e/opt/1/3clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
87724809 0 117061 812 968T:e/opt/1/1clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
87973725 0 117955 820 968T:e/refclang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
87994325 0 116581 812 968T:e/opt/1/4clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
88914325 0 116581 812 968T:e/opt/1/2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
93314467 0 417741 836 1032T:e/opt/1/2gcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
101373139 0 416653 836 1032T:e/refgcc_-march=native_-mtune=native_-O2_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
104692690 0 414897 820 1000T:e/refgcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
105822925 0 416197 836 1032T:e/refgcc_-march=native_-mtune=native_-O_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
114504287 0 116533 812 968T:e/opt/2/2clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
114765237 0 119091 820 968T:e/opt/1/1clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
115124741 0 118595 820 968T:e/opt/1/3clang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
116324741 0 119499 820 968T:e/opt/1/3clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
116884741 0 119499 820 968T:e/opt/1/4clang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
128925060 0 119275 820 968T:e/opt/2/1clang_-mcpu=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
130144739 0 116981 812 968T:e/opt/2/1clang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
131073028 0 115269 812 968T:e/refclang_-march=native_-Os_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
134294603 0 416817 820 1000T:e/opt/2/1gcc_-march=native_-mtune=native_-Os_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
137955237 0 119091 820 968T:e/opt/1/1clang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
140467626 0 423118 844 1032T:e/opt/1/1gcc_-march=native_-mtune=native_-O3_-fomit-frame-pointer_-fwrapv_-fPIC_-fPIE2021011520210114
145313461 0 117299 820 968T:e/refclang_-march=native_-O_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
147853461 0 118203 820 968T:e/refclang_-march=native_-O3_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114
149603461 0 117299 820 968T:e/refclang_-march=native_-O2_-fomit-frame-pointer_-fwrapv_-Qunused-arguments_-fPIC_-fPIE2021011520210114

Compiler output

Implementation: T:e/opt/2/4
Security model: timingleaks
Compiler: clang -march=native -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: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:e/opt/2/4
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:e/opt/2/4
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:e/opt/2/4
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:e/opt/2/4
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: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' [-Wimplicit-function-declaration]
rabbit.c: RABBIT_G_AND_LATE_COUNTER(0, 0xD34D34D3)
rabbit.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
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: p_instance->x##i = U32V(g##i + ROTL32(g##j, 8) + g##k);
rabbit.c: ^
rabbit.c: e/rabbit.c:319:4: note: in expansion of macro 'RABBIT_GEN_X_ODD'
rabbit.c: RABBIT_GEN_X_ODD(3, 2, 1)
rabbit.c: ^~~~~~~~~~~~~~~~
rabbit.c: e/rabbit.c:90:7: error: expected ';' before 'p_instance'
rabbit.c: p_instance->x##i = U32V(g##i + ROTL32(g##j,16) + ROTL32(g##k, 16));
rabbit.c: ^
rabbit.c: e/rabbit.c:321:4: note: in expansion of macro 'RABBIT_GEN_X_EVEN'
rabbit.c: RABBIT_GEN_X_EVEN(4, 3, 2)
rabbit.c: ^~~~~~~~~~~~~~~~~
rabbit.c: e/rabbit.c:93:7: error: expected ';' before 'p_instance'
rabbit.c: p_instance->x##i = U32V(g##i + ROTL32(g##j, 8) + g##k);
rabbit.c: ^
rabbit.c: e/rabbit.c:323:4: note: in expansion of macro 'RABBIT_GEN_X_ODD'
rabbit.c: RABBIT_GEN_X_ODD(5, 4, 3)
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 -march=native -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: 5, namely:
CompilerImplementations
clang -march=native -O2 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:e/opt/2/5
clang -march=native -O3 -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:e/opt/2/5
clang -march=native -O -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:e/opt/2/5
clang -march=native -Os -fomit-frame-pointer -fwrapv -Qunused-arguments -fPIC -fPIE T:e/opt/2/5
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: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' [-Wimplicit-function-declaration]
rabbit.c: RABBIT_G_AND_LATE_COUNTER(0, 0xD34D34D3)
rabbit.c: ^~~~~~~~~~~~~~~~~~~~~~~~~
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: p_instance->x##i = U32V(g##i + ROTL32(g##j, 8) + g##k);
rabbit.c: ^
rabbit.c: e/rabbit.c:319:4: note: in expansion of macro 'RABBIT_GEN_X_ODD'
rabbit.c: RABBIT_GEN_X_ODD(3, 2, 1)
rabbit.c: ^~~~~~~~~~~~~~~~
rabbit.c: e/rabbit.c:90:7: error: expected ';' before 'p_instance'
rabbit.c: p_instance->x##i = U32V(g##i + ROTL32(g##j,16) + ROTL32(g##k, 16));
rabbit.c: ^
rabbit.c: e/rabbit.c:321:4: note: in expansion of macro 'RABBIT_GEN_X_EVEN'
rabbit.c: RABBIT_GEN_X_EVEN(4, 3, 2)
rabbit.c: ^~~~~~~~~~~~~~~~~
rabbit.c: e/rabbit.c:93:7: error: expected ';' before 'p_instance'
rabbit.c: p_instance->x##i = U32V(g##i + ROTL32(g##j, 8) + g##k);
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