labrinea added inline comments.

================
Comment at: lib/Basic/Targets.cpp:4685-4686
@@ +4684,4 @@
+    // ACLE 6.5.2 Half-precision (16-bit) floating-point format
+    if (HW_FP & HW_FP_HP)
+      Builder.defineMacro("__ARM_FP16_FORMAT_IEEE", "1");
+
----------------
olista01 wrote:
> labrinea wrote:
> > olista01 wrote:
> > > The __fp16 type is accepted even if it is not supported by the hardware 
> > > (library calls are emitted instead), so this can be defined 
> > > unconditionally. I'm currently working on D12148, which also sets this 
> > > and _ARM_FP16_ARGS.
> > Good point. As far as I know there is hardware support for having _fp16 
> > type values as function arguments but not as return values (yet). If so, 
> > should _ARM_FP16_ARGS macro be defined or not? (ACLE 2.0: "_ARM_FP16_ARGS 
> > is defined to 1 if __fp16 can be used as an argument and result.")
> Support for __fp16 args/returns should be independent of hardware support (at 
> least in clang/llvm), as we can always lower to library function calls.
> 
> For AArch32: There is currently no support for __fp16 arguments or returns, 
> but D12148 adds both of these, and sets the predefine.
> 
> For AArch64: There has been support for __fp16 args and returns for about a 
> year, but we only recently turned the predefine on (D12240/rL245833).
Good. I will update this patch accordingly.


http://reviews.llvm.org/D12244



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to