Fix bug with execute immediate value not being shifted w/ S
This commit is contained in:
parent
5afcb8ef63
commit
b19649192a
@ -140,7 +140,7 @@ static void executeDPImmediate(Machine *state, a64inst_instruction *inst) {
|
|||||||
uint16_t wideMovImm = inst->data.DPImmediateData.processOpData.wideMovData.immediate;
|
uint16_t wideMovImm = inst->data.DPImmediateData.processOpData.wideMovData.immediate;
|
||||||
|
|
||||||
// NOTE: Not checking that shiftScalar has valid value for 32bit registers. Possibly add explicit error.
|
// NOTE: Not checking that shiftScalar has valid value for 32bit registers. Possibly add explicit error.
|
||||||
wideMovImm = truncateValue(shiftScalar * DPI_WIDEMOV_SHIFT, regType);
|
wideMovImm = truncateValue(wideMovImm << (shiftScalar * DPI_WIDEMOV_SHIFT), regType);
|
||||||
switch(inst->data.DPImmediateData.processOp) {
|
switch(inst->data.DPImmediateData.processOp) {
|
||||||
|
|
||||||
case(a64inst_MOVN):
|
case(a64inst_MOVN):
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user