<div dir="ltr">Hi,<div><br></div><div>This is a missing fix for <a href="https://reviews.llvm.org/rGcefac9dfaac9c806433ad88cca85bd2f3ba1edad">https://reviews.llvm.org/rGcefac9dfaac9c806433ad88cca85bd2f3ba1edad</a></div><div><br></div><div>Jim</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Roman Lebedev <<a href="mailto:lebedev.ri@gmail.com">lebedev.ri@gmail.com</a>> 於 2019年12月10日 週二 下午7:16寫道:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Is there a test missing?<br>
<br>
On Tue, Dec 10, 2019 at 2:11 PM Jim Lin via cfe-commits<br>
<<a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a>> wrote:<br>
><br>
><br>
> Author: Jim Lin<br>
> Date: 2019-12-10T19:15:11+08:00<br>
> New Revision: 9c3966379813c198129c57aa3ebecd68d6af1ebd<br>
><br>
> URL: <a href="https://github.com/llvm/llvm-project/commit/9c3966379813c198129c57aa3ebecd68d6af1ebd" rel="noreferrer" target="_blank">https://github.com/llvm/llvm-project/commit/9c3966379813c198129c57aa3ebecd68d6af1ebd</a><br>
> DIFF: <a href="https://github.com/llvm/llvm-project/commit/9c3966379813c198129c57aa3ebecd68d6af1ebd.diff" rel="noreferrer" target="_blank">https://github.com/llvm/llvm-project/commit/9c3966379813c198129c57aa3ebecd68d6af1ebd.diff</a><br>
><br>
> LOG: Only Remove implicit conversion for the target that support fp16<br>
><br>
> Remove implicit conversion that promotes half to double<br>
> for the target that support fp16. If the target doesn't<br>
> support fp16, fp16 will be converted to fp16 intrinsic.<br>
><br>
> Added:<br>
><br>
><br>
> Modified:<br>
>     clang/lib/Sema/SemaChecking.cpp<br>
><br>
> Removed:<br>
><br>
><br>
><br>
> ################################################################################<br>
> diff  --git a/clang/lib/Sema/SemaChecking.cpp b/clang/lib/Sema/SemaChecking.cpp<br>
> index 2be9effffcec..aff63aef2934 100644<br>
> --- a/clang/lib/Sema/SemaChecking.cpp<br>
> +++ b/clang/lib/Sema/SemaChecking.cpp<br>
> @@ -5822,7 +5822,8 @@ bool Sema::SemaBuiltinFPClassification(CallExpr *TheCall, unsigned NumArgs) {<br>
>              "promotion from float to either float, double, or long double is "<br>
>              "the only expected cast here");<br>
>          IgnoreCast = true;<br>
> -      } else if (CastArg->getType()->isSpecificBuiltinType(BuiltinType::Half)) {<br>
> +      } else if (CastArg->getType()->isSpecificBuiltinType(BuiltinType::Half) &&<br>
> +                 !Context.getTargetInfo().useFP16ConversionIntrinsics()) {<br>
>          assert(<br>
>              (Cast->getType()->isSpecificBuiltinType(BuiltinType::Double) ||<br>
>               Cast->getType()->isSpecificBuiltinType(BuiltinType::Float) ||<br>
><br>
><br>
><br>
> _______________________________________________<br>
> cfe-commits mailing list<br>
> <a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a><br>
> <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a><br>
</blockquote></div>