[clang] 9c39663 - Only Remove implicit conversion for the target that support fp16
Roman Lebedev via cfe-commits
cfe-commits at lists.llvm.org
Tue Dec 10 03:15:35 PST 2019
Is there a test missing?
On Tue, Dec 10, 2019 at 2:11 PM Jim Lin via cfe-commits
<cfe-commits at lists.llvm.org> wrote:
>
>
> Author: Jim Lin
> Date: 2019-12-10T19:15:11+08:00
> New Revision: 9c3966379813c198129c57aa3ebecd68d6af1ebd
>
> URL: https://github.com/llvm/llvm-project/commit/9c3966379813c198129c57aa3ebecd68d6af1ebd
> DIFF: https://github.com/llvm/llvm-project/commit/9c3966379813c198129c57aa3ebecd68d6af1ebd.diff
>
> LOG: Only Remove implicit conversion for the target that support fp16
>
> Remove implicit conversion that promotes half to double
> for the target that support fp16. If the target doesn't
> support fp16, fp16 will be converted to fp16 intrinsic.
>
> Added:
>
>
> Modified:
> clang/lib/Sema/SemaChecking.cpp
>
> Removed:
>
>
>
> ################################################################################
> diff --git a/clang/lib/Sema/SemaChecking.cpp b/clang/lib/Sema/SemaChecking.cpp
> index 2be9effffcec..aff63aef2934 100644
> --- a/clang/lib/Sema/SemaChecking.cpp
> +++ b/clang/lib/Sema/SemaChecking.cpp
> @@ -5822,7 +5822,8 @@ bool Sema::SemaBuiltinFPClassification(CallExpr *TheCall, unsigned NumArgs) {
> "promotion from float to either float, double, or long double is "
> "the only expected cast here");
> IgnoreCast = true;
> - } else if (CastArg->getType()->isSpecificBuiltinType(BuiltinType::Half)) {
> + } else if (CastArg->getType()->isSpecificBuiltinType(BuiltinType::Half) &&
> + !Context.getTargetInfo().useFP16ConversionIntrinsics()) {
> assert(
> (Cast->getType()->isSpecificBuiltinType(BuiltinType::Double) ||
> Cast->getType()->isSpecificBuiltinType(BuiltinType::Float) ||
>
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
More information about the cfe-commits
mailing list