[Lldb-commits] [lldb] [lldb][debugserver] Read/write SME registers on arm64 (PR #119171)

David Spickett via lldb-commits lldb-commits at lists.llvm.org
Mon Dec 9 07:01:02 PST 2024


================
@@ -2387,6 +2863,36 @@ bool DNBArchMachARM64::SetRegisterValue(uint32_t set, uint32_t reg,
       }
       break;
 
+    case e_regSetSVE:
+      if (reg >= sve_z0 && reg <= sve_z31) {
+        uint16_t max_svl_bytes = GetSMEMaxSVL();
+        memcpy(&m_state.context.sve.z[reg - sve_z0], &value->value.v_uint8,
+               max_svl_bytes);
+        success = true;
+      }
+      if (reg >= sve_p0 && reg <= sve_p15) {
+        memcpy(&m_state.context.sve.p[reg - sve_p0], &value->value.v_uint8,
+               256 / 8);
----------------
DavidSpickett wrote:

Maximum 256 bytes divided by 8 for what exactly?

https://github.com/llvm/llvm-project/pull/119171


More information about the lldb-commits mailing list