Implementation notes: amd64, speed2supercop, crypto_stream/lexv2

Computer: speed2supercop
Microarchitecture: amd64; Haswell+AES (306c3)
Architecture: amd64
CPU ID: GenuineIntel-000306c3-1fc9cbf5
SUPERCOP version: 20240625
Operation: crypto_stream
Primitive: lexv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
73409368 0 122423 784 856T:e/v2/schwabe/amd64-1clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
73609418 0 125702 792 816T:e/v2/schwabe/amd64-1clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
73689342 0 420544 728 840T:e/v2/schwabe/amd64-1gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
73729519 0 422149 752 872T:e/v2/schwabe/amd64-1gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
73769418 0 124262 792 800T:e/v2/schwabe/amd64-1clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
73849418 0 121566 792 800T:e/v2/schwabe/amd64-1clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
73888924 0 121975 784 856T:e/v2/schwabe/amd64-2clang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
73929075 0 423733 752 872T:e/v2/schwabe/amd64-2gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
73968974 0 121118 792 800T:e/v2/schwabe/amd64-2clang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
74009519 0 424181 752 872T:e/v2/schwabe/amd64-1gcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
74009517 0 421860 744 872T:e/v2/schwabe/amd64-1gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
74048974 0 125254 792 816T:e/v2/schwabe/amd64-2clang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
74049073 0 421412 744 872T:e/v2/schwabe/amd64-2gcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
74088974 0 125030 792 816T:e/v2/schwabe/amd64-2clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
74129075 0 421701 752 872T:e/v2/schwabe/amd64-2gcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
74168898 0 420096 728 840T:e/v2/schwabe/amd64-2gcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
74289418 0 125478 792 816T:e/v2/schwabe/amd64-1clang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
74328974 0 123814 792 800T:e/v2/schwabe/amd64-2clang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
795613658 0 424848 728 840T:e/v2/refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
826814438 0 426788 744 872T:e/v2/refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
839616551 0 431269 752 872T:e/v2/refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
849214382 0 427053 752 872T:e/v2/refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
954015180 0 128263 784 856T:e/v2/refclang_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
983216563 0 131414 792 800T:e/v2/refclang_-mcpu=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
989615385 0 127566 792 800T:e/v2/refclang_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
990815939 0 132038 792 816T:e/v2/refclang_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
991216707 0 132982 792 816T:e/v2/refclang_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625

Compiler output


lex.c: In file included from lex.c:1:
lex.c: ./e/lex.c:685:9: warning: array index 10 is past the end of the array (that has type 'u32[10]' (aka 'unsigned int[10]')) [-Warray-bounds]
lex.c:         ctx->ks[10] = (t0 & 0xFF00FF00) ^ ((t2 & 0xFF00FF00)>>8); /* Leak for odd rounds */
lex.c:         ^       ~~
lex.c: ./e/ecrypt-sync.h:53:3: note: array 'ks' declared here
lex.c:   u32 ks[NUMWORDS];                     /* Keystream words collected from leaks */
lex.c:   ^
lex.c: In file included from lex.c:1:
lex.c: ./e/lex.c:692:6: warning: array index 11 is past the end of the array (that has type 'u32[10]' (aka 'unsigned int[10]')) [-Warray-bounds]
lex.c:             ctx->ks[11] = ((s0 & 0xFF00FF)<<8) ^ (s2 & 0xFF00FF);    /* Leak for even rounds */
lex.c:             ^       ~~
lex.c: ./e/ecrypt-sync.h:53:3: note: array 'ks' declared here
lex.c:   u32 ks[NUMWORDS];                     /* Keystream words collected from leaks */
lex.c:   ^
lex.c: In file included from lex.c:1:
lex.c: ./e/lex.c:698:13: warning: array index 12 is past the end of the array (that has type 'u32[10]' (aka 'unsigned int[10]')) [-Warray-bounds]
lex.c:             ctx->ks[12] = (t0 & 0xFF00FF00) ^ ((t2 & 0xFF00FF00)>>8); /* Leak for odd rounds */
lex.c:             ^       ~~
lex.c: ./e/ecrypt-sync.h:53:3: note: array 'ks' declared here
lex.c:   u32 ks[NUMWORDS];                     /* Keystream words collected from leaks */
lex.c:   ^
lex.c: 3 warnings generated.

Number of similar (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:e/v2/refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:e/v2/refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:e/v2/refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:e/v2/refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))
T:e/v2/refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_16.0.6_(27+b1))

Compiler output


lex.c: In file included from lex.c:1:
lex.c: e/lex.c: In function 'rijndaelEncrypt':
lex.c: e/lex.c:685:16: warning: array subscript 10 is above array bounds of 'u32[10]' {aka 'unsigned int[10]'} [-Warray-bounds=]
lex.c:   685 |         ctx->ks[10] = (t0 & 0xFF00FF00) ^ ((t2 & 0xFF00FF00)>>8); /* Leak for odd rounds */
lex.c:       |         ~~~~~~~^~~~
lex.c: In file included from e/lex.c:34:
lex.c: e/ecrypt-sync.h:53:7: note: while referencing 'ks'
lex.c:    53 |   u32 ks[NUMWORDS];                     /* Keystream words collected from leaks */
lex.c:       |       ^~
lex.c: e/lex.c:692:20: warning: array subscript 11 is above array bounds of 'u32[10]' {aka 'unsigned int[10]'} [-Warray-bounds=]
lex.c:   692 |             ctx->ks[11] = ((s0 & 0xFF00FF)<<8) ^ (s2 & 0xFF00FF);    /* Leak for even rounds */
lex.c:       |             ~~~~~~~^~~~
lex.c: e/ecrypt-sync.h:53:7: note: while referencing 'ks'
lex.c:    53 |   u32 ks[NUMWORDS];                     /* Keystream words collected from leaks */
lex.c:       |       ^~
lex.c: e/lex.c:698:20: warning: array subscript 12 is above array bounds of 'u32[10]' {aka 'unsigned int[10]'} [-Warray-bounds=]
lex.c:   698 |             ctx->ks[12] = (t0 & 0xFF00FF00) ^ ((t2 & 0xFF00FF00)>>8); /* Leak for odd rounds */
lex.c:       |             ~~~~~~~^~~~
lex.c: e/ecrypt-sync.h:53:7: note: while referencing 'ks'
lex.c:    53 |   u32 ks[NUMWORDS];                     /* Keystream words collected from leaks */
lex.c:       |       ^~

Number of similar (implementation,compiler) pairs: 3, namely:
ImplementationCompiler
T:e/v2/refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
T:e/v2/refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)
T:e/v2/refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (13.3.0)