@@ -284,10 +284,56 @@ def ROCDL_BarrierWaitOp : ROCDL_ConcreteNonMemIntrOp<"s.barrier.wait", [], 0, [0
284284 let assemblyFormat = "$id attr-dict";
285285}
286286
287- def ROCDL_WaitDscntOp: ROCDL_ConcreteNonMemIntrOp<"s.wait.dscnt", [], 0, [0], ["id"]>,
288- Arguments<(ins I16Attr:$id)> {
287+ def ROCDL_WaitDscntOp: ROCDL_ConcreteNonMemIntrOp<"s.wait.dscnt", [], 0, [0], ["count"]>,
288+ Arguments<(ins I16Attr:$count)> {
289+ let summary = "Wait until DSCNT is less than or equal to `count`";
290+ let description = [{
291+ Wait for the counter specified to be less-than or equal-to the `count`
292+ before continuing.
293+
294+ Available on gfx12+.
295+ }];
289296 let results = (outs);
290- let assemblyFormat = "$id attr-dict";
297+ let assemblyFormat = "$count attr-dict";
298+ }
299+
300+ def ROCDL_WaitLoadcntOp: ROCDL_ConcreteNonMemIntrOp<"s.wait.loadcnt", [], 0, [0], ["count"]>,
301+ Arguments<(ins I16Attr:$count)> {
302+ let summary = "Wait until LOADCNT is less than or equal to `count`";
303+ let description = [{
304+ Wait for the counter specified to be less-than or equal-to the `count`
305+ before continuing.
306+
307+ Available on gfx12+.
308+ }];
309+ let results = (outs);
310+ let assemblyFormat = "$count attr-dict";
311+ }
312+
313+ def ROCDL_WaitStorecntOp: ROCDL_ConcreteNonMemIntrOp<"s.wait.storecnt", [], 0, [0], ["count"]>,
314+ Arguments<(ins I16Attr:$count)> {
315+ let summary = "Wait until STORECNT is less than or equal to `count`";
316+ let description = [{
317+ Wait for the counter specified to be less-than or equal-to the `count`
318+ before continuing.
319+
320+ Available on gfx12+.
321+ }];
322+ let results = (outs);
323+ let assemblyFormat = "$count attr-dict";
324+ }
325+
326+ def ROCDL_WaitExpcntOp: ROCDL_ConcreteNonMemIntrOp<"s.wait.expcnt", [], 0, [0], ["count"]>,
327+ Arguments<(ins I16Attr:$count)> {
328+ let summary = "Wait until EXPCNT is less than or equal to `count`";
329+ let description = [{
330+ Wait for the counter specified to be less-than or equal-to the `count`
331+ before continuing.
332+
333+ Available on gfx12+.
334+ }];
335+ let results = (outs);
336+ let assemblyFormat = "$count attr-dict";
291337}
292338
293339def ROCDL_SetPrioOp : ROCDL_ConcreteNonMemIntrOp<"s.setprio", [], 0, [0], ["priority"]>,
0 commit comments