SimEng icon indicating copy to clipboard operation
SimEng copied to clipboard

Scalar fmov access flags

Open jrprice opened this issue 5 years ago • 0 comments

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.

jrprice avatar Nov 09 '19 05:11 jrprice