[flang-commits] [flang] [mlir] [mlir][NVVM] Add ops for vote all and any sync (PR #134309)
Valentin Clement バレンタイン クレメン via flang-commits
flang-commits at lists.llvm.org
Fri Apr 4 10:36:05 PDT 2025
================
@@ -808,15 +808,30 @@ def NVVM_ShflOp :
let hasVerifier = 1;
}
-def NVVM_VoteBallotOp :
- NVVM_Op<"vote.ballot.sync">,
- Results<(outs LLVM_Type:$res)>,
- Arguments<(ins LLVM_Type:$mask, LLVM_Type:$pred)> {
+def VoteSyncKindAny : I32EnumAttrCase<"any", 0>;
+def VoteSyncKindAll : I32EnumAttrCase<"all", 1>;
+def VoteSyncKindBallot : I32EnumAttrCase<"ballot", 2>;
+def VoteSyncKindUni : I32EnumAttrCase<"uni", 3>;
+
+def VoteSyncKind : I32EnumAttr<"VoteSyncKind", "NVVM vote sync kind",
+ [VoteSyncKindAny, VoteSyncKindAll,
+ VoteSyncKindBallot, VoteSyncKindUni]> {
+ let genSpecializedAttr = 0;
+ let cppNamespace = "::mlir::NVVM";
+}
+
+def VoteSyncKindAttr : EnumAttr<NVVM_Dialect, VoteSyncKind, "vote_sync_kind">;
+
+def NVVM_VoteSyncOp
+ : NVVM_Op<"vote.sync">,
+ Results<(outs AnyTypeOf<[I32, I1]>:$res)>,
+ Arguments<(ins I32:$mask, I1:$pred, VoteSyncKindAttr:$kind)> {
----------------
clementval wrote:
Added
https://github.com/llvm/llvm-project/pull/134309
More information about the flang-commits
mailing list