[Mlir-commits] [mlir] [mlir][nvvm] Add clock and clock64 special registers (PR #77088)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Fri Jan 5 04:38:03 PST 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-mlir
Author: Guray Ozen (grypp)
<details>
<summary>Changes</summary>
Tihs PR adds `clock` and `clock64` special registers to NVVM dialect.
---
Full diff: https://github.com/llvm/llvm-project/pull/77088.diff
2 Files Affected:
- (modified) mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td (+5)
- (modified) mlir/test/Target/LLVMIR/nvvmir.mlir (+4)
``````````diff
diff --git a/mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td b/mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
index 57986f291de745..52857164ffafb8 100644
--- a/mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
+++ b/mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
@@ -156,6 +156,11 @@ def NVVM_GridInClusterDimZOp : NVVM_SpecialRegisterOp<"read.ptx.sreg.cluster.nct
def NVVM_ClusterId : NVVM_SpecialRegisterOp<"read.ptx.sreg.cluster.ctarank">;
def NVVM_ClusterDim : NVVM_SpecialRegisterOp<"read.ptx.sreg.cluster.nctarank">;
+//===----------------------------------------------------------------------===//
+// Clock registers
+def NVVM_ClockOp : NVVM_SpecialRegisterOp<"read.ptx.sreg.clock">;
+def NVVM_Clock64Op : NVVM_SpecialRegisterOp<"read.ptx.sreg.clock64">;
+
//===----------------------------------------------------------------------===//
// NVVM approximate op definitions
//===----------------------------------------------------------------------===//
diff --git a/mlir/test/Target/LLVMIR/nvvmir.mlir b/mlir/test/Target/LLVMIR/nvvmir.mlir
index 3fed2c24b314fe..6076fce598fbd2 100644
--- a/mlir/test/Target/LLVMIR/nvvmir.mlir
+++ b/mlir/test/Target/LLVMIR/nvvmir.mlir
@@ -58,6 +58,10 @@ llvm.func @nvvm_special_regs() -> i32 {
%27 = nvvm.read.ptx.sreg.cluster.ctarank : i32
// CHECK: call i32 @llvm.nvvm.read.ptx.sreg.cluster.nctarank
%28 = nvvm.read.ptx.sreg.cluster.nctarank : i32
+ // CHECK: call i32 @llvm.nvvm.read.ptx.sreg.clock
+ %29 = nvvm.read.ptx.sreg.clock : i32
+ // CHECK: call i64 @llvm.nvvm.read.ptx.sreg.clock64
+ %30 = nvvm.read.ptx.sreg.clock64 : i64
llvm.return %1 : i32
}
``````````
</details>
https://github.com/llvm/llvm-project/pull/77088
More information about the Mlir-commits
mailing list