diff options
| author | Cullen Rhodes <cullen.rhodes@arm.com> | 2023-04-25 07:38:09 +0000 |
|---|---|---|
| committer | Cullen Rhodes <cullen.rhodes@arm.com> | 2023-04-25 07:51:43 +0000 |
| commit | c8d1388e6c8bd57299d5801f170719218f735c4c (patch) | |
| tree | 3494902fdecffc6279df075fa952eec51d024c7c /lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.h | |
| parent | c2f29f24c2997952b080ce5b0a5301408d932d28 (diff) | |
| download | llvm-c8d1388e6c8bd57299d5801f170719218f735c4c.zip llvm-c8d1388e6c8bd57299d5801f170719218f735c4c.tar.gz llvm-c8d1388e6c8bd57299d5801f170719218f735c4c.tar.bz2 | |
[mlir][ArmSME] Add tests for Streaming SVE
This patch adds a couple of tests for targeting Arm Streaming SVE (SSVE)
mode, part of the Arm Scalable Matrix Extension (SME).
SSVE is enabled in the backend at the function boundary by specifying
the `aarch64_pstate_sm_enabled` attribute, as documented here [1]. SSVE
can be targeted from MLIR by specifying this in the passthrough
attributes [2] and compiling with
-mattr=+sme,+sve -force-streaming-compatible-sve
The passthrough will propagate to the backend where `smstart/smstop`
will be emitted around the call to the SSVE function.
The set of legal instructions changes in SSVE,
`-force-streaming-compatible-sve` avoids the use of NEON entirely and
instead lowers to (streaming-compatible) SVE. The behaviour this flag
predicates will be hooked up to the function attribute in the future
such that simply specifying this (should) lead to correct
code-generation.
Two tests are added:
* A basic LLVMIR test verifying the attribute is passed through.
* An integration test calling a SSVE function.
The integration test can be run with QEMU.
[1] https://llvm.org/docs/AArch64SME.html
[2] https://mlir.llvm.org/docs/Dialects/LLVM/#attribute-pass-through
Reviewed By: awarzynski, aartbik
Differential Revision: https://reviews.llvm.org/D148111
Diffstat (limited to 'lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.h')
0 files changed, 0 insertions, 0 deletions
