arch-arm: Fix incorrect behaviour of VFNMS and VFNMA (#1420)
This was found while comparing a diverging execution against QEMU traces and checking for the first mismatched program counter. Fortunately this was caused by a branch shortly after this incorrect computation but still took a long time to track down. There are two issues here: the decoder had inverted the cases for *S and *A, and the sign bit was wrong for VFN*.
This commit is contained in:
committed by
GitHub
parent
c359b53a19
commit
f6f547fb62
@@ -2725,7 +2725,7 @@ let {{
|
||||
}
|
||||
break;
|
||||
case 0x9:
|
||||
if ((opc3 & 0x1) == 0) {
|
||||
if (bits(machInst, 6) == 1) {
|
||||
if (single) {
|
||||
return decodeVfpRegRegRegOp<VfnmaS>(
|
||||
machInst, vd, vn, vm, false);
|
||||
|
||||
Reference in New Issue
Block a user