[all-commits] [llvm/llvm-project] 9b3bb7: [AArch64] Implement reinterpret builtins for SVE v...
Momchil Velikov via All-commits
all-commits at lists.llvm.org
Fri Nov 3 04:45:21 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 9b3bb7a066c407f908cb1896abfa4fb4a8ea6588
https://github.com/llvm/llvm-project/commit/9b3bb7a066c407f908cb1896abfa4fb4a8ea6588
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2023-11-03 (Fri, 03 Nov 2023)
Changed paths:
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret-bfloat.c
M clang/test/CodeGen/aarch64-sve-intrinsics/acle_sve_reinterpret.c
M clang/utils/TableGen/SveEmitter.cpp
Log Message:
-----------
[AArch64] Implement reinterpret builtins for SVE vector tuples (#69598)
This patch adds reinterpret builtins as proposed here:
https://github.com/ARM-software/acle/pull/275.
The builtins take the form:
sv<dst>x<N>_t svreinterpret_<dst>_<src>_x<N>(sv<src>x<N>_t op)
where
- <src> and <dst> designate the source and the destination type,
respectively, all pairs chosen from {s8, u8, s16, u8, s32, u32, s64,
u64, bf16, f16, f32, f64}
- <N> designated the number of tuple elements, 2, 3 or 4
A short (overloaded) for is also provided, where the destination type is
explicitly designated and the source type is deduced from the parameter
type. These take the form
sv<dst>x<N>_t svreinterpret_<dst>(sv<src>x<N>_t op)
For example:
svuin16x2_t svreinterpret_u16_s32_x2(svint32x2_t op);
svuin16x2_t svreinterpret_u16(svint32x2_t op);
More information about the All-commits
mailing list