mirror of
https://github.com/xmrig/xmrig.git
synced 2025-01-26 20:46:20 +00:00
Merge branch 'dev'
This commit is contained in:
commit
5f869a414c
5 changed files with 24 additions and 16 deletions
|
@ -1,3 +1,6 @@
|
||||||
|
# v6.12.1
|
||||||
|
- [#2296](https://github.com/xmrig/xmrig/pull/2296) Fixed Zen3 assembly code for `cn/upx2` algorithm.
|
||||||
|
|
||||||
# v6.12.0
|
# v6.12.0
|
||||||
- [#2276](https://github.com/xmrig/xmrig/pull/2276) Added support for Uplexa (`cn/upx2` algorithm).
|
- [#2276](https://github.com/xmrig/xmrig/pull/2276) Added support for Uplexa (`cn/upx2` algorithm).
|
||||||
- [#2261](https://github.com/xmrig/xmrig/pull/2261) Show total hashrate if compiled without OpenCL.
|
- [#2261](https://github.com/xmrig/xmrig/pull/2261) Show total hashrate if compiled without OpenCL.
|
||||||
|
|
|
@ -377,12 +377,15 @@ static inline void cn_explode_scratchpad(const __m128i *input, __m128i *output)
|
||||||
_mm_store_si128(output + 1, xin1);
|
_mm_store_si128(output + 1, xin1);
|
||||||
_mm_store_si128(output + 2, xin2);
|
_mm_store_si128(output + 2, xin2);
|
||||||
_mm_store_si128(output + 3, xin3);
|
_mm_store_si128(output + 3, xin3);
|
||||||
output += (64 << interleave) / sizeof(__m128i);
|
|
||||||
_mm_store_si128(output + 0, xin4);
|
constexpr int output_increment = (64 << interleave) / sizeof(__m128i);
|
||||||
_mm_store_si128(output + 1, xin5);
|
|
||||||
_mm_store_si128(output + 2, xin6);
|
_mm_store_si128(output + output_increment + 0, xin4);
|
||||||
_mm_store_si128(output + 3, xin7);
|
_mm_store_si128(output + output_increment + 1, xin5);
|
||||||
output += (64 << interleave) / sizeof(__m128i);
|
_mm_store_si128(output + output_increment + 2, xin6);
|
||||||
|
_mm_store_si128(output + output_increment + 3, xin7);
|
||||||
|
|
||||||
|
output += output_increment * 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -414,13 +417,15 @@ static inline void cn_implode_scratchpad(const __m128i *input, __m128i *output)
|
||||||
xout1 = _mm_xor_si128(_mm_load_si128(input + 1), xout1);
|
xout1 = _mm_xor_si128(_mm_load_si128(input + 1), xout1);
|
||||||
xout2 = _mm_xor_si128(_mm_load_si128(input + 2), xout2);
|
xout2 = _mm_xor_si128(_mm_load_si128(input + 2), xout2);
|
||||||
xout3 = _mm_xor_si128(_mm_load_si128(input + 3), xout3);
|
xout3 = _mm_xor_si128(_mm_load_si128(input + 3), xout3);
|
||||||
input += (64 << interleave) / sizeof(__m128i);
|
|
||||||
xout4 = _mm_xor_si128(_mm_load_si128(input + 0), xout4);
|
|
||||||
xout5 = _mm_xor_si128(_mm_load_si128(input + 1), xout5);
|
|
||||||
xout6 = _mm_xor_si128(_mm_load_si128(input + 2), xout6);
|
|
||||||
xout7 = _mm_xor_si128(_mm_load_si128(input + 3), xout7);
|
|
||||||
input += (64 << interleave) / sizeof(__m128i);
|
|
||||||
|
|
||||||
|
constexpr int input_increment = (64 << interleave) / sizeof(__m128i);
|
||||||
|
|
||||||
|
xout4 = _mm_xor_si128(_mm_load_si128(input + input_increment + 0), xout4);
|
||||||
|
xout5 = _mm_xor_si128(_mm_load_si128(input + input_increment + 1), xout5);
|
||||||
|
xout6 = _mm_xor_si128(_mm_load_si128(input + input_increment + 2), xout6);
|
||||||
|
xout7 = _mm_xor_si128(_mm_load_si128(input + input_increment + 3), xout7);
|
||||||
|
|
||||||
|
input += input_increment * 2;
|
||||||
i += 8;
|
i += 8;
|
||||||
|
|
||||||
if ((interleave > 0) && (i < props.memory() / sizeof(__m128i))) {
|
if ((interleave > 0) && (i < props.memory() / sizeof(__m128i))) {
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
movdqa XMMWORD PTR [rsp+32], xmm0
|
movdqa XMMWORD PTR [rsp+32], xmm0
|
||||||
|
|
||||||
stmxcsr DWORD PTR [rsp+24]
|
stmxcsr DWORD PTR [rsp+24]
|
||||||
mov DWORD PTR [rsp+28], 24448
|
mov DWORD PTR [rsp+28], 16256
|
||||||
ldmxcsr DWORD PTR [rsp+28]
|
ldmxcsr DWORD PTR [rsp+28]
|
||||||
|
|
||||||
mov rcx, QWORD PTR [rbx+56]
|
mov rcx, QWORD PTR [rbx+56]
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
movdqa XMMWORD PTR [rsp+32], xmm0
|
movdqa XMMWORD PTR [rsp+32], xmm0
|
||||||
|
|
||||||
stmxcsr DWORD PTR [rsp+24]
|
stmxcsr DWORD PTR [rsp+24]
|
||||||
mov DWORD PTR [rsp+28], 24448
|
mov DWORD PTR [rsp+28], 16256
|
||||||
ldmxcsr DWORD PTR [rsp+28]
|
ldmxcsr DWORD PTR [rsp+28]
|
||||||
|
|
||||||
mov rcx, QWORD PTR [rbx+56]
|
mov rcx, QWORD PTR [rbx+56]
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
#define APP_ID "xmrig"
|
#define APP_ID "xmrig"
|
||||||
#define APP_NAME "XMRig"
|
#define APP_NAME "XMRig"
|
||||||
#define APP_DESC "XMRig miner"
|
#define APP_DESC "XMRig miner"
|
||||||
#define APP_VERSION "6.12.0"
|
#define APP_VERSION "6.12.1-dev"
|
||||||
#define APP_DOMAIN "xmrig.com"
|
#define APP_DOMAIN "xmrig.com"
|
||||||
#define APP_SITE "www.xmrig.com"
|
#define APP_SITE "www.xmrig.com"
|
||||||
#define APP_COPYRIGHT "Copyright (C) 2016-2021 xmrig.com"
|
#define APP_COPYRIGHT "Copyright (C) 2016-2021 xmrig.com"
|
||||||
|
@ -36,7 +36,7 @@
|
||||||
|
|
||||||
#define APP_VER_MAJOR 6
|
#define APP_VER_MAJOR 6
|
||||||
#define APP_VER_MINOR 12
|
#define APP_VER_MINOR 12
|
||||||
#define APP_VER_PATCH 0
|
#define APP_VER_PATCH 1
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
# if (_MSC_VER >= 1920)
|
# if (_MSC_VER >= 1920)
|
||||||
|
|
Loading…
Reference in a new issue