Commit Graph

145 Commits

Author SHA1 Message Date
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
XMRig
e706936763 Reduce JIT memory for ARM. 2020-12-15 02:52:38 +07:00
SChernykh
b89d432b7d Fix alignment for Linux 2020-12-14 18:32:25 +01:00
SChernykh
e3dc83e383 Fix: secure JIT and huge pages are incompatible on Windows 2020-12-14 18:22:58 +01:00
XMRig
ef691ee323 Alternative secure JIT for macOS. 2020-12-12 21:32:36 +07:00
XMRig
25a9fb2ab4 Fixed secure JIT on Linux and code cleanup. 2020-12-12 19:18:47 +07:00
XMRig
df3831d6f6 Remove duplicated code. 2020-12-12 12:39:11 +07:00
XMRig
84443a4e8b Added generic secure JIT support for RandomX. 2020-12-11 23:17:54 +07:00
SChernykh
83d152f557 More static analysis fixes 2020-12-08 16:05:58 +01:00
SChernykh
d5f84a813d Fixed errors found by static analysis 2020-12-08 12:16:59 +01:00
XMRig
4569eea6f6 Move Profiler and more cleanup. 2020-12-04 09:23:40 +07:00
SChernykh
dfc4f40026 Optimized JIT compiler
More branch-free code
2020-11-29 14:05:50 +01:00
SChernykh
76c406ce63 Make single thread bench cheat-resistant
Each hash is dependent on the previous hash to make multi-threaded cheating impossible.
2020-11-15 20:38:27 +01:00
cohcho
f556a69e7f CompiledVm: define default constructor 2020-11-09 16:29:42 +00:00
SChernykh
21022fe226 Also fix RelWithDebIfno build in Visual Studio 2020-10-27 14:25:43 +01:00
SChernykh
d822ffef36 Fixed Debug build in Visual Studio 2020-10-27 14:08:36 +01:00
SChernykh
c370d54e74 Fix 32-bit compilation 2020-10-07 18:19:35 +02:00
xmrig
592a715d2f Merge pull request #1878 from SChernykh/dev
Fixed ARM compilation
2020-10-07 23:11:39 +07:00
SChernykh
7464c4df7c Fixed ARM compilation 2020-10-07 18:09:42 +02:00
xmrig
10e3b91c41 Merge pull request #1876 from SChernykh/dev
RandomX: added `huge-pages-jit` config parameter
2020-10-07 22:48:57 +07:00
SChernykh
1865d31d0c RandomX: added huge-pages-jit config parameter
Set to false by default, gives 0.2% boost on Ryzen 7 3700X with 16 threads, but hashrate might be unstable on Ryzen between launches. Use with caution.
2020-10-07 17:42:55 +02:00
cohcho
e2184317af RandomX: align args
tempHash/output must be 16-byte aligned for randomx_calculate_hash{,_first,_next}
2020-10-07 14:47:18 +00:00
xmrig
3f85d142d9 Merge pull request #1864 from cohcho/soft_aes_optimization2
soft_aes: fix previous optimization
2020-10-05 12:20:41 +07:00
cohcho
a5f4548b27 soft_aes: fix previous optimization
Previously removed unrolled variant is faster on some CPUs
Some CPUs are faster with added unrolled variant
The best variant depends on number of threads on some CPUs
2020-10-04 14:47:58 +00:00
SChernykh
d5dd4ce89f RandomX: removed rx/loki
Loki forks to PoS on October 9th.
2020-10-02 17:02:52 +02:00
XMRig
92835b608f Renamed WITH_SSE to WITH_SSE4_1 and make it work on all platforms. 2020-10-01 11:00:08 +07:00
SChernykh
d498274ca9 RandomX: optimized soft AES code
Unrolled loop was 5-10% slower depending on CPU.
2020-09-29 21:22:11 +02:00
xmrig
c0c0e61f5e Merge pull request #1858 from SChernykh/dev
RandomX: removed duplicate constants in Blake2b
2020-09-27 16:51:03 +07:00
SChernykh
fbb8e955aa RandomX: removed duplicate constatns in Blake2b 2020-09-27 11:50:08 +02:00
xmrig
a860d88378 Merge pull request #1857 from SChernykh/dev
RandomX: isolate SSE4.1 code to fix crashes on old CPUs
2020-09-27 16:47:56 +07:00
SChernykh
36592c2fe0 RandomX: isolate SSE4.1 code to fix crashes on old CPUs 2020-09-27 11:46:32 +02:00