SPA 5.0:
{@{!}Pg}
NOP
{&req_6}
{?sched}
;
.TRIG Conditionally trigger performance monitoring events .test: { .F, .LT, .EQ, .LE, .GT, .NE, .GE, .NUM, Signed numeric tests .NAN, .LTU, .EQU, .LEU, .GTU, .NEU, .GEU, .T*, Signed or Unordered tests .OFF, .LO, .SFF, .LS, .HI, .SFT, .HS, .OFT, Unsigned integer tests .CSM_TA, .CSM_TR, .CSM_MX, .FCSM_TA, .FCSM_TR, .FCSM_MX, .1E, .1F } Clip State Machine tests
{@{!}Pg}
NOP.TRIG
{CC.test,}{#Imm16}
{&req_6}
{?sched>=?WAIT1}
;
No Operation.
Sending NOP to a specific pipeline is expected to be the most useful for debug purposes, in conjunction with the TRIG facility described below.
When the optional .TRIG is specified, execution of the NOP will conditionally trigger the performance monitor event(s) described by the immediate operand. The indicated performance events are triggered if both the predicate and CC condition are TRUE for any of the active threads. To trigger unconditionally, use PT and CC.TRUE. If .TRIG is not specified, the CC test is ignored.
The SM implements a long list of performance monitoring events. Many of these events detect dynamic instruction-processing conditions, such as issue cycles, taken branches, etc. Sixteen of the defined events are NOP_TRIG events, and can be used to count executions of NOP.TRIG instructions.
The #Imm16 field specifies a 16-bit mask that determines which of the 16 SM NOP_TRIG performance monitoring events will be triggered by this NOP. Multiple events can be specified in this mask. The enabled events must be selected inside the SM for the triggers to actually count anything.
NOP NOP.TRIG CC.GE, 0xABBA