Implementation notes: amd64, saber214, crypto_stream/amastrid

Computer: saber214
Microarchitecture: amd64; Bulldozer (600f20)
Architecture: amd64
CPU ID: AuthenticAMD-00600f20-1789c3f5
SUPERCOP version: 20240625
Operation: crypto_stream
Primitive: amastrid
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
9115823024 24 246243042 1648 3368T:refg++_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
9509819359 24 246237877 1648 3368T:refg++_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
10508619256 24 246237416 1640 3368T:refg++_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625
12621212218 24 246228129 1080 3336T:refg++_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024062720240625

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: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: 1, namely:
ImplementationCompiler
T:refg++ -march=native -mtune=native -O2 -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: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:259:61: warning: 'pos1temp' may be used uninitialized in this function [-Wmaybe-uninitialized]
Amastrid.cpp:   259 |                     Amastrid::ShiftRightRot(ar, _size, pos2 - pos1temp);
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 -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 (11.4.0)

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 (11.4.0)