[PATCH] D114713: [AArch64][SVE][NEON] Add NEON-SVE-Bridge intrinsics
Matt Devereau via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Dec 6 03:40:26 PST 2021
MattDevereau marked an inline comment as done.
MattDevereau added a comment.
clang-format is upset about this ordering:
#include "clang/Basic/arm_sve_builtin_cg.inc"
#include "clang/Basic/BuiltinsAArch64NeonSVEBridge_cg.def"
but swapping the order causes all SVE tests to fail. I'm ignoring the clang-format error for this
================
Comment at: clang/include/clang/Basic/BuiltinsAArch64NeonSVEBridge_cg.def:37
+SVEMAP2(svdup_neonq_f64, 3),
+SVEMAP2(svdup_neonq_bf16, 1),
+#endif
----------------
peterwaller-arm wrote:
> The second argument is a 'flags' field and these values don't look right.
>
> Refs:
>
> * [[ https://github.com/llvm/llvm-project/blob/84b978da3b80b986327a830c01e32f12cefe86b3/clang/utils/TableGen/SveEmitter.cpp#L1339 | SVEMAP2 emitted by tablegen ]]
> * [[ https://github.com/llvm/llvm-project/blob/84b978da3b80b986327a830c01e32f12cefe86b3/clang/include/clang/Basic/arm_sve.td#L137-L149 | Element types ]]
> * [[ https://github.com/llvm/llvm-project/blob/main/clang/lib/CodeGen/CGBuiltin.cpp#L9070 | Flags used in CGBuiltin ]]
>
> The flags are a generated enum and live in `clang/include/clang/Basic/arm_sve_typeflags.inc` -- I think you'll need to #include this with `LLVM_GET_SVE_ELTTYPES` defined, and then you can write it symbolically rather than using a literal numeric value.
SVETypeFlags enums are already available by this stage so there's no need for any includes. I've replaced the numbers with the enums
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D114713/new/
https://reviews.llvm.org/D114713
More information about the llvm-commits
mailing list