diff options
author | Kerry McLaughlin <kerry.mclaughlin@arm.com> | 2023-11-07 15:42:43 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-11-07 15:42:43 +0000 |
commit | 48fb8ee081587b4c8e96473d6c7db6b4a83c8dc1 (patch) | |
tree | 7a3f71c73fff934fbbc2bbdd683fa62b3f1add90 /clang/lib/CodeGen/CodeGenModule.cpp | |
parent | d180cfb37d0d1ae1e9dadd13debc49c80d52eda4 (diff) | |
download | llvm-48fb8ee081587b4c8e96473d6c7db6b4a83c8dc1.zip llvm-48fb8ee081587b4c8e96473d6c7db6b4a83c8dc1.tar.gz llvm-48fb8ee081587b4c8e96473d6c7db6b4a83c8dc1.tar.bz2 |
[Clang][SME2] Add multi-vector add/sub builtins (#69725)
Adds the following SME2 builtins:
- sv(add|sub)
- sv(add|sub)_za32/za64,
- sv(add|sub)_write_za32/za64
Other changes in this patch:
- CGBuiltin.cpp: The GetAArch64SMEProcessedOperands function is created
to avoid duplicating existing code from EmitAArch64SVEBuiltinExpr.
- arm_sve.td: The add/sub SME2 builtins which do not operate on ZA have
been added to arm_sve.td, matching the corrosponding LLVM IR intrinsic
names which start with @llvm.aarch64.sve for this reason.
- SveEmitter.cpp: Adds the createCoreHeaderIntrinsics function to remove
duplicated code in createHeader & createSMEHeader. Uses a new enum
(ACLEKind) to choose either "__builtin_sme_" or "__builtin_sve_" when
emitting the intrinsics.
See https://github.com/ARM-software/acle/pull/217/files
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions