[all-commits] [llvm/llvm-project] 48fb8e: [Clang][SME2] Add multi-vector add/sub builtins (#...
Kerry McLaughlin via All-commits
all-commits at lists.llvm.org
Tue Nov 7 07:42:56 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 48fb8ee081587b4c8e96473d6c7db6b4a83c8dc1
https://github.com/llvm/llvm-project/commit/48fb8ee081587b4c8e96473d6c7db6b4a83c8dc1
Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Date: 2023-11-07 (Tue, 07 Nov 2023)
Changed paths:
M clang/include/clang/Basic/arm_sme.td
M clang/include/clang/Basic/arm_sve.td
M clang/include/clang/Basic/arm_sve_sme_incl.td
M clang/lib/CodeGen/CodeGenFunction.h
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_add.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_sub.c
A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_add.c
M clang/utils/TableGen/SveEmitter.cpp
Log Message:
-----------
[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
More information about the All-commits
mailing list