[all-commits] [llvm/llvm-project] 46b961: [lldb][AArch64] Implement resizing of SME's ZA reg...

David Spickett via All-commits all-commits at lists.llvm.org
Tue Sep 19 05:05:36 PDT 2023

  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 46b961f36bc5b1105356d1701f0c7c9d439be9c8
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2023-09-19 (Tue, 19 Sep 2023)

  Changed paths:
    M lldb/include/lldb/Target/DynamicRegisterInfo.h
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.h
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Target/DynamicRegisterInfo.cpp

  Log Message:
  [lldb][AArch64] Implement resizing of SME's ZA register

The size of ZA depends on the streaming vector length regardless
of the active mode. So in addition to vg (which reports the active
mode) we must send the client svg.

Otherwise the mechanics are the same as for non-streaming SVE.
Use the svg value to update the defined size of ZA, accounting
for the fact that ZA is not a single vector but a suqare matrix.

So if svg is 8, a single streaming vector would be 8*8 = 64 bytes.
ZA is that squared, so 64*64 = 4096 bytes.

Testing is included in a later patch.

Reviewed By: omjavaid

Differential Revision: https://reviews.llvm.org/D159504

More information about the All-commits mailing list