Implementation notes: amd64, alder, crypto_sign/sflashv2

Computer: alder
Microarchitecture: amd64; Golden Cove (90675-00)
Architecture: amd64
CPU ID: GenuineIntel-00090675-00-bfebfbff
SUPERCOP version: 20240625
Operation: crypto_sign
Primitive: sflashv2
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
15250231335 0 052575 844 1784T:refgcc_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
17273532153 0 055399 844 1784T:refgcc_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
23675730070 0 050975 844 1784T:refgcc_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625
26785427433 0 047175 836 1784T:refgcc_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062920240625

Compiler output


keypair.c: keypair.c:10:18: warning: unused variable 'seed' [-Wunused-variable]
keypair.c:   unsigned char *seed;
keypair.c:                  ^
keypair.c: keypair.c:11:7: warning: unused variable 'length' [-Wunused-variable]
keypair.c:   int length;
keypair.c:       ^
keypair.c: 2 warnings generated.
lib_flash.c: lib_flash.c:409:50: warning: '/*' within block comment [-Wcomment]
lib_flash.c:         init_table_flash(CK->M,/*CK->I,*/CK->M1/*,CK->M2/* /*,CK->M3*/);
lib_flash.c:                                                         ^
lib_flash.c: lib_flash.c:409:53: warning: '/*' within block comment [-Wcomment]
lib_flash.c:         init_table_flash(CK->M,/*CK->I,*/CK->M1/*,CK->M2/* /*,CK->M3*/);
lib_flash.c:                                                            ^
lib_flash.c: lib_flash.c:690:3: warning: '/*' within block comment [-Wcomment]
lib_flash.c:                 /*mis <E0> la puissance 2^7^22 de tmp
lib_flash.c:                 ^
lib_flash.c: lib_flash.c:692:3: warning: '/*' within block comment [-Wcomment]
lib_flash.c:                 /*
lib_flash.c:                 ^
lib_flash.c: lib_flash.c:695:4: warning: '/*' within block comment [-Wcomment]
lib_flash.c:    /* inversion affine de S*/
lib_flash.c:    ^
lib_flash.c: lib_flash.c:726:14: warning: 'size' argument to memset is '0'; did you mean to transpose the last two arguments? [-Wmemset-transposed-args]
lib_flash.c:         memset(V,33,0);
lib_flash.c:                     ^
lib_flash.c: lib_flash.c:726:14: note: parenthesize the third argument to silence
lib_flash.c: lib_flash.c:783:14: warning: 'size' argument to memset is '0'; did you mean to transpose the last two arguments? [-Wmemset-transposed-args]
lib_flash.c:         memset(V,33,0);
lib_flash.c:                     ^
lib_flash.c: lib_flash.c:783:14: note: parenthesize the third argument to silence
lib_flash.c: lib_flash.c:809:6: warning: unused variable 'i' [-Wunused-variable]
lib_flash.c:         int i;
lib_flash.c: ...
table_flash.c: table_flash.c:25:8: warning: ^ has lower precedence than <; < will be evaluated first [-Wparentheses]
table_flash.c:                 if( x^P < x)
table_flash.c:                      ^~~~~~
table_flash.c: table_flash.c:25:8: note: place parentheses around the '<' expression to silence this warning
table_flash.c:                 if( x^P < x)
table_flash.c:                      ^
table_flash.c:                       (    )
table_flash.c: table_flash.c:25:8: note: place parentheses around the ^ expression to evaluate it first
table_flash.c:                 if( x^P < x)
table_flash.c:                      ^
table_flash.c:                     (  )
table_flash.c: table_flash.c:39:28: warning: suggest braces around initialization of subobject [-Wmissing-braces]
table_flash.c: unsigned char MM[37][37]={ 1 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0
table_flash.c:                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
table_flash.c:                            {                                                                                                            }
table_flash.c: table_flash.c:40:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
table_flash.c: ,1 ,1 ,0 ,0 ,1 ,1 ,0 ,1 ,0 ,1 ,1 ,1 ,1 ,1 ,0 ,1 ,1 ,0 ,1 ,0 ,0 ,0 ,0 ,0 ,1 ,0 ,1 ,1 ,1 ,1 ,0 ,1 ,1 ,1 ,1 ,0 ,1
table_flash.c:  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
table_flash.c:  {                                                                                                            }
table_flash.c: table_flash.c:41:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
table_flash.c: ,0 ,0 ,0 ,0 ,0 ,0 ,1 ,0 ,1 ,0 ,0 ,1 ,0 ,1 ,1 ,1 ,1 ,0 ,1 ,0 ,1 ,1 ,0 ,0 ,1 ,0 ,1 ,0 ,0 ,0 ,1 ,0 ,1 ,0 ,0 ,0 ,1
table_flash.c:  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
table_flash.c:  {                                                                                                            }
table_flash.c: table_flash.c:42:2: warning: suggest braces around initialization of subobject [-Wmissing-braces]
table_flash.c: ,1 ,0 ,0 ,0 ,1 ,0 ,1 ,1 ,0 ,0 ,0 ,0 ,0 ,1 ,1 ,1 ,1 ,1 ,0 ,0 ,1 ,1 ,1 ,0 ,1 ,1 ,0 ,0 ,0 ,0 ,0 ,1 ,0 ,1 ,1 ,0 ,1
table_flash.c: ...

Number of similar (implementation,compiler) pairs: 5, namely:
ImplementationCompiler
T:refclang -march=native -O2 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:refclang -march=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:refclang -march=native -O -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:refclang -march=native -Os -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)
T:refclang -mcpu=native -O3 -fwrapv -Qunused-arguments -fPIC -fPIE -gdwarf-4 -Wall (Debian_Clang_11.0.1)

Compiler output


keypair.c: keypair.c: In function 'crypto_sign_sflashv2_ref_timingleaks_keypair':
keypair.c: keypair.c:11:7: warning: unused variable 'length' [-Wunused-variable]
keypair.c:    11 |   int length;
keypair.c:       |       ^~~~~~
keypair.c: keypair.c:10:18: warning: unused variable 'seed' [-Wunused-variable]
keypair.c:    10 |   unsigned char *seed;
keypair.c:       |                  ^~~~
lib_flash.c: lib_flash.c: In function 'Flash_build_complete_key':
lib_flash.c: lib_flash.c:409:50: warning: "/*" within comment [-Wcomment]
lib_flash.c:   409 |  init_table_flash(CK->M,/*CK->I,*/CK->M1/*,CK->M2/* /*,CK->M3*/);
lib_flash.c:       |
lib_flash.c: lib_flash.c:409:53: warning: "/*" within comment [-Wcomment]
lib_flash.c: lib_flash.c: In function 'Flash_decrypt':
lib_flash.c: lib_flash.c:690:3: warning: "/*" within comment [-Wcomment]
lib_flash.c:   690 |   /*mis � la puissance 2^7^22 de tmp
lib_flash.c:       |
lib_flash.c: lib_flash.c:692:3: warning: "/*" within comment [-Wcomment]
lib_flash.c:   692 |   /*
lib_flash.c:       |
lib_flash.c: lib_flash.c:695:4: warning: "/*" within comment [-Wcomment]
lib_flash.c:   695 |    /* inversion affine de S*/
lib_flash.c:       |
lib_flash.c: lib_flash.c: In function 'format_message1':
lib_flash.c: lib_flash.c:726:2: warning: 'memset' used with constant zero length parameter; this could be due to transposed parameters [-Wmemset-transposed-args]
lib_flash.c:   726 |  memset(V,33,0);
lib_flash.c:       |  ^~~~~~
lib_flash.c: lib_flash.c: In function 'format_message2':
lib_flash.c: lib_flash.c:783:2: warning: 'memset' used with constant zero length parameter; this could be due to transposed parameters [-Wmemset-transposed-args]
lib_flash.c:   783 |  memset(V,33,0);
lib_flash.c:       |  ^~~~~~
lib_flash.c: lib_flash.c: In function 'Flash_sign':
lib_flash.c: lib_flash.c:809:6: warning: unused variable 'i' [-Wunused-variable]
lib_flash.c: ...
table_flash.c: table_flash.c: In function 'mult2':
table_flash.c: table_flash.c:25:11: warning: suggest parentheses around comparison in operand of '^' [-Wparentheses]
table_flash.c:    25 |   if( x^P < x)
table_flash.c:       |         ~~^~~
table_flash.c: table_flash.c: In function 'build_MM':
table_flash.c: table_flash.c:39:26: warning: missing braces around initializer [-Wmissing-braces]
table_flash.c:    39 | unsigned char MM[37][37]={ 1 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0
table_flash.c:       |                          ^
table_flash.c:       |                            {
table_flash.c:    40 | ,1 ,1 ,0 ,0 ,1 ,1 ,0 ,1 ,0 ,1 ,1 ,1 ,1 ,1 ,0 ,1 ,1 ,0 ,1 ,0 ,0 ,0 ,0 ,0 ,1 ,0 ,1 ,1 ,1 ,1 ,0 ,1 ,1 ,1 ,1 ,0 ,1
table_flash.c:       | }{
table_flash.c:    41 | ,0 ,0 ,0 ,0 ,0 ,0 ,1 ,0 ,1 ,0 ,0 ,1 ,0 ,1 ,1 ,1 ,1 ,0 ,1 ,0 ,1 ,1 ,0 ,0 ,1 ,0 ,1 ,0 ,0 ,0 ,1 ,0 ,1 ,0 ,0 ,0 ,1
table_flash.c:       | }{
table_flash.c:    42 | ,1 ,0 ,0 ,0 ,1 ,0 ,1 ,1 ,0 ,0 ,0 ,0 ,0 ,1 ,1 ,1 ,1 ,1 ,0 ,0 ,1 ,1 ,1 ,0 ,1 ,1 ,0 ,0 ,0 ,0 ,0 ,1 ,0 ,1 ,1 ,0 ,1
table_flash.c:       | }{
table_flash.c:    43 | ,0 ,0 ,1 ,1 ,1 ,0 ,0 ,1 ,1 ,0 ,0 ,1 ,1 ,0 ,1 ,1 ,1 ,0 ,1 ,0 ,0 ,1 ,0 ,0 ,0 ,0 ,1 ,0 ,1 ,1 ,1 ,0 ,1 ,1 ,0 ,0 ,1
table_flash.c:       | }{
table_flash.c:    44 | ,1 ,0 ,0 ,0 ,0 ,0 ,1 ,1 ,1 ,0 ,1 ,1 ,1 ,0 ,1 ,0 ,0 ,0 ,1 ,1 ,0 ,0 ,0 ,0 ,1 ,1 ,0 ,1 ,1 ,0 ,1 ,1 ,1 ,0 ,0 ,1 ,1
table_flash.c:       | }{
table_flash.c:    45 | ,1 ,0 ,1 ,1 ,1 ,0 ,1 ,0 ,1 ,1 ,0 ,1 ,1 ,1 ,0 ,1 ,1 ,0 ,0 ,1 ,0 ,1 ,1 ,0 ,0 ,0 ,1 ,1 ,1 ,1 ,1 ,0 ,1 ,1 ,1 ,0 ,0
table_flash.c:       | }{
table_flash.c:    46 | ,1 ,1 ,0 ,0 ,1 ,0 ,0 ,1 ,0 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,0 ,0 ,0 ,0 ,1 ,1 ,1 ,1 ,0 ,0 ,0 ,0 ,1 ,0 ,0 ,0 ,1 ,0 ,0 ,1 ,0
table_flash.c:       | }{
table_flash.c:    47 | ,0 ,0 ,0 ,0 ,0 ,1 ,0 ,1 ,0 ,0 ,0 ,0 ,1 ,0 ,0 ,0 ,0 ,0 ,1 ,1 ,0 ,0 ,0 ,0 ,1 ,0 ,0 ,0 ,1 ,1 ,1 ,1 ,1 ,0 ,0 ,0 ,1
table_flash.c:       | }{
table_flash.c: ...

Number of similar (implementation,compiler) pairs: 4, namely:
ImplementationCompiler
T:refgcc -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:refgcc -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:refgcc -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)
T:refgcc -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (10.2.1_20210110)