mirror of
https://git.wownero.com/wownero/RandomWOW.git
synced 2024-08-15 00:23:14 +00:00
Fixed reading from the red zone
This commit is contained in:
parent
e758c1e2b2
commit
ff88a57a98
3 changed files with 7 additions and 5 deletions
|
@ -605,8 +605,9 @@ randomx_isn_155:
|
||||||
rol rax, 31
|
rol rax, 31
|
||||||
and eax, 24576
|
and eax, 24576
|
||||||
or eax, 40896
|
or eax, 40896
|
||||||
mov dword ptr [rsp-8], eax
|
push rax
|
||||||
ldmxcsr dword ptr [rsp-8]
|
ldmxcsr dword ptr [rsp]
|
||||||
|
pop rax
|
||||||
randomx_isn_156:
|
randomx_isn_156:
|
||||||
; FSUB_R f3, a2
|
; FSUB_R f3, a2
|
||||||
subpd xmm3, xmm10
|
subpd xmm3, xmm10
|
||||||
|
|
|
@ -535,8 +535,9 @@ namespace randomx {
|
||||||
asmCode << "\trol rax, " << rotate << std::endl;
|
asmCode << "\trol rax, " << rotate << std::endl;
|
||||||
asmCode << "\tand eax, 24576" << std::endl;
|
asmCode << "\tand eax, 24576" << std::endl;
|
||||||
asmCode << "\tor eax, 40896" << std::endl;
|
asmCode << "\tor eax, 40896" << std::endl;
|
||||||
asmCode << "\tmov dword ptr [rsp-8], eax" << std::endl;
|
asmCode << "\tpush rax" << std::endl;
|
||||||
asmCode << "\tldmxcsr dword ptr [rsp-8]" << std::endl;
|
asmCode << "\tldmxcsr dword ptr [rsp]" << std::endl;
|
||||||
|
asmCode << "\tpop rax" << std::endl;
|
||||||
tracenop(instr);
|
tracenop(instr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -194,7 +194,7 @@ namespace randomx {
|
||||||
static const uint8_t REX_MAXPD[] = { 0x66, 0x41, 0x0f, 0x5f };
|
static const uint8_t REX_MAXPD[] = { 0x66, 0x41, 0x0f, 0x5f };
|
||||||
static const uint8_t REX_DIVPD[] = { 0x66, 0x41, 0x0f, 0x5e };
|
static const uint8_t REX_DIVPD[] = { 0x66, 0x41, 0x0f, 0x5e };
|
||||||
static const uint8_t SQRTPD[] = { 0x66, 0x0f, 0x51 };
|
static const uint8_t SQRTPD[] = { 0x66, 0x0f, 0x51 };
|
||||||
static const uint8_t AND_OR_MOV_LDMXCSR[] = { 0x25, 0x00, 0x60, 0x00, 0x00, 0x0D, 0xC0, 0x9F, 0x00, 0x00, 0x89, 0x44, 0x24, 0xF8, 0x0F, 0xAE, 0x54, 0x24, 0xF8 };
|
static const uint8_t AND_OR_MOV_LDMXCSR[] = { 0x25, 0x00, 0x60, 0x00, 0x00, 0x0D, 0xC0, 0x9F, 0x00, 0x00, 0x50, 0x0F, 0xAE, 0x14, 0x24, 0x58 };
|
||||||
static const uint8_t ROL_RAX[] = { 0x48, 0xc1, 0xc0 };
|
static const uint8_t ROL_RAX[] = { 0x48, 0xc1, 0xc0 };
|
||||||
static const uint8_t XOR_ECX_ECX[] = { 0x33, 0xC9 };
|
static const uint8_t XOR_ECX_ECX[] = { 0x33, 0xC9 };
|
||||||
static const uint8_t REX_CMP_R32I[] = { 0x41, 0x81 };
|
static const uint8_t REX_CMP_R32I[] = { 0x41, 0x81 };
|
||||||
|
|
Loading…
Reference in a new issue