yaxunl marked an inline comment as done.
yaxunl added inline comments.

================
Comment at: clang/docs/AMDGPUSupport.rst:47
+   * - ``__amdgcn_feature_<feature-name>__``
+     - Defined for each supported target feature. The value is 1 if the 
feature is enabled and 0 if it is disabled. Allowed feature names are sramecc 
and xnack.
+   * - ``__AMDGCN_CUMODE__``
----------------
scchan wrote:
> This set of feature macros is tricky.  A feature macro is defined only when 
> the corresponding target feature has been explicitly specified during 
> compilation; otherwise it's undefined.  Users will have to refer to the 
> target feature table to get the semantic of each state.  For example, for 
> xnack, undefined=="any", 1 for xnack+, 0 for xnack-.
> 
> Is there a reason we don't support features other than sramecc and xnack?
This macro is designed to support Target ID only, therefore it is only emitted 
when target ID containing the feature is used.

The target ID features are stable since they are used to select code objects 
from fat binaries.

My understanding is that other features used by amdgpu backend do not have 
stable feature names, therefore are not suitable to be used as predefined 
macros for users to condition their code.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D154133/new/

https://reviews.llvm.org/D154133

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to