[all-commits] [llvm/llvm-project] 91a4a5: [SveEmitter] Add SVE tuple types and builtins for ...
sdesmalen-arm via All-commits
all-commits at lists.llvm.org
Sun Jun 14 23:38:21 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 91a4a592edb01ca1968b5e5abe3da21709bb72d6
https://github.com/llvm/llvm-project/commit/91a4a592edb01ca1968b5e5abe3da21709bb72d6
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2020-06-15 (Mon, 15 Jun 2020)
Changed paths:
M clang/include/clang/Basic/AArch64SVEACLETypes.def
M clang/include/clang/Basic/TargetBuiltins.h
M clang/include/clang/Basic/arm_sve.td
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
A clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef.c
A clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef2.c
A clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef3.c
A clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_undef4.c
M clang/utils/TableGen/SveEmitter.cpp
Log Message:
-----------
[SveEmitter] Add SVE tuple types and builtins for svundef.
This patch adds new SVE types to Clang that describe tuples of SVE
vectors. For example `svint32x2_t` which maps to the twice-as-wide
vector `<vscale x 8 x i32>`. Similarly, `svint32x3_t` will map to
`<vscale x 12 x i32>`.
It also adds builtins to return an `undef` vector for a given
SVE type.
Reviewers: c-rhodes, david-arm, ctetreau, efriedma, rengolin
Reviewed By: c-rhodes
Tags: #clang
Differential Revision: https://reviews.llvm.org/D81459
Commit: 98100353d784e599fca502a34490603942f1930c
https://github.com/llvm/llvm-project/commit/98100353d784e599fca502a34490603942f1930c
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2020-06-15 (Mon, 15 Jun 2020)
Changed paths:
M clang/include/clang/Basic/AArch64SVEACLETypes.def
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/test/CodeGenCXX/aarch64-mangle-sve-vectors.cpp
M clang/utils/TableGen/SveEmitter.cpp
Log Message:
-----------
[SVE] Ensure proper mangling of ACLE tuple types
The AAPCS specifies that the tuple types such as `svint32x2_t`
should use their `arm_sve.h` names when mangled instead of their
builtin names.
This patch also renames the internal types for the tuples to
be prefixed with `__clang_`, so they are not misinterpreted as
specified internal types like the non-tuple types which *are* defined
in the AAPCS. Using a builtin type for the tuples is a purely
a choice of the Clang implementation.
Reviewers: rsandifo-arm, c-rhodes, efriedma, rengolin
Reviewed By: efriedma
Tags: #clang
Differential Revision: https://reviews.llvm.org/D81721
Compare: https://github.com/llvm/llvm-project/compare/ca2dcbd030ea...98100353d784
More information about the All-commits
mailing list