]> granicus.if.org Git - clang/commit
[ARM] Fix arm_neon.h with -flax-vector-conversions=none, part 2.
authorEli Friedman <efriedma@quicinc.com>
Thu, 10 Oct 2019 18:45:34 +0000 (18:45 +0000)
committerEli Friedman <efriedma@quicinc.com>
Thu, 10 Oct 2019 18:45:34 +0000 (18:45 +0000)
commit07ca3aee78a50b49ccb758a9b16917ae166622d6
tree9af5277bc5c14a2ec49701cf25536d01ae2238cb
parenteef5b803b6eee727e153396269a7738db30fec79
[ARM] Fix arm_neon.h with -flax-vector-conversions=none, part 2.

Just running -fsyntax-only over arm_neon.h doesn't cover some intrinsics
which are defined using macros.  Add more test coverage for that.

arm-neon-header.c wasn't checking the full set of available NEON target
features; change the target architecture of the test to account for
that.

Fix the generator for arm_neon.h to generate casts in more cases where
they are necessary.

Fix VFMLAL_LOW etc. to express their signatures differently, so the
builtins have the expected type. Maybe the TableGen backend should
detect intrinsics that are defined the wrong way, and produce an error.
The rules here are sort of strange.

Differential Revision: https://reviews.llvm.org/D68743

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@374419 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Basic/arm_neon.td
test/CodeGen/aarch64-neon-intrinsics.c
test/CodeGen/arm_neon_intrinsics.c
test/Headers/arm-neon-header.c
utils/TableGen/NeonEmitter.cpp