yaxunl added a comment. In D90409#2372023 <https://reviews.llvm.org/D90409#2372023>, @yaxunl wrote:
> In D90409#2371987 <https://reviews.llvm.org/D90409#2371987>, @tra wrote: > >> In D90409#2371969 <https://reviews.llvm.org/D90409#2371969>, @yaxunl wrote: >> >>> nvcc does not support fma(float,float,char) >> >> It does, it just needs an explicit flag to match clang's treatment of >> `constexpr` functions as HD. > > > > In D90409#2371972 <https://reviews.llvm.org/D90409#2371972>, @tra wrote: > >> In D90409#2371679 <https://reviews.llvm.org/D90409#2371679>, @jlebar wrote: >> >>>> LGTM. I think the change would make sense for CUDA, too. @jlebar - WDYT? >>> >>> I agree that the C and C++ standard libraries should behave the same in >>> CUDA mode and host mode! >>> >>> But if doing so would make our behavior different than nvcc's, maybe we >>> could emit a warning or something? Like, "this code you wrote maybe for >>> nvcc is going to do something different with clang." >> >> Interestingly enough CUDA 10.1+ already promotes integer `fma()` arguments >> to double: >> https://godbolt.org/z/crbqTe >> >> I wonder what makes HIP different to require this change. > > Practically the behavior is the same since they all promote integer types to > double. This matches the C++ behavior. However the HIP change will make it > conform to C++ for a target supporting long double whereas the previous > header did not. Sorry I mean the change can make the header extendable to `long double` easily although it does not yet. Another thing is that it allows resolution of mixed argument types with _Float16. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D90409/new/ https://reviews.llvm.org/D90409 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits