GTPin: gtpin::IargInsOpMask Struct Reference

GTPin

- Main Page
- Related Pages
- Modules
- Data Structures

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

Public Member Functions
gtpin::IargInsOpMask Struct Reference
GTPin: High-Level Instrumentation (HLI) Parameters and Arguments

HLI argument that represents mask of scalar operations performed by the instruction on the vector of data elements. More...

`#include <gt_iarg_defs.h>`

## Public Member Functions
| IargInsOpMask (const IGtIns &ins)
| Construct HLI argument that evaluates the mask of scalar operations performed by the instruction on the vector of data elements ceMask = ins.IsWriteMaskEnabled() ? ChannelEnableReg() : 0xffffffff insOpMask = ceMask & DispatchMaskReg() & ins.ExecMask().Bits() & Mask(ins.Predicate())
template<typename PRMT >
const IGtIarg & | Make (IGtIargFactory &factory) const
| Create IGtIarg object that assigns this argument value to the formal parameter of type PRMT.

## Detailed Description

HLI argument that represents mask of scalar operations performed by the instruction on the vector of data elements.

Note:
  This argument is similar to the SIMD mask generated by the IargSimdMask argument. However, there is one significant difference: the operation mask starts with the state of the GtExecMask::ChannelOffset() channel in the LSB position of the mask, while SIMD mask always holds state of the channel #0 in the LSB position. In other words, insOpMask = (simdMask >> GtExecMask::ChannelOffset())
  The HLI function with this argument should be called immediately before the instruction for which operation mask is evaluated. If (!ins.IsFlowControl() && !ins.IsFlagModifier()), this argument can be used after instruction 'ins'.

## Constructor & Destructor Documentation

gtpin::IargInsOpMask::IargInsOpMask | ( | const IGtIns & | ins | ) | `[inline]`

Construct HLI argument that evaluates the mask of scalar operations performed by the instruction on the vector of data elements ceMask = ins.IsWriteMaskEnabled() ? ChannelEnableReg() : 0xffffffff insOpMask = ceMask & DispatchMaskReg() & ins.ExecMask().Bits() & Mask(ins.Predicate())

Parameters:

  [in] | ins | Instruction, the operation mask is evaluated for

## Member Function Documentation

template<typename PRMT >

const IGtIarg& gtpin::IargInsOpMask::Make | ( | IGtIargFactory & | factory | ) | const`[inline]`

Create IGtIarg object that assigns this argument value to the formal parameter of type PRMT.

Note:
  The array of GRF registers is passed by pointer

Parameters:

  PRMT | Type of the formal parameter of the function

Returns:
  New IGtIarg object of type GtIargType::INS_OP_MASK

Precondition:
  PRMT is a pointer type

All Data Structures Functions Variables Typedefs Enumerations Enumerator

      Copyright (C) 2013-2025 Intel Corporation

      SPDX-License-Identifier: MIT