Implementation notes: amd64, rumba7, crypto_stream/amastrid

Computer: rumba7
Microarchitecture: amd64; Zen (800f11)
Architecture: amd64
CPU ID: AuthenticAMD-00800f11-178bfbff
SUPERCOP version: 20240625
Operation: crypto_stream
Primitive: amastrid
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
5712221111 32 246241833 1684 3552T:refg++_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
5891117090 24 235036996 1164 3360T:refclang++_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
5891615732 24 235032156 1164 3360T:refclang++_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
6077817014 24 235036540 1164 3360T:refclang++_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
6203219495 24 246238892 1676 3552T:refg++_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
6583619072 24 246237767 1668 3552T:refg++_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
9051912219 24 246228672 1108 3520T:refg++_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625
9419816844 24 235033580 1148 3392T:refclang++_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024062620240625

Compiler output


Amastrid.cpp: Amastrid.cpp: In member function 'void Amastrid::Encrypt(unsigned int*)':
Amastrid.cpp: Amastrid.cpp:126:60: warning: 'pos2' may be used uninitialized in this function [-Wmaybe-uninitialized]
Amastrid.cpp:   126 |                     Amastrid::ShiftLeftRot(ar, _size, pos2 - pos1);
Amastrid.cpp:       |                                                       ~~~~~^~~~~~
Amastrid.cpp: Amastrid.cpp: In member function 'void Amastrid::Decrypt(unsigned int*)':
Amastrid.cpp: Amastrid.cpp:253:17: warning: 'pos1temp' may be used uninitialized in this function [-Wmaybe-uninitialized]
Amastrid.cpp:   253 |                 if (pos1temp > pos2)
Amastrid.cpp:       |                 ^~
Amastrid.cpp: Amastrid.cpp:289:18: warning: 'pos2o' may be used uninitialized in this function [-Wmaybe-uninitialized]
Amastrid.cpp:   289 |             else if (pos1 == pos2o)
Amastrid.cpp:       |                  ^~
Amastrid.cpp: Amastrid.cpp:291:17: warning: 'pos1o' may be used uninitialized in this function [-Wmaybe-uninitialized]
Amastrid.cpp:   291 |                 if (pos2 == pos1o)
Amastrid.cpp:       |                 ^~

Number of similar (implementation,compiler) pairs: 2, namely:
ImplementationCompiler
T:refg++ -march=native -mtune=native -O2 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)
T:refg++ -march=native -mtune=native -O3 -fwrapv -fPIC -fPIE -gdwarf-4 -Wall (11.4.0)

Compiler output


Amastrid.cpp: Amastrid.cpp: In member function 'void Amastrid::Encrypt(unsigned int*)':
Amastrid.cpp: Amastrid.cpp:120:17: warning: 'pos2' may be used uninitialized in this function [-Wmaybe-uninitialized]
Amastrid.cpp:   120 |                 if (pos1 > pos2)
Amastrid.cpp:       |                 ^~
Amastrid.cpp: Amastrid.cpp: In member function 'void Amastrid::Decrypt(unsigned int*)':
Amastrid.cpp: Amastrid.cpp:251:13: warning: 'pos1temp' may be used uninitialized in this function [-Wmaybe-uninitialized]
Amastrid.cpp:   251 |             if (pos1temp != pos2)
Amastrid.cpp:       |             ^~
Amastrid.cpp: Amastrid.cpp:289:18: warning: 'pos2o' may be used uninitialized in this function [-Wmaybe-uninitialized]
Amastrid.cpp:   289 |             else if (pos1 == pos2o)
Amastrid.cpp:       |                  ^~
Amastrid.cpp: Amastrid.cpp:291:17: warning: 'pos1o' may be used uninitialized in this function [-Wmaybe-uninitialized]
Amastrid.cpp:   291 |                 if (pos2 == pos1o)
Amastrid.cpp:       |                 ^~

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:refg++ -march=native -mtune=native -O -fwrapv -fPIC -fPIE -gdwarf-4 -Wall

Compiler output


Amastrid.cpp: Amastrid.cpp: In member function 'void Amastrid::Encrypt(unsigned int*)':
Amastrid.cpp: Amastrid.cpp:126:60: warning: 'pos2' may be used uninitialized in this function [-Wmaybe-uninitialized]
Amastrid.cpp:   126 |                     Amastrid::ShiftLeftRot(ar, _size, pos2 - pos1);
Amastrid.cpp:       |                                                       ~~~~~^~~~~~
Amastrid.cpp: Amastrid.cpp: In member function 'void Amastrid::Decrypt(unsigned int*)':
Amastrid.cpp: Amastrid.cpp:251:13: warning: 'pos1temp' may be used uninitialized in this function [-Wmaybe-uninitialized]
Amastrid.cpp:   251 |             if (pos1temp != pos2)
Amastrid.cpp:       |             ^~
Amastrid.cpp: Amastrid.cpp:289:18: warning: 'pos2o' may be used uninitialized in this function [-Wmaybe-uninitialized]
Amastrid.cpp:   289 |             else if (pos1 == pos2o)
Amastrid.cpp:       |                  ^~
Amastrid.cpp: Amastrid.cpp:291:17: warning: 'pos1o' may be used uninitialized in this function [-Wmaybe-uninitialized]
Amastrid.cpp:   291 |                 if (pos2 == pos1o)
Amastrid.cpp:       |                 ^~

Number of similar (implementation,compiler) pairs: 1, namely:
ImplementationCompiler
T:refg++ -march=native -mtune=native -Os -fwrapv -fPIC -fPIE -gdwarf-4 -Wall