SjoerdMeijer added a comment. Good points. I am thinking about how to write this down. I am not yet sure that `_Float16` can reduce portability. I think the behaviour will depend on FLT_EVAL_METHOD. I.e., if your architecture supports half-precision instructions, you would like to set FLT_EVAL_METHOD = 16, which would avoid evaluation in float and thus promotions/truncations. If your architecture does not support half-precision arithmetic, this will be FLT_EVAL_METHOD = 0 so that `_Float16` is evaluated in float. So, from that point of view `_Float16` can achieve the same things as '__fp16`, and it is more efficient when the hardware supports it and is indeed also more portable between entire architectures.
https://reviews.llvm.org/D35295 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits