Commit Graph

175 Commits

Author SHA1 Message Date
SChernykh
5282affd02 RandomX: tweaks for Zen5 2024-08-19 21:01:49 +02:00
SChernykh
a619789780 Added Zen5 detection
Preliminary Zen5 support, MSR mod is not ready yet.
2024-08-03 11:01:18 +02:00
SChernykh
47d97431bf Fixed ARMv8 compilation 2024-08-02 17:51:08 +02:00
Matthew Vogel
594837e33e finish updating for yadacoin 2024-08-01 00:01:09 -07:00
Matthew Vogel
f99c79d24a update constants for yadacoin 2024-07-31 23:45:34 -07:00
SChernykh
8d7e772f70 Removed rx/keva
Keva coin is too small now.
2024-07-31 08:28:05 +02:00
SChernykh
be8161f9fa RandomX: correct memcpy size for JIT initialization
No buffer overflow, better fix for `_FORTIFY_SOURCE`
2024-04-14 09:13:00 +02:00
SChernykh
e50c950191 RandomX: check pointer sizes during JIT initialization 2024-04-13 20:32:16 +02:00
SChernykh
5695645daf Fix RandomX crash when compiled with fortify_source 2024-03-20 21:24:02 +01:00
SChernykh
68a90f7dfc ARM64 JIT: don't use x18 register
From https://developer.apple.com/documentation/xcode/writing-arm64-code-for-apple-platforms
> The platforms reserve register x18. Don’t use this register.

This PR fixes invalid hashes when running on Apple silicon with the latest macOS SDK.
2023-10-19 17:45:15 +02:00
SChernykh
148b2a1c0d RandomX: fixed undefined behavior
Using an inactive member of a `union` is an undefined behavior in C++
2023-05-23 14:40:12 +02:00
SChernykh
5d0bf95011 RandomX: optimized program generation 2023-05-21 17:44:20 +02:00
SChernykh
5e680fa82a RandomX: added MSR mod for Zen 4
+0.8% faster on Ryzen 9 7950X
2022-10-01 18:33:04 +02:00
SChernykh
029bc5926a RandomX: optimized CFROUND elimination more 2022-09-16 14:11:27 +02:00
SChernykh
5c39146ebe RandomX: optimized CFROUND elimination 2022-09-15 19:57:34 +02:00
SChernykh
f329375360 RandomX: added Blake2 AVX2 version
+0.1% speedup on AMD Zen2/Zen3 and Intel CPUs which support AVX2.
2022-08-25 20:39:54 +02:00
SChernykh
d05587cb84 Fixed GCC 12 warnings 2022-07-03 11:51:46 +02:00
SChernykh
ca7387b4f3 Fixed unaligned memory read in DMI 2022-05-19 20:56:19 +02:00
SChernykh
630f2a3a83 Compilationn fixes 2021-12-02 13:34:24 +01:00
SChernykh
9e325b1050 Refactored Chrono::highResolutionMSecs()
Improved precision
2021-11-30 08:11:09 +01:00
Tony Butler
12a79ca6b7 Slash and burn EOL whitespace everywhere 2021-11-27 17:59:40 -07:00
Tony Butler
cd7d380b3f Fix various memory leaks 2021-10-25 04:06:49 -06:00
Tony Butler
0e25666db9 Fixup RandomX naming consistency 2021-09-16 08:24:37 -06:00
XMRig
064c04e581 Increase RANDOMX_PROGRAM_MAX_SIZE 2021-08-28 12:32:57 +07:00
XMRig
871f616d72 Merge branch 'GraftRandomX' of https://github.com/Stardock2018/xmrig into pr2563 2021-08-28 11:50:17 +07:00
Chris
28c81ed18e Added Graft RandonX 2021-08-27 08:19:54 -06:00
XMRig
82a21cb562 Cleanup ARM code. 2021-08-27 12:36:08 +07:00
SChernykh
e186f85d1c RandomX: fix broken light mode mining
It broke after #2395
2021-05-22 13:49:22 +02:00
SChernykh
4fbff43988 RandomX ARMv8: optimized dataset read
Break dependency from readReg2 and readReg3. It should run faster on superscalar and out-of-order CPUs i.e. Apple M1.
2021-05-20 21:24:28 +02:00
SChernykh
5898413858 RandomX: rewrote dataset read code
Unified code for AMD and Intel
1% faster on Intel
0.15% faster on AMD Ryzen
2021-05-20 12:45:42 +02:00
SChernykh
5bd0c4be25 RandomX: added BMI2 version for scratchpad prefetch
Saves 1 instruction and 1 byte in the main loop.
2021-05-19 17:52:16 +02:00
SChernykh
ac1e88882c Enabled IMUL_RCP optimization for light mode mining
Better fix for #2377
2021-05-17 11:26:40 +02:00
SChernykh
3c9bb68880 Fixed broken light mode mining on x86 2021-05-15 21:41:39 +02:00
SChernykh
dcbd0bf8c4 RandomX: optimized IMUL_RCP instruction
+0.4% on AMD Zen2
+0.3% on AMD Zen3
+0.1% on Intel SandyBridge
+0.3% on rx/wow on Intel SandyBridge
2021-04-19 17:43:58 +02:00
SChernykh
0b8f89890c Fixed compilation for ARM 2021-04-03 17:50:52 +02:00
SChernykh
2ef064da60 Don't use RandomX JIT if WITH_ASM=OFF
Because RandomX JIT use asm code
2021-04-02 10:05:46 +02:00
SChernykh
771fb40eca Update jit_compiler_a64.cpp 2021-02-01 22:52:02 +01:00
SChernykh
e92767eed5 ARM JIT: added missing cache flush 2021-02-01 22:42:35 +01:00
SChernykh
826e540f15 Fixed code allocation for ARM 2021-02-01 22:36:11 +01:00
SChernykh
e3828a13f9 Fixed crashes on ARM 2021-02-01 17:07:45 +01:00
xmrig
0da777bfe3 Merge pull request #2058 from SChernykh/dev
RandomX JIT x86: remove unnecessary instructions
2021-01-24 13:59:56 +07:00
SChernykh
787aad0d62 RandomX JIT x86: remove unnecessary instructions
Adopted from https://github.com/tevador/RandomX/pull/201
2021-01-23 22:28:50 +01:00
XMRig
8a64a827f7 Move Ryzen related fixes to RxFix class. 2021-01-23 00:27:56 +07:00
XMRig
647af97d75 #2043 Fix compile warning. 2021-01-17 17:48:35 +07:00
SChernykh
fac3902ae1 RandomX x86 JIT: remove redundant CFROUND 2021-01-07 16:20:00 +01:00
SChernykh
90760db1c9 Fix GCC warning 2020-12-19 19:50:52 +01:00
SChernykh
7d92d57059 Another dataset AVX2 init speedup (+3.8% faster on Zen3) 2020-12-19 19:46:31 +01:00
SChernykh
0319b5b622 Added config option for AVX2 dataset init
-1 = Auto detect
0 = Always disabled
1 = Enabled if AVX2 is supported
2020-12-19 16:18:49 +01:00
SChernykh
eae3a62345 Auto-detect the fastest code for dataset init 2020-12-19 13:59:28 +01:00
SChernykh
aaf1ed1c99 Dataset initialization with AVX2 (WIP) 2020-12-18 14:53:54 +01:00