[Lldb-commits] [PATCH] D159505: [lldb][AArch64] Add testing for SME's ZA and SVG registers
David Spickett via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Tue Sep 12 04:50:02 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.
An SME enabled program has the following extra state:
- Streaming mode or non-streaming mode.
- ZA enabled or disabled.
- The active vector length.
Covering the transition between all possible states and all other
possible states is not viable, therefore the testing added here is a cross
section of that, all of which found real bugs in LLDB and the Linux
Kernel during development.
Many of those transitions will not be possible via LLDB
(e.g. disabling ZA) and many more are possible but unlikely to be
used in normal use.
Added testing:
- TestSVEThreadedDynamic now checks for correct SVG values.
- New test TestZAThreadedDynamic creates 3 threads with different ZA sizes and states and switches between them verifying the register value (derived from the existing threaded SVE test).
- New test TestZARegisterSaveRestore starts in a given SME state, runs a set of expressions in various orders, then checks that the original state has been restored.
- TestArm64DynamicRegsets has ZA and SVG checks added, including writing to ZA to enable it.
Running these tests will as usual require QEMU as there is no
real SME hardware available at this time, and a very recent
kernel.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D159505
Files:
lldb/test/API/commands/register/register/aarch64_dynamic_regset/TestArm64DynamicRegsets.py
lldb/test/API/commands/register/register/aarch64_sve_registers/rw_access_dynamic_resize/TestSVEThreadedDynamic.py
lldb/test/API/commands/register/register/aarch64_za_register/za_dynamic_resize/Makefile
lldb/test/API/commands/register/register/aarch64_za_register/za_dynamic_resize/TestZAThreadedDynamic.py
lldb/test/API/commands/register/register/aarch64_za_register/za_dynamic_resize/main.c
lldb/test/API/commands/register/register/aarch64_za_register/za_save_restore/Makefile
lldb/test/API/commands/register/register/aarch64_za_register/za_save_restore/TestZARegisterSaveRestore.py
lldb/test/API/commands/register/register/aarch64_za_register/za_save_restore/main.c
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D159505.556551.patch
Type: text/x-patch
Size: 40427 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20230912/f9aab88e/attachment-0001.bin>
More information about the lldb-commits
mailing list