SimEng
SimEng copied to clipboard
Scalar fmov access flags
Consider the following instruction:
fmov d0, #1.0
Some testing shows that SimEng is treating d0
as both an input and output operand, indicating that the flags coming from Capstone are incorrect (e.g. READ+WRITE instead of just WRITE). If this is the case it should be a relatively simple fixup (similar to many other instructions that we already have to do this for), but I didn't get round to double-checking the Armv8 spec to make sure that this fmov
variant is definitely supposed to zero the other vector elements rather than keeping them. Same goes for FP32 variant.
Note that this doesn't affect the correctness of emulated programs, but may affect model accuracy since it introduces an additional register dependency.