Implementation notes: amd64, speed2supercop, crypto_hash/triadhashv1

Computer: speed2supercop
Microarchitecture: amd64; Haswell+AES (306c3)
Architecture: amd64
CPU ID: GenuineIntel-000306c3-1fc9cbf5
SUPERCOP version: 20240625
Operation: crypto_hash
Primitive: triadhashv1
TimeObject sizeTest sizeImplementationCompilerBenchmark dateSUPERCOP version
1262362093 8 11212418 776 944T:add_sseg++_-march=native_-mtune=native_-O2_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
1264722093 8 11214418 776 944T:add_sseg++_-march=native_-mtune=native_-O3_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
1267241758 0 015849 824 744T:add_sseclang++_-march=native_-O3_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
1267321758 0 015657 824 744T:add_sseclang++_-march=native_-O2_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
1267521758 0 011801 824 728T:add_sseclang++_-march=native_-O_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
1275841752 0 012650 816 792T:add_sseclang++_-march=native_-Os_-fwrapv_-Qunused-arguments_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
1557322114 8 11212185 768 944T:add_sseg++_-march=native_-mtune=native_-O_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625
1597201219 8 11210293 752 912T:add_sseg++_-march=native_-mtune=native_-Os_-fwrapv_-fPIC_-fPIE_-gdwarf-4_-Wall2024070320240625

Test failure


error 111
crypto_hash does not handle m=h overlap

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

Compiler output


simd.cpp: simd.cpp:150:19: warning: unused variable 'c_padding' [-Wunused-variable]
simd.cpp:     unsigned char c_padding[16] = { 0x80U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U };
simd.cpp:                   ^
simd.cpp: simd.cpp:22:13: warning: unused function 'disp' [-Wunused-function]
simd.cpp: static void disp(__m128i in)
simd.cpp:             ^
simd.cpp: simd.cpp:41:13: warning: unused function 'dispReg' [-Wunused-function]
simd.cpp: static void dispReg(__m128i in)
simd.cpp:             ^
simd.cpp: 3 warnings generated.

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

Compiler output


simd.cpp: simd.cpp: In function 'void triad_high_speed_hash(const unsigned char*, long long unsigned int, unsigned char*)':
simd.cpp: simd.cpp:150:19: warning: unused variable 'c_padding' [-Wunused-variable]
simd.cpp:   150 |     unsigned char c_padding[16] = { 0x80U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U };
simd.cpp:       |                   ^~~~~~~~~
simd.cpp: simd.cpp: At global scope:
simd.cpp: simd.cpp:41:13: warning: 'void dispReg(__m128i)' defined but not used [-Wunused-function]
simd.cpp:    41 | static void dispReg(__m128i in)
simd.cpp:       |             ^~~~~~~
simd.cpp: simd.cpp:22:13: warning: 'void disp(__m128i)' defined but not used [-Wunused-function]
simd.cpp:    22 | static void disp(__m128i in)
simd.cpp:       |             ^~~~

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