GTPin: gtpin::IGtIns Class Reference

GTPin

- Main Page
- Related Pages
- Modules
- Data Structures

- Data Structures
- Data Structure Index
- Class Hierarchy
- Data Fields

Public Member Functions
gtpin::IGtIns Class Reference
GEN Instruction

< 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 IGtIns & | SetPredicate (const GtPredicate &predicate)=0
| Assign the specified predicate to the instruction.
virtual IGtIns & | SetExecMask (GtExecMask execMask)=0
| Assign the specified execution mask to the instruction.
virtual IGtIns & | SetWriteMaskCtrl (bool enable)=0
| Enable/disable the WrEn mask in the instruction.
virtual IGtIns & | SetAccWriteCtrl (bool enable)=0
| Enable/disable the WrAcc mask in the instruction.
virtual IGtIns & | SetBreakpoint (bool on)=0
| Set the breakpoint at the instruction.
virtual IGtIns & | SetThreadCtrl (GtThreadCtrl threadCtrl)=0
| Assign the specified thread control to the instruction.
virtual IGtIns & | SetCondModifier (GtCondModifier condMod)=0
| Assign the specified conditional modifier to the instruction.
virtual IGtIns & | SetCondFlagReg (const GtReg &flagReg)=0
| Assign the conditional flag to the instruction <.
virtual IGtIns & | SetDstOperand (const GtDstRegion &dstRegion)=0
| Set the specified destination operand.
virtual IGtIns & | SetSrcRegOperand (uint32_t srcNum, const GtRegRegion &regRegion)=0
| Set the specified source register operand <.
virtual IGtIns & | SetSrcImmOperand (uint32_t srcNum, GtImm imm)=0
| Set the specified source immediate operand <.
virtual IGtIns & | SetSrcModifier (uint32_t srcNum, GtSrcModifier modifier)=0
| Set the specified source modifier <.
virtual IGtIns & | SetMsgDesc (uint32_t msgDesc)=0
| Set the specified SendMessage descriptor.
virtual IGtIns & | SetExMsgDesc (uint32_t exMsgDesc)=0
| Set the specified SendMessage extended descriptor.
virtual IGtIns & | SetEot (bool isEot)=0
| Set the EOT attribute in this SendMessage instruction.
virtual IGtIns & | SetSfid (GtSfid sfid)=0
| Set the specified SFID in this SendMessage instruction.
virtual IGtIns & | AppendAnnotation (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:
  - IGtTool::OnKernelBuild

## 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] | withAnnotations | Indicates 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