Fix movk to not overwrite entire register for large scalars w/ S
This commit is contained in:
parent
7b1e6314a7
commit
95c74964b3
@ -169,7 +169,7 @@ static void executeDPImmediate(Machine *state, a64inst_instruction *inst) {
|
||||
|
||||
case(a64inst_MOVK):;
|
||||
dword result = readRegister(state, dest, regType);
|
||||
result = (result & ~(((1 << DPI_WIDEMOV_SHIFT) - 1) << shiftScalar * DPI_WIDEMOV_SHIFT)) | wideMovImm;
|
||||
result = (result & ~(((1lu << DPI_WIDEMOV_SHIFT) - 1) << shiftScalar * DPI_WIDEMOV_SHIFT)) | wideMovImm;
|
||||
writeRegister(state, dest, regType, result);
|
||||
break;
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user