[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