You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When building with LIBKECCAK_ARCH=x86_64 and LIBKECCAK_SIMD=SSE2 the parallel hashes (ParallelHash, KangarooTwelve, etc) produce incorrect output. The known answer tests fail with the following output:
This sets up CI using GitHub Actions to perform the following checks for each supported arch/SIMD combination:
* Build libkeccak.
* Build and run the benchmark program.
* Build and run the known answer tests (with contracts and runtime checks enabled)
* Build and run the unit tests (with contracts and runtime checks enabled)
Proofs are configured to only run manually and on release creation since they take a very long time to run
in CI (about 1h 20m). The intent is to allow the choice between running them manually in CI or pulling a
branch and running them locally (on a much more powerful machine) when reviewing pull requests.
This also fixes two issues found by CI to ensure a clean CI build:
* Fixed incorrect definition of `Keccak.Parallel_Keccak_1600.KeccakF_1600_P2` (fixes#19).
* Fixed some style and compile check issues in the test suite.
When building with
LIBKECCAK_ARCH=x86_64
andLIBKECCAK_SIMD=SSE2
the parallel hashes (ParallelHash, KangarooTwelve, etc) produce incorrect output. The known answer tests fail with the following output:The problem is only present when using SSE2; it is not present when building with
LIBKECCAK_SIMD=AVX2
orLIBKECCAK_SIMD=none
.The problem is due to an incorrect definition of
KeccakF_1600_P2
insrc/x86_64/SSE2/keccak-parallel_keccak_1600.ads
where it is defined as follows:The
Rotate_Left
generic parameter is incorrectly set toArch.SSE2.V2DI_Vectors.Shift_Left
instead ofArch.SSE2.V2DI_Vectors.Rotate_Left
.The text was updated successfully, but these errors were encountered: