Commit Graph

39 Commits

Author SHA1 Message Date
SChernykh
4b0f3fab83 RandomX fixes
Intel JCC erratum fix and various other improvements, see more here: https://www.phoronix.com/scan.php?page=article&item=intel-jcc-microcode&num=1
2019-12-01 08:46:35 +01:00
SChernykh
6e96a38a87 Use XMRIG_ARMv8 macro 2019-11-15 16:12:26 +01:00
SChernykh
d13c77ddb9 Fix for 32-bit ARM compilation 2019-11-15 16:00:48 +01:00
SChernykh
74d6a35f1a Fix function names for clang on Apple 2019-11-12 14:42:21 +01:00
SChernykh
e8c1a8bdd0 Prefer sys_icache_invalidate on iOS
Also break compilation with error if clear cache is not available
2019-10-18 18:17:57 +02:00
SChernykh
c4ce4baa69 Fixed __builtin___clear_cache detection 2019-10-18 18:04:13 +02:00
SChernykh
c67f2c2f51 Update jit_compiler_a64.cpp 2019-10-18 16:36:50 +02:00
SChernykh
c31f2bb92b Update jit_compiler_a64.cpp 2019-10-18 16:32:01 +02:00
SChernykh
5af02671ee Update jit_compiler_a64.cpp 2019-10-18 16:28:49 +02:00
SChernykh
ab1175a1a7 Fixed code cache cleanup on iOS/Darwin 2019-10-18 16:26:15 +02:00
XMRig
2d7c99cc47 Fix copy/paste typo. 2019-10-18 21:26:15 +07:00
SChernykh
0640950d44 Fix ARM64 code alignemtn 2019-10-18 16:18:45 +02:00
XMRig
84e0b5d0ca #1246 Fixed build on iOS. 2019-10-18 12:02:10 +07:00
SChernykh
e7f137bd23 Sync with latest RandomX code
Fix a possible out-of-bounds access in superscalar generator
2019-10-13 22:13:29 +02:00
SChernykh
e766e11dfa RandomX (Arqma variant) support 2019-10-08 19:00:19 +02:00
SChernykh
9314205de2 Refactored JIT compiler for x86, small RandomX speedup 2019-10-05 21:40:21 +02:00
SChernykh
1b33b073f3 Set scratchpad pointer to null by default
To avoid freeing random blocks of memory in some cases.
2019-09-24 08:53:00 +02:00
SChernykh
d346994fbd Workaround for a bug in binutils-2.32-1 on ARM
ldr/madd instruction sequence makes compiled binary crash, so separate them.
2019-09-23 23:12:40 +02:00
XMRig
7303be4c46 Revert instructions_portable.cpp to avoid warning on gcc compilers. 2019-09-22 00:59:53 +07:00
SChernykh
46ef04a4cf Added JIT compiler for RandomX on ARMv8 2019-09-21 10:10:52 +02:00
XMRig
a3e66e94cf Fix compile warning, mostly struct/class inconsistency. 2019-09-13 18:21:05 +07:00
SChernykh
5fffeed646 RandomX: optimized loading from scratchpad
Prefetches scratchpad data as soon as possible to calculate data address for the next load.

Up to ~1.4% speedup on Ryzen 7 3700X @ 4.1 GHz, RAM 3200 MHz 14-14-14-28 with optimized sub-timings:
Variant|Before H/S|After H/S
-------|----------|---------
rx/0|8663|8777
rx/wow|9867|10009
rx/loki|8652|8731
2019-09-11 19:10:01 +02:00
SChernykh
e2e4fe5f8c Optimized CFROUND
One less micro-op
2019-09-04 20:47:47 +02:00
SChernykh
fffe3c2e10 RandomX optimizations
- Optimized soft AES code, up to +30% hashrate on CPU without AES support
- Added prefetch for the first dataset access, up to +0.1% hashrate
2019-09-04 19:24:12 +02:00
Matt Smith
8f4aa6871a Fix linker marking entire executable as executable stack
See: https://wiki.ubuntu.com/SecurityTeam/Roadmap/ExecutableStacks
See: https://wiki.gentoo.org/wiki/Hardened/GNU_stack_quickstart
2019-08-29 14:12:43 +01:00
SChernykh
ab5d1a6cc9 Reverted intrin_portable.h 2019-08-28 07:20:01 +02:00
SChernykh
d8f78c1d19 Optimized RandomX JIT compiler
Hashrate improved by 0.5-1.5% depending on RandomX version and CPU.
2019-08-27 20:18:56 +02:00
SChernykh
fc670b2a58 Updated RandomX 2019-08-27 16:12:13 +02:00
XMRig
3660216ebc Fix prefix. 2019-08-16 04:16:29 +07:00
XMRig
54994d361b Resolved conflict between argon2 implementations. 2019-08-16 03:18:35 +07:00
XMRig
39af21b825 Unified memory allocation functions. 2019-08-02 14:44:38 +07:00
SChernykh
2fb3b8b376 Fix Mac OS X compilation
Thanks to @cjdelisle
2019-07-31 10:01:32 +02:00
XMRig
caf0b61155 Merge branch 'evo' into beta 2019-07-29 08:50:47 +07:00
XMRig
4d4ad040d7 Cleanup. 2019-07-28 08:06:50 +07:00
SChernykh
8a896c97e5 Correct buffer size for fillAes4Rx4
More bytes than needed were filled.
2019-07-25 16:38:33 +02:00
XMRig
402e497813 Fixed warnings. 2019-07-17 05:33:13 +07:00
XMRig
c8736cac5e Implemented unified cryptonight and RandomX scratchpad memory. 2019-07-17 04:33:11 +07:00
SChernykh
d53ca8714e Fixed MingGW compilation 2019-07-01 20:48:51 +02:00
SChernykh
7d10b6b71f Integrated RandomX, added RandomXL (Loki) 2019-07-01 20:11:51 +02:00