summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/llvm/IR/Intrinsics.td1
-rw-r--r--include/llvm/IR/IntrinsicsTGSI.td35
2 files changed, 36 insertions, 0 deletions
diff --git a/include/llvm/IR/Intrinsics.td b/include/llvm/IR/Intrinsics.td
index b50f07f3263..40686728f57 100644
--- a/include/llvm/IR/Intrinsics.td
+++ b/include/llvm/IR/Intrinsics.td
@@ -691,3 +691,4 @@ include "llvm/IR/IntrinsicsAMDGPU.td"
include "llvm/IR/IntrinsicsBPF.td"
include "llvm/IR/IntrinsicsSystemZ.td"
include "llvm/IR/IntrinsicsWebAssembly.td"
+include "llvm/IR/IntrinsicsTGSI.td"
diff --git a/include/llvm/IR/IntrinsicsTGSI.td b/include/llvm/IR/IntrinsicsTGSI.td
new file mode 100644
index 00000000000..1bb6c9b6309
--- /dev/null
+++ b/include/llvm/IR/IntrinsicsTGSI.td
@@ -0,0 +1,35 @@
+//===--- IntrinsicsTGSI.td - Defines TGSI intrinsics -----*- tablegen -*---===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines all of the TGSI-specific intrinsics.
+//
+//===----------------------------------------------------------------------===//
+
+let TargetPrefix = "tgsi" in {
+
+class TGSIReadPreloadRegisterIntrinsic<string name>
+ : Intrinsic<[llvm_i32_ty], [], [IntrNoMem]>,
+ GCCBuiltin<name>;
+
+multiclass TGSIReadPreloadRegisterIntrinsic_xyz<string prefix> {
+ def _x : TGSIReadPreloadRegisterIntrinsic<!strconcat(prefix, "_x")>;
+ def _y : TGSIReadPreloadRegisterIntrinsic<!strconcat(prefix, "_y")>;
+ def _z : TGSIReadPreloadRegisterIntrinsic<!strconcat(prefix, "_z")>;
+}
+
+defm int_tgsi_read_blockid : TGSIReadPreloadRegisterIntrinsic_xyz <
+ "__builtin_tgsi_read_blockid">;
+defm int_tgsi_read_blocksize : TGSIReadPreloadRegisterIntrinsic_xyz <
+ "__builtin_tgsi_read_blocksize">;
+defm int_tgsi_read_gridsize : TGSIReadPreloadRegisterIntrinsic_xyz <
+ "__builtin_tgsi_read_gridsize">;
+defm int_tgsi_read_threadid : TGSIReadPreloadRegisterIntrinsic_xyz <
+ "__builtin_tgsi_read_threadid">;
+
+} // End TargetPrefix = "tgsi"