[PATCH] D90174: [HIP] Fix regressions due to fp contract change
Yaxun Liu via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Nov 4 09:45:12 PST 2020
yaxunl added a comment.
In D90174#2373829 <https://reviews.llvm.org/D90174#2373829>, @yaxunl wrote:
> In D90174#2371577 <https://reviews.llvm.org/D90174#2371577>, @rjmccall wrote:
>
>> Hmm. Do we actually want this behavior of `fast` overriding pragmas? What do other compilers do here? It might be reasonable to just treat this as a bug.
>
> I think clang is just trying to follow gcc's behavior. However, this is undesirable in certain cases. Introducing 'faststd' gives us more choices to avoid the undesirable behavior.
For other compilers:
MSVC respects pragma with /fp:fast option:
https://godbolt.org/z/3rja55
Intel compiler also respects fp_contract pragma with -fp-model fast={1|2} option:
https://godbolt.org/z/fez86h
nvcc by default always fuse across statements and does not support pragmas to control fp contract
https://docs.nvidia.com/cuda/floating-point/index.html#controlling-fused-multiply-add
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D90174/new/
https://reviews.llvm.org/D90174
More information about the cfe-commits
mailing list