SChernykh
cd763be05b
Fix compile error
2020-01-24 14:09:07 +01:00
SChernykh
42a7194e93
Fix crash on Linux
2020-01-24 13:34:12 +01:00
SChernykh
9f1753cc4f
Optimized CFROUND
2020-01-22 20:11:00 +01:00
SChernykh
d342968211
Added support for BMI2 instructions
2020-01-21 19:44:56 +01:00
SChernykh
f80177cbd3
Optimizations for AMD Bulldozer
...
- Added support for XOP instructions
- Enabled Ryzen code for Bulldozer because it's faster there too
2020-01-15 13:04:26 +01:00
SChernykh
73722ce186
JIT compiler: removed unnecessary memcpy from generateProgram()
2020-01-13 18:00:41 +01:00
SChernykh
eb20dfbc94
JIT compiler tweaks
2020-01-06 13:57:48 +01:00
SChernykh
c9f90e6770
Refactor Ryzen fix to fix compilation issues
2019-12-31 11:55:07 +02:00
XMRig
ac4086b273
Fix build.
2019-12-28 02:00:08 +07:00
SChernykh
3a2941b719
Fix for 1st-gen Ryzen crashes
2019-12-27 12:40:38 +02:00
XMRig
dbb721cb5e
Removed "rx/v" algorithm.
2019-12-26 22:34:19 +07:00
XMRig
22eca8e0d5
Fixed memory allocation checks.
2019-12-25 04:39:21 +07:00
Tony Butler
45412a2ace
Add MoneroV (rx/v) algorithm [based on MoneroOcean/master]
2019-12-18 16:17:22 -07:00
SChernykh
c01c035269
Fixed crash with GCC compiler
2019-12-18 17:32:57 +01:00
SChernykh
f85aba5d21
Fixed AVX detection
2019-12-18 12:20:21 +01:00
SChernykh
f8bf8fddd9
Update jit_compiler_x86_static.S
2019-12-18 09:13:21 +01:00
SChernykh
7459677fd5
Add vzeroupper for processors with AVX
...
To avoid false dependencies on upper 128 bits of YMM registers.
2019-12-18 09:12:25 +01:00
SChernykh
4da37baf8c
RandomSFX (Safex Cash variant) support
2019-12-16 19:36:29 +01:00
SChernykh
ef522f6404
Update jit_compiler_x86_static.S
2019-12-09 20:30:37 +01:00
SChernykh
763691fa4b
More optimizations for Ryzen
2019-12-09 20:29:05 +01:00
XMRig
d32df84ca5
Memory allocation refactoring.
2019-12-08 23:17:39 +07:00
SChernykh
028b335bac
Fix GCC compilation
2019-12-08 16:51:37 +01:00
SChernykh
ffec421408
Fixed indentation
2019-12-08 16:20:46 +01:00
SChernykh
d0df824599
Optimized dataset read for Ryzen CPUs
...
Removed register dependency in dataset read, +0.8% speedup on average.
2019-12-08 16:14:02 +01:00
SChernykh
1fbbae1e4a
Added 1GB hugepages support for Linux
2019-12-05 19:39:47 +01:00
SChernykh
84d7eb05f3
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
e3f726796b
Use XMRIG_ARMv8 macro
2019-11-15 16:12:26 +01:00
SChernykh
3953568a0e
Fix for 32-bit ARM compilation
2019-11-15 16:00:48 +01:00
SChernykh
472ec1a0e6
Fix function names for clang on Apple
2019-11-12 14:42:21 +01:00
SChernykh
578bebb04d
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
5611249af7
Fixed __builtin___clear_cache detection
2019-10-18 18:04:13 +02:00
SChernykh
0ad992985c
Update jit_compiler_a64.cpp
2019-10-18 16:36:50 +02:00
SChernykh
1a66c3f1a1
Update jit_compiler_a64.cpp
2019-10-18 16:32:01 +02:00
SChernykh
a2ef2fd9d9
Update jit_compiler_a64.cpp
2019-10-18 16:28:49 +02:00
SChernykh
998c55030a
Fixed code cache cleanup on iOS/Darwin
2019-10-18 16:26:15 +02:00
XMRig
5c02cb50da
Fix copy/paste typo.
2019-10-18 21:26:15 +07:00
SChernykh
432addab33
Fix ARM64 code alignemtn
2019-10-18 16:18:45 +02:00
XMRig
10d292092a
#1246 Fixed build on iOS.
2019-10-18 12:02:10 +07:00
SChernykh
c9798ba2e9
Sync with latest RandomX code
...
Fix a possible out-of-bounds access in superscalar generator
2019-10-13 22:13:29 +02:00
SChernykh
2b29a4c20f
RandomX (Arqma variant) support
2019-10-08 19:00:19 +02:00
SChernykh
10f9b29e03
Refactored JIT compiler for x86, small RandomX speedup
2019-10-05 21:40:21 +02:00
SChernykh
1bba25e080
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
c6096c3c34
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
cbdf1e6c09
Revert instructions_portable.cpp to avoid warning on gcc compilers.
2019-09-22 00:59:53 +07:00
SChernykh
38f4f4f695
Added JIT compiler for RandomX on ARMv8
2019-09-21 10:10:52 +02:00
XMRig
6f5d175d12
Fix compile warning, mostly struct/class inconsistency.
2019-09-13 18:21:05 +07:00
SChernykh
2322e3bcf7
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
dc5843651b
Optimized CFROUND
...
One less micro-op
2019-09-04 20:47:47 +02:00
SChernykh
d3f98ef7bc
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
df973763bb
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