]> granicus.if.org Git - clang/commit
[ARM] Pass half or i16 types for NEON intrinsics
authorSjoerd Meijer <sjoerd.meijer@arm.com>
Mon, 19 Mar 2018 13:22:49 +0000 (13:22 +0000)
committerSjoerd Meijer <sjoerd.meijer@arm.com>
Mon, 19 Mar 2018 13:22:49 +0000 (13:22 +0000)
commit2d4ee510b24b5a44ca7566039a39db646a154143
treecbd38ebe0ad09c7ec7b6506f93b6af5e0fc6b162
parent88f530219f0f279cf79664b4e8139982ea7a070b
[ARM] Pass half or i16 types for NEON intrinsics

For generating NEON intrinsics, this determines the NEON data type, and whether
it should be a half type or an i16 type. I.e., we always pass a half type for
AArch64, this hasn't changed, but now also for ARM but only when FullFP16 is
enabled, and i16 otherwise.

This is intended to be non-functional change, but together with the backend
work in D44538 which adds support for f16 vectors, this enables adding the
AArch32 FP16 (vector) intrinsics.

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@327836 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Basic/TargetInfo.h
lib/Basic/TargetInfo.cpp
lib/Basic/Targets/AArch64.cpp
lib/Basic/Targets/ARM.cpp
lib/Basic/Targets/ARM.h
lib/CodeGen/CGBuiltin.cpp