Reading the SVE registers of streaming mode from non-streaming mode,
and vice versa, returns invalid data. As their state is reset each
time you switch between them.
However, the vector length is distinct between the two modes.
The existing register "vg" will always report the vector length for
the current mode and this change adds "svg" which will always return
the streaming vector length.
non-streaming mode: vg = non-streaming vector length svg = streaming vector length streaming mode: vg = streaming vector length svg = streaming vector length
The content of svg is read from the NT_ARM_SSVE header, even if
we are in non-streaming mode. Which we are allowed to do
(the result is just missing the register data in this situation).
It is read only for the moment. It may be made writeable in future
patches. It has been added to the SME register set and I've converted
that into a struct for easier handling.
The SVE dynamic size test has been updated to check the expected
svg values as it is already setup to break just after a mode switch.
clang-format not found in user’s local PATH; not linting file.