[Lldb-commits] [PATCH] D155269: [lldb][AArch64] Add SME streaming vector length pseudo register
David Spickett via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Fri Jul 14 01:12:44 PDT 2023
DavidSpickett created this revision.
Herald added subscribers: ctetreau, kristof.beyls.
Herald added a project: All.
DavidSpickett requested review of this revision.
Herald added a project: LLDB.
Herald added a subscriber: lldb-commits.
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.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D155269
Files:
lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.cpp
lldb/source/Plugins/Process/Linux/NativeRegisterContextLinux_arm64.h
lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.cpp
lldb/test/API/commands/register/register/aarch64_sve_registers/rw_access_dynamic_resize/TestSVEThreadedDynamic.py
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D155269.540311.patch
Type: text/x-patch
Size: 9708 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20230714/60f08f22/attachment.bin>
More information about the lldb-commits
mailing list