[PATCH] D12148: [ARM] Allow passing/returning of __fp16 arguments
Oliver Stannard via cfe-commits
cfe-commits at lists.llvm.org
Wed Aug 19 06:24:25 PDT 2015
olista01 created this revision.
olista01 added a subscriber: cfe-commits.
olista01 set the repository for this revision to rL LLVM.
Herald added subscribers: rengolin, aemerson.
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).
Repository:
rL LLVM
http://reviews.llvm.org/D12148
Files:
lib/Basic/Targets.cpp
lib/CodeGen/TargetInfo.cpp
lib/Driver/Tools.cpp
test/CodeGen/arm-fp16-arguments.c
test/Preprocessor/arm-acle-6.5.c
test/Preprocessor/arm-target-features.c
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D12148.32542.patch
Type: text/x-patch
Size: 4908 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150819/b8977ef0/attachment.bin>
More information about the cfe-commits
mailing list