yaxunl marked an inline comment as done. yaxunl added inline comments.
================ Comment at: clang/docs/LanguageExtensions.rst:275 + // On amdgcn target + #if __has_target_feature("s-memtime-inst") + x = __builtin_amdgcn_s_memtime(); ---------------- tra wrote: > Do you have a better example? This particular case could've been handled by > existing `__has_builtin()`. > > While I could see usefulness of checking features (e.g. for CUDA/NVPTX it > could be used to chose inline assembly supported only by newer PTX versions, > but even then that choice could be made using existing methods, even if they > are not always direct (e.g. by using CUDA_VERSION as a proxy for "new enough > PTX version"). > `__has_builtin` returns 1 as long as the builtin is known to clang, even if the builtin is not supported by the target CPU. This is because the required target feature for a builtin is in ASTContext, whereas `__has_builtin` is evaluated in preprocessor, where the information is not known. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D125555/new/ https://reviews.llvm.org/D125555 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits