From cce53cb582e3c99f3b6b92ec91ad4d7785cc50da Mon Sep 17 00:00:00 2001 From: tevador Date: Sun, 6 Oct 2019 22:10:02 +0200 Subject: [PATCH] use SSSE3 consistently as opposed to SSE3 --- CMakeLists.txt | 4 ++-- src/argon2.h | 2 +- src/{argon2_sse3.c => argon2_ssse3.c} | 10 +++++----- .../{blamka-round-sse3.h => blamka-round-ssse3.h} | 0 src/dataset.hpp | 4 ++-- src/randomx.h | 4 ++-- src/tests/benchmark.cpp | 12 ++++++------ src/tests/tests.cpp | 2 +- vcxproj/randomx.vcxproj | 4 ++-- vcxproj/randomx.vcxproj.filters | 8 ++++---- 10 files changed, 25 insertions(+), 25 deletions(-) rename src/{argon2_sse3.c => argon2_ssse3.c} (95%) rename src/blake2/{blamka-round-sse3.h => blamka-round-ssse3.h} (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1d4e827..e4e6d35 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -31,7 +31,7 @@ cmake_minimum_required(VERSION 2.8.7) set (randomx_sources src/aes_hash.cpp src/argon2_ref.c -src/argon2_sse3.c +src/argon2_ssse3.c src/argon2_avx2.c src/bytecode_machine.cpp src/dataset.cpp @@ -107,7 +107,7 @@ if (ARCH_ID STREQUAL "x86_64" OR ARCH_ID STREQUAL "x86-64" OR ARCH_ID STREQUAL " add_flag("-maes") check_c_compiler_flag(-mssse3 HAVE_SSSE3) if(HAVE_SSSE3) - set_source_files_properties(src/argon2_sse3.c COMPILE_FLAGS -mssse3) + set_source_files_properties(src/argon2_ssse3.c COMPILE_FLAGS -mssse3) endif() check_c_compiler_flag(-mavx2 HAVE_AVX2) if(HAVE_AVX2) diff --git a/src/argon2.h b/src/argon2.h index 1734641..9052f42 100644 --- a/src/argon2.h +++ b/src/argon2.h @@ -253,7 +253,7 @@ extern "C" { void randomx_argon2_fill_segment_ref(const argon2_instance_t* instance, argon2_position_t position); -randomx_argon2_impl *randomx_argon2_impl_sse3(); +randomx_argon2_impl *randomx_argon2_impl_ssse3(); randomx_argon2_impl *randomx_argon2_impl_avx2(); #if defined(__cplusplus) diff --git a/src/argon2_sse3.c b/src/argon2_ssse3.c similarity index 95% rename from src/argon2_sse3.c rename to src/argon2_ssse3.c index 5a980ef..778edd7 100644 --- a/src/argon2_sse3.c +++ b/src/argon2_ssse3.c @@ -42,12 +42,12 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #define __SSSE3__ #endif -void randomx_argon2_fill_segment_sse3(const argon2_instance_t* instance, +void randomx_argon2_fill_segment_ssse3(const argon2_instance_t* instance, argon2_position_t position); -randomx_argon2_impl* randomx_argon2_impl_sse3() { +randomx_argon2_impl* randomx_argon2_impl_ssse3() { #if defined(__SSSE3__) - return &randomx_argon2_fill_segment_sse3; + return &randomx_argon2_fill_segment_ssse3; #endif return NULL; } @@ -58,7 +58,7 @@ randomx_argon2_impl* randomx_argon2_impl_sse3() { #include "argon2_core.h" -#include "blake2/blamka-round-sse3.h" +#include "blake2/blamka-round-ssse3.h" #include "blake2/blake2-impl.h" #include "blake2/blake2.h" @@ -100,7 +100,7 @@ static void fill_block(__m128i* state, const block* ref_block, } } -void randomx_argon2_fill_segment_sse3(const argon2_instance_t* instance, +void randomx_argon2_fill_segment_ssse3(const argon2_instance_t* instance, argon2_position_t position) { block* ref_block = NULL, * curr_block = NULL; block address_block, input_block; diff --git a/src/blake2/blamka-round-sse3.h b/src/blake2/blamka-round-ssse3.h similarity index 100% rename from src/blake2/blamka-round-sse3.h rename to src/blake2/blamka-round-ssse3.h diff --git a/src/dataset.hpp b/src/dataset.hpp index 5a0ea4d..16a6a84 100644 --- a/src/dataset.hpp +++ b/src/dataset.hpp @@ -87,8 +87,8 @@ namespace randomx { return &randomx_argon2_fill_segment_ref; } randomx_argon2_impl* impl = nullptr; - if ((flags & RANDOMX_FLAG_ARGON2) == RANDOMX_FLAG_ARGON2_SSE3) { - impl = randomx_argon2_impl_sse3(); + if ((flags & RANDOMX_FLAG_ARGON2) == RANDOMX_FLAG_ARGON2_SSSE3) { + impl = randomx_argon2_impl_ssse3(); } if ((flags & RANDOMX_FLAG_ARGON2) == RANDOMX_FLAG_ARGON2_AVX2) { impl = randomx_argon2_impl_avx2(); diff --git a/src/randomx.h b/src/randomx.h index 1fe3266..babebe1 100644 --- a/src/randomx.h +++ b/src/randomx.h @@ -45,7 +45,7 @@ typedef enum { RANDOMX_FLAG_FULL_MEM = 4, RANDOMX_FLAG_JIT = 8, RANDOMX_FLAG_SECURE = 16, - RANDOMX_FLAG_ARGON2_SSE3 = 32, + RANDOMX_FLAG_ARGON2_SSSE3 = 32, RANDOMX_FLAG_ARGON2_AVX2 = 64, RANDOMX_FLAG_ARGON2 = 96 } randomx_flags; @@ -66,7 +66,7 @@ extern "C" { * RANDOMX_FLAG_JIT - create cache structure with JIT compilation support; this makes * subsequent Dataset initialization faster * Optionally, one of these two flags may be selected: - * RANDOMX_FLAG_ARGON2_SSE3 - optimized Argon2 for CPUs with the SSSE3 instruction set + * RANDOMX_FLAG_ARGON2_SSSE3 - optimized Argon2 for CPUs with the SSSE3 instruction set * makes subsequent cache initialization faster * RANDOMX_FLAG_ARGON2_AVX2 - optimized Argon2 for CPUs with the AVX2 instruction set * makes subsequent cache initialization faster diff --git a/src/tests/benchmark.cpp b/src/tests/benchmark.cpp index 081f70b..936d80b 100644 --- a/src/tests/benchmark.cpp +++ b/src/tests/benchmark.cpp @@ -91,7 +91,7 @@ void printUsage(const char* executable) { std::cout << " --init Q initialize dataset with Q threads (default: 1)" << std::endl; std::cout << " --nonces N run N nonces (default: 1000)" << std::endl; std::cout << " --seed S seed for cache initialization (default: 0)" << std::endl; - std::cout << " --sse3 use optimized Argon2 for SSSE3 CPUs" << std::endl; + std::cout << " --ssse3 use optimized Argon2 for SSSE3 CPUs" << std::endl; std::cout << " --avx2 use optimized Argon2 for AVX2 CPUs" << std::endl; } @@ -130,7 +130,7 @@ void mine(randomx_vm* vm, std::atomic& atomicNonce, AtomicHash& result } int main(int argc, char** argv) { - bool softAes, miningMode, verificationMode, help, largePages, jit, secure, sse3, avx2; + bool softAes, miningMode, verificationMode, help, largePages, jit, secure, ssse3, avx2; int noncesCount, threadCount, initThreadCount; uint64_t threadAffinity; int32_t seedValue; @@ -151,7 +151,7 @@ int main(int argc, char** argv) { readOption("--jit", argc, argv, jit); readOption("--help", argc, argv, help); readOption("--secure", argc, argv, secure); - readOption("--sse3", argc, argv, sse3); + readOption("--ssse3", argc, argv, ssse3); readOption("--avx2", argc, argv, avx2); store32(&seed, seedValue); @@ -171,9 +171,9 @@ int main(int argc, char** argv) { randomx_cache* cache; randomx_flags flags = RANDOMX_FLAG_DEFAULT; - if (sse3) { - flags = (randomx_flags)(flags | RANDOMX_FLAG_ARGON2_SSE3); - std::cout << " - Argon2 implementation: SSE3" << std::endl; + if (ssse3) { + flags = (randomx_flags)(flags | RANDOMX_FLAG_ARGON2_SSSE3); + std::cout << " - Argon2 implementation: SSSE3" << std::endl; } if (avx2) { diff --git a/src/tests/tests.cpp b/src/tests/tests.cpp index 3b210a5..2773a88 100644 --- a/src/tests/tests.cpp +++ b/src/tests/tests.cpp @@ -1018,7 +1018,7 @@ int main() { vm = nullptr; randomx_release_cache(cache); - cache = randomx_alloc_cache(RANDOMX_FLAG_ARGON2_SSE3); + cache = randomx_alloc_cache(RANDOMX_FLAG_ARGON2_SSSE3); runTest("Cache initialization: SSSE3", cache != nullptr && RANDOMX_ARGON_ITERATIONS == 3 && RANDOMX_ARGON_LANES == 1 && RANDOMX_ARGON_MEMORY == 262144 && stringsEqual(RANDOMX_ARGON_SALT, "RandomX\x03"), []() { initCache("test key 000"); diff --git a/vcxproj/randomx.vcxproj b/vcxproj/randomx.vcxproj index a0287b0..efd40b0 100644 --- a/vcxproj/randomx.vcxproj +++ b/vcxproj/randomx.vcxproj @@ -135,7 +135,7 @@ SET ERRORLEVEL = 0 - + @@ -168,7 +168,7 @@ SET ERRORLEVEL = 0 - + diff --git a/vcxproj/randomx.vcxproj.filters b/vcxproj/randomx.vcxproj.filters index 56ea326..5385ddf 100644 --- a/vcxproj/randomx.vcxproj.filters +++ b/vcxproj/randomx.vcxproj.filters @@ -81,10 +81,10 @@ Source Files - + Source Files - + Source Files @@ -191,10 +191,10 @@ Header Files - + Header Files - + Header Files