GTPin

- Main Page
- Related Pages
- Modules
- Data Structures

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

Public Member Functions
gtpin::GtDstRegion Class Reference
GTPin: GEN Architecture

Destination operand of the GEN instruction. More...

`#include <gt_ins_fields.h>`

## Public Member Functions
| GtDstRegion ()
| Default constructor.
| GtDstRegion (const GtReg &reg, GtHorzStride hStride=1)
| Construct a destination register region with the direct addressing mode, specified origin and the horizontal stride.
| GtDstRegion (const GtReg &reg, GtHorzStride hStride, GtDataType dataType)
| Construct a destination register region with the direct addressing mode, specified origin, horizontal stride and element type.
| GtDstRegion (const GtReg &reg, GtHorzStride hStride, GtDataType dataType, GtAddrMode addrMode, int32_t addrImm=0)
| Construct a destination region with the specified addressing mode, origin, horizontal stride and element type.
bool | IsValid () const
| Return true for a valid register region.
GtRegFileType | Type () const
| Return type of the register region.
const GtReg & | Reg () const
| Return origin of the destination region.
GtHorzStride | HorzStride () const
| Return horizontal stride of the destination region.
GtDataType | DataType () const
| Return type of the element in the destination region.
GtAddrMode | AddrMode () const
| Return addressing mode of the register region.
int32_t | AddrImm () const
| Return address immediate offset.

## Detailed Description

Destination operand of the GEN instruction.

The destination operand is only allowed to have a one-dimensional region (vector or scalar). The width of the vector equals the execution size of the instruction. Only horizontal stride is required in the GtStride specification.

## Constructor & Destructor Documentation

gtpin::GtDstRegion::GtDstRegion | ( | const GtReg & | reg,
|  | GtHorzStride | hStride = `1`
| ) |  | `[inline]`

Construct a destination register region with the direct addressing mode, specified origin and the horizontal stride.

The region gets unsigned integer type whose size is reg.ElementSize().

Parameters:

  [in] | reg | The origin element of the destination region
  [in] | hStride | The horizontal stride of the destination region

gtpin::GtDstRegion::GtDstRegion | ( | const GtReg & | reg,
|  | GtHorzStride | hStride,
|  | GtDataType | dataType
| ) |  | `[inline]`

Construct a destination register region with the direct addressing mode, specified origin, horizontal stride and element type.

Parameters:

  [in] | reg | The origin element of the destination region
  [in] | hStride | The horizontal stride of the destination region
  [in] | dataType | The type of the element in the destination region

Postcondition:
  Reg().ElementSize() == dataType.Size().

gtpin::GtDstRegion::GtDstRegion | ( | const GtReg & | reg,
|  | GtHorzStride | hStride,
|  | GtDataType | dataType,
|  | GtAddrMode | addrMode,
|  | int32_t | addrImm = `0`
| ) |  | `[inline]`

Construct a destination region with the specified addressing mode, origin, horizontal stride and element type.

Parameters:

  [in] | reg | In the direct addressing mode, the origin element of the destination region. In the indirect addressing mode, an ARF register that addresses the origin of the destination region in GRF.
  [in] | hStride | The horizontal stride of the destination region
  [in] | dataType | The type of the region's data element
  [in] | addrMode | The addresing mode of the register region, either direct or indirect
  [in] | addrImm | Address immediate offset - a signed integer, added to subregister of the indirectly addressed GRF register. Ignored in the direct addressing mode.

Precondition:
  !addrMode.IsIndirect() || reg.IsAddrReg()

Postcondition:
  addrMode.IsIndirect() || (Reg().ElementSize() == dataType.Size())

All Data Structures Functions Variables Typedefs Enumerations Enumerator

      Copyright (C) 2013-2025 Intel Corporation

      SPDX-License-Identifier: MIT