DavidSpickett added inline comments.
================ Comment at: lldb/test/API/commands/register/register/aarch64_dynamic_regset/TestArm64DynamicRegsets.py:35 + + p_value_bytes = ['0xff', '0x55', '0x11', '0x01', '0x00'] + for i in range(16): ---------------- omjavaid wrote: > DavidSpickett wrote: > > Can you explain the logic for the values here? > P reg sets predicate lanes. P0 will have all lanes set while P5 will have no > lanes set. These are just random values testing read/write. I would put that in a comment to save some time for those unfamiliar with SVE. ================ Comment at: lldb/test/API/commands/register/register/aarch64_dynamic_regset/main.c:31-32 + + asm volatile("cpy z0.b, p0/z, #1\n\t"); + asm volatile("cpy z1.b, p5/z, #2\n\t"); + asm volatile("cpy z2.b, p10/z, #3\n\t"); ---------------- omjavaid wrote: > DavidSpickett wrote: > > Same here, is the p0/p5/p10/p15 pattern affecting values used in the test > > or just for fun? (which isn't a bad thing) > I copied this from SVE test case that I wrote last year. > > P is a predicate register and ptrue/pfalse instruction is used to set a > predicate lane with a pattern. pattern is decide based on size specifier, b, > h, s and d. > > if size specified is b all lanes will be set to 1. which is needed to set al > bytes in a Z registers to the specified value. > > We are setting p0, p5, p10 and p15 to enable all lanes other p registers are > not enabling all lanes thats why they were not used as predicate for setting > Z registers in following lines which set a constant value to Z register byte > size elements. I'd put that in a comment. Enough for someone triaging a failure to know what's arbitrary numbers and what's very specific. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D96463/new/ https://reviews.llvm.org/D96463 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits