]> granicus.if.org Git - clang/commit
Revert 246755 as it breaks buildbots
authorOliver Stannard <oliver.stannard@arm.com>
Thu, 3 Sep 2015 11:46:24 +0000 (11:46 +0000)
committerOliver Stannard <oliver.stannard@arm.com>
Thu, 3 Sep 2015 11:46:24 +0000 (11:46 +0000)
commit4880d582bdb81db5f300b98c43c8666c0f832515
tree98ec56e7991e8aa5c66ab8971d571b3369c0e5f0
parent12e3e2c81061cbffd9532441f2671cf3f749fb88
Revert 246755 as it breaks buildbots

Original commit message:
[ARM] Allow passing/returning of __fp16 arguments

The ACLE (ARM C Language Extensions) 2.0 allows the __fp16 type to be
used as a functon argument or return type (ACLE 1.1 did not).

The current public release of the AAPCS (2.09) states that __fp16 values
should be converted to single-precision before being passed or returned,
but AAPCS 2.10 (to be released shortly) changes this, so that they are
passed in the least-significant 16 bits of either a GPR (for base AAPCS)
or a single-precision register (for AAPCS-VFP). This does not change how
arguments are passed if they get passed on the stack.

This patch brings clang up to compliance with the latest versions of
both of these specs.

We can now set the __ARM_FP16_ARGS ACLE predefine, and we have always
been able to set the __ARM_FP16_FORMAT_IEEE predefine (we do not support
the alternative format).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246760 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Basic/Targets.cpp
lib/CodeGen/TargetInfo.cpp
lib/Driver/Tools.cpp
test/CodeGen/arm-fp16-arguments.c [deleted file]
test/Preprocessor/arm-acle-6.5.c
test/Preprocessor/arm-target-features.c