Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Commit 3f18045

Browse files
committed
Arm64 : Fix ldr Dt/St emulation (#25729)
1 parent 404e72a commit 3f18045

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

src/debug/ee/arm64/arm64walker.cpp

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -200,12 +200,15 @@ BYTE* NativeWalker::SetupOrSimulateInstructionForPatchSkip(T_CONTEXT * context,
200200
switch (opc)
201201
{
202202
case 0: //4byte data into St
203-
RegContents = 0xFFFFFFFF & RegContents; //zero the upper 32bit
204-
SetReg(context, RegNum, RegContents);
203+
SimdRegContents.Low = 0xFFFFFFFF & RegContents; //zero the upper 32bit
204+
SimdRegContents.High = 0;
205+
SetSimdReg(context, RegNum, SimdRegContents);
206+
break;
205207
case 1: //8byte data into Dt
206-
SetReg(context, RegNum, RegContents);
208+
SimdRegContents.Low = RegContents;
209+
SimdRegContents.High = 0;
210+
SetSimdReg(context, RegNum, SimdRegContents);
207211
break;
208-
209212
case 2: //SIMD 16 byte data
210213
SimdRegContents = GetSimdMem(ip);
211214
SetSimdReg(context, RegNum, SimdRegContents);

0 commit comments

Comments
 (0)