[llvm] [DirectX][DXIL] Design document for TableGen Spec of DXIL Operations (PR #85170)
Helena Kotas via llvm-commits
llvm-commits at lists.llvm.org
Thu May 23 09:58:07 PDT 2024
================
@@ -0,0 +1,207 @@
+==============================================================
+Specification of DXIL Operations using TableGen Representation
+==============================================================
+.. contents::
+ :local:
+
+.. toctree
+ :hidden
+
+Introduction
+============
+
+`DirectXShaderCompiler <https://github.com/microsoft/DirectXShaderCompiler>`_
+encapsulates, among other information, various DXIL Operations in
+`hctdb.py <https://github.com/microsoft/DirectXShaderCompiler/blob/main/utils/hct/hctdb.py>`_.
+DXIL Operations are represented in one of the following `two ways
+<https://github.com/microsoft/DirectXShaderCompiler/blob/130877392c263888ef06bab768856d3dab1f1c9a/docs/DXIL.rst#L1978>`_:
+
+#. Using LLVM instructions
+#. Using LLVM External functions. These are represented in LLVM IR as follows:
+
+ * "Standard" LLVM intrinsics (e.g., ``llvm.sin.*``) and
+ * HLSL intrinsics (defined as LLVM intrinsics in ``llvm/include/llvm/IR/IntrinsicsDirectX.td``, e.g., ``llvm.dx.*``)
+
+ These are collectively referred to as `LLVM Intrinsics` in this note.
----------------
hekota wrote:
The rendering still seems off. Have you considered merging the two lists together?
#. Using LLVM instructions (standard LLVM intrinsics, e.g., ``llvm.sin.*``)
#. Using LLVM External functions, also called HLSL intrinsics. These are defined in ``llvm/include/llvm/IR/IntrinsicsDirectX.td`` (e.g., ``llvm.dx.*``).
https://github.com/llvm/llvm-project/pull/85170
More information about the llvm-commits
mailing list