]> granicus.if.org Git - clang/commitdiff
[AArch64] Define the macro __ARM_FP16_ARGS
authorKeith Walker <kwalker@arm.com>
Mon, 24 Aug 2015 10:11:14 +0000 (10:11 +0000)
committerKeith Walker <kwalker@arm.com>
Mon, 24 Aug 2015 10:11:14 +0000 (10:11 +0000)
The ACLE (ARM C Language Extensions) 2.0 defines that the predefined macro
__ARM_FP16_ARGS should be defined if __fp16 can be used as an argument and
result.

The support for __fp16 to be used as an argument and result is already
implemented for AArch64 so this change is just adding the missing macro.

Differential Revision: http://reviews.llvm.org/D12240

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@245833 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Basic/Targets.cpp
test/Preprocessor/aarch64-target-features.c

index dba564fb0e182d93c34c1494ad135cf7fac744b3..ae300214ecf20012db5fe6f26623be32b2c1b437 100644 (file)
@@ -5176,6 +5176,7 @@ public:
     // PCS specifies this for SysV variants, which is all we support. Other ABIs
     // may choose __ARM_FP16_FORMAT_ALTERNATIVE.
     Builder.defineMacro("__ARM_FP16_FORMAT_IEEE");
+    Builder.defineMacro("__ARM_FP16_ARGS");
 
     if (Opts.FastMath || Opts.FiniteMathOnly)
       Builder.defineMacro("__ARM_FP_FAST");
index 26f1d9d1627a2487803662be793e92222fdacf88..4cd94ffddf0ad4f569d849b0ed1654ed6cac9779 100644 (file)
@@ -19,6 +19,7 @@
 // CHECK: __ARM_FEATURE_NUMERIC_MAXMIN 1
 // CHECK: __ARM_FEATURE_UNALIGNED 1
 // CHECK: __ARM_FP 0xe
+// CHECK: __ARM_FP16_ARGS 1
 // CHECK: __ARM_FP16_FORMAT_IEEE 1
 // CHECK-NOT: __ARM_FP_FAST 1
 // CHECK: __ARM_FP_FENV_ROUNDING 1