diff options
Diffstat (limited to 'src/debug/ee/arm64/arm64walker.cpp')
-rw-r--r-- | src/debug/ee/arm64/arm64walker.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/debug/ee/arm64/arm64walker.cpp b/src/debug/ee/arm64/arm64walker.cpp index b38297b3ec..398d326e8a 100644 --- a/src/debug/ee/arm64/arm64walker.cpp +++ b/src/debug/ee/arm64/arm64walker.cpp @@ -200,12 +200,15 @@ BYTE* NativeWalker::SetupOrSimulateInstructionForPatchSkip(T_CONTEXT * context, switch (opc) { case 0: //4byte data into St - RegContents = 0xFFFFFFFF & RegContents; //zero the upper 32bit - SetReg(context, RegNum, RegContents); + SimdRegContents.Low = 0xFFFFFFFF & RegContents; //zero the upper 32bit + SimdRegContents.High = 0; + SetSimdReg(context, RegNum, SimdRegContents); + break; case 1: //8byte data into Dt - SetReg(context, RegNum, RegContents); + SimdRegContents.Low = RegContents; + SimdRegContents.High = 0; + SetSimdReg(context, RegNum, SimdRegContents); break; - case 2: //SIMD 16 byte data SimdRegContents = GetSimdMem(ip); SetSimdReg(context, RegNum, SimdRegContents); |