GTPin
Public Member Functions
gtpin::IGtIns Class Reference

< Identifier of the IGtIns instance More...

#include <igt_ins.h>

Public Member Functions

virtual InsId Id () const =0
 Get unique identifier of this instruction, assigned by GTPin.
virtual const ged_ins_t & GetGedIns () const =0
 Get representation of this instruction in GED.
virtual GtGenModelId GenModelId () const =0
 Get identifier of the GEN model, this instruction is created for.
virtual GtOpcode Opcode () const =0
 Get opcode of the instruction.
virtual bool IsCompact () const =0
 Return true/false for a compact/native GEN instruction.
virtual uint32_t Size () const =0
 Get size of the encoded instruction in bytes.
virtual GtExecSize ExecSize () const =0
 Get execution size of the instruction.
virtual GtExecMask ExecMask () const =0
 Get execution mask of the instruction.
virtual GtPredicate Predicate () const =0
 Get predicate of the instruction.
virtual bool IsWriteMaskEnabled () const =0
 Return true, if WrEn mask effects the operation.
virtual bool IsAccWriteEnabled () const =0
 Return true, if instruction implicitly modifies acc register.
virtual bool IsBreakpointSet () const =0
 Return true, if instruction breaks into debugger.
virtual GtThreadCtrl ThreadCtrl () const =0
 Get thread control attribute of the instruction.
virtual GtCondModifier CondModifier () const =0
 Get conditional modifier of the instruction.
virtual GtReg CondFlagReg () const =0
 Get conditional flag of the instruction.
virtual GtSystolicInfo SystolicInfo () const =0
 Get specific properties/attributes of the systolic instruction.
virtual GtMathFC MathFC () const =0
 Get MathFC of the math instruction.
virtual bool HasDstOperand () const =0
 Return true, if this instruction has a destination operand.
virtual GtRegFileType DstRegFile () const =0
 Get register file of the destination operand.
virtual GtDstRegion DstOperand () const =0
 Get register region of the destination operand.
virtual GtAddrMode DstAddrMode () const =0
 Get address mode of the destination operand.
virtual uint32_t NumSources () const =0
 Get number of source operands.
virtual GtRegFileType SrcRegFile (uint32_t srcNum) const =0
 Get register file of the specified source operand <.
virtual GtRegRegion SrcRegOperand (uint32_t srcNum) const =0
 Get register region of the specified source operand <.
virtual GtImm SrcImmOperand (uint32_t srcNum) const =0
 Get immediate value of the specified source operand <.
virtual GtAddrMode SrcAddrMode (uint32_t srcNum) const =0
 Get address mode of the specified source operand <.
virtual GtSrcModifier SrcModifier (uint32_t srcNum) const =0
 Get modifier of the specified source operand <.
virtual GtSfid Sfid () const =0
 Get SFID of the SendMessage instruction.
virtual GtRegFileType MsgDescRegFile () const =0
 Get register file of the SendMessage descriptor.
virtual GtRegFileType ExMsgDescRegFile () const =0
 Get register file of the SendMessage extended descriptor.
virtual uint32_t MsgDesc () const =0
 Get the SendMessage descriptor immediate <.
virtual uint32_t ExMsgDesc () const =0
 Get the SendMessage extended descriptor immediate <.
virtual GtReg MsgDescReg () const =0
 Get the SendMessage descriptor register <.
virtual GtReg ExMsgDescReg () const =0
 Get the SendMessage extended descriptor register <.
virtual Uint32Validatable MsgResponseLength () const =0
 Get the SendMessage response length, in registers.
virtual Uint32Validatable MsgSrcLength (uint32_t srcNum) const =0
 Get length of the specified SendMessage source, in registers <.
virtual uint32_t NumAccesses () const =0
 Get Number of elements in the address payload.
virtual uint32_t DataSize () const =0
 Get Size, in bytes, of the memory range referenced by a single address.
virtual bool IsBlock2DAccess () const =0
 True if the memory operation is block2d access.
virtual GtMemoryAddrModel MemAddrModel () const =0
 Get Address Model of the memory surface access.
virtual GED_DP_OPCODE DPOpCode () const =0
 Get the data port (DP) opcode from the message descriptor;.
virtual bool IsIllegal () const =0
 Return true for an ILLEGAL instruction.
virtual bool IsNop () const =0
 Return true for a NOP instruction.
virtual bool IsSync () const =0
 Return true for a SYNC instruction.
virtual bool IsFlowControl () const =0
 Return true for a flow control (branch) instruction.
virtual bool IsChangingIP () const =0
 Return true for a branch, or an instruction that explicitly sets IP.
virtual bool IsSendMessage () const =0
 Return true for a SEND(S) instruction.
virtual bool IsEot () const =0
 Return true for a SEND EOT instruction.
virtual bool IsMemAccess () const =0
 Return true for an instruction that accesses memory.
virtual bool IsMemRead () const =0
 Return true for an instruction that reads memory.
virtual bool IsMemWrite () const =0
 Return true for an instruction that writes memory.
virtual bool IsAtomic () const =0
 Return true for an instruction that accesses memory atomically.
virtual bool IsPredicated () const =0
 Return true for a predicated instruction.
virtual bool IsFlagModifier () const =0
 Return true, if instruction modifies flag register.
virtual bool IsAccModifier () const =0
 Return true, if instruction modifies acc register.
virtual IGtInsSetPredicate (const GtPredicate &predicate)=0
 Assign the specified predicate to the instruction.
virtual IGtInsSetExecMask (GtExecMask execMask)=0
 Assign the specified execution mask to the instruction.
virtual IGtInsSetWriteMaskCtrl (bool enable)=0
 Enable/disable the WrEn mask in the instruction.
virtual IGtInsSetAccWriteCtrl (bool enable)=0
 Enable/disable the WrAcc mask in the instruction.
virtual IGtInsSetBreakpoint (bool on)=0
 Set the breakpoint at the instruction.
virtual IGtInsSetThreadCtrl (GtThreadCtrl threadCtrl)=0
 Assign the specified thread control to the instruction.
virtual IGtInsSetCondModifier (GtCondModifier condMod)=0
 Assign the specified conditional modifier to the instruction.
virtual IGtInsSetCondFlagReg (const GtReg &flagReg)=0
 Assign the conditional flag to the instruction <.
virtual IGtInsSetDstOperand (const GtDstRegion &dstRegion)=0
 Set the specified destination operand.
virtual IGtInsSetSrcRegOperand (uint32_t srcNum, const GtRegRegion &regRegion)=0
 Set the specified source register operand <.
virtual IGtInsSetSrcImmOperand (uint32_t srcNum, GtImm imm)=0
 Set the specified source immediate operand <.
virtual IGtInsSetSrcModifier (uint32_t srcNum, GtSrcModifier modifier)=0
 Set the specified source modifier <.
virtual IGtInsSetMsgDesc (uint32_t msgDesc)=0
 Set the specified SendMessage descriptor.
virtual IGtInsSetExMsgDesc (uint32_t exMsgDesc)=0
 Set the specified SendMessage extended descriptor.
virtual IGtInsSetEot (bool isEot)=0
 Set the EOT attribute in this SendMessage instruction.
virtual IGtInsSetSfid (GtSfid sfid)=0
 Set the specified SFID in this SendMessage instruction.
virtual IGtInsAppendAnnotation (const char *annotation)=0
 Attach the specified annotation to this instruction.
virtual GtCoreString ToString (bool withAnnotations=true) const =0

Detailed Description

< Identifier of the IGtIns instance

Abstract representation of the GEN instruction.

This interface provides methods for inspection operands and other attributes of the original kernel's instructions. It is also applicable to instructions in the instrumentation procedures.

Availability:

Member Function Documentation

virtual uint32_t gtpin::IGtIns::ExMsgDesc ( ) const [pure virtual]

Get the SendMessage extended descriptor immediate <.

Precondition:
ExMsgDescRegFile().IsImm()
virtual GtReg gtpin::IGtIns::ExMsgDescReg ( ) const [pure virtual]

Get the SendMessage extended descriptor register <.

Precondition:
ExMsgDescRegFile().IsReg()
virtual uint32_t gtpin::IGtIns::MsgDesc ( ) const [pure virtual]

Get the SendMessage descriptor immediate <.

Precondition:
MsgDescRegFile().IsImm()
virtual GtReg gtpin::IGtIns::MsgDescReg ( ) const [pure virtual]

Get the SendMessage descriptor register <.

Precondition:
MsgDescRegFile().IsReg()
virtual Uint32Validatable gtpin::IGtIns::MsgSrcLength ( uint32_t  srcNum) const [pure virtual]

Get length of the specified SendMessage source, in registers <.

Precondition:
srcNum < NumSources()
virtual IGtIns& gtpin::IGtIns::SetCondFlagReg ( const GtReg flagReg) [pure virtual]

Assign the conditional flag to the instruction <.

Precondition:
flagReg.IsFlagReg()
virtual IGtIns& gtpin::IGtIns::SetEot ( bool  isEot) [pure virtual]

Set the EOT attribute in this SendMessage instruction.

Precondition:
IsSendMessage()
virtual IGtIns& gtpin::IGtIns::SetSfid ( GtSfid  sfid) [pure virtual]

Set the specified SFID in this SendMessage instruction.

Precondition:
IsSendMessage()
virtual IGtIns& gtpin::IGtIns::SetSrcImmOperand ( uint32_t  srcNum,
GtImm  imm 
) [pure virtual]

Set the specified source immediate operand <.

Precondition:
srcNum < NumSources()
virtual IGtIns& gtpin::IGtIns::SetSrcModifier ( uint32_t  srcNum,
GtSrcModifier  modifier 
) [pure virtual]

Set the specified source modifier <.

Precondition:
srcNum < NumSources()
virtual IGtIns& gtpin::IGtIns::SetSrcRegOperand ( uint32_t  srcNum,
const GtRegRegion regRegion 
) [pure virtual]

Set the specified source register operand <.

Precondition:
srcNum < NumSources()
virtual GtAddrMode gtpin::IGtIns::SrcAddrMode ( uint32_t  srcNum) const [pure virtual]

Get address mode of the specified source operand <.

Precondition:
srcNum < NumSources()
virtual GtImm gtpin::IGtIns::SrcImmOperand ( uint32_t  srcNum) const [pure virtual]

Get immediate value of the specified source operand <.

Precondition:
SrcRegFile(srcNum).IsImm()
virtual GtSrcModifier gtpin::IGtIns::SrcModifier ( uint32_t  srcNum) const [pure virtual]

Get modifier of the specified source operand <.

Precondition:
srcNum < NumSources()
virtual GtRegFileType gtpin::IGtIns::SrcRegFile ( uint32_t  srcNum) const [pure virtual]

Get register file of the specified source operand <.

Precondition:
srcNum < NumSources()
virtual GtRegRegion gtpin::IGtIns::SrcRegOperand ( uint32_t  srcNum) const [pure virtual]

Get register region of the specified source operand <.

Precondition:
SrcRegFile(srcNum).IsReg()
virtual GtCoreString gtpin::IGtIns::ToString ( bool  withAnnotations = true) const [pure virtual]

Get the assembly text of this instruction

Parameters:
[in]withAnnotationsIndicates whether the instruction's annotations are included (true) or not (false)
Returns:
String with the assembly text of this instruction
 All Data Structures Functions Variables Typedefs Enumerations Enumerator


  Copyright (C) 2013-2025 Intel Corporation
SPDX-License-Identifier: MIT