Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Support reg updates full of "--------" with too few chars.
I also heard recently of a syntax for AArch64 core register updates that just reads "R X0 --------", which our parser rejects: it's OK with '-' replacing a hex digit in principle, but for a 64-bit register, it expected 16 of them, and here it only saw 8. But we already have a special case in which "R X0 00000000" is treated the same as "R X0 0000000000000000", because the Tarmac producer (understandably!) thought zero was too boring a value to write out in full. So it seems reasonable to do the same for the all-'-' case as well as the all-'0' case. I'm not sure we're treating this _right_, though. From context in the trace it looked as if the register really was being updated, and it's just that the trace generator was unable to find the new value while producing that line. A later read from the register returned a value that wasn't what had been in it before that update, and which looked sensible. So perhaps a better treatment of these lines would be to reset the register contents to 'unknown', like at the very start of a trace. But (a) this would need a lot more upheaval in the code, because RegisterEvent currently has no way to specify that; (b) I don't know what's the right basis to draw the distinction between -------- meaning "value is left unchanged" (as in the Q0 examples already in our test collection) and -------- meaning "value has changed but I'm not telling you what to". So there doesn't seem much point in putting a lot of effort into (a) until we have an answer to (b). I'll wait for more data.
- Loading branch information