armemu: Fix missing Q flag check for SMLSD.
This commit is contained in:
parent
3337b84620
commit
bee4ff8454
|
@ -6480,9 +6480,13 @@ L_stm_s_takeabort:
|
||||||
// SMUSD and SMLSD
|
// SMUSD and SMLSD
|
||||||
else {
|
else {
|
||||||
state->Reg[rd_idx] = product1 - product2;
|
state->Reg[rd_idx] = product1 - product2;
|
||||||
|
|
||||||
if (BITS(12, 15) != 15)
|
if (BITS(12, 15) != 15) {
|
||||||
state->Reg[rd_idx] += state->Reg[ra_idx];
|
state->Reg[rd_idx] += state->Reg[ra_idx];
|
||||||
|
|
||||||
|
if (ARMul_AddOverflowQ(product1 - product2, state->Reg[ra_idx]))
|
||||||
|
SETQ;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
|
|
Reference in New Issue