GTPin
Public Member Functions
gtpin::GtDstRegion Class Reference

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 GtRegReg () 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]regThe origin element of the destination region
[in]hStrideThe 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]regThe origin element of the destination region
[in]hStrideThe horizontal stride of the destination region
[in]dataTypeThe 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]regIn 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]hStrideThe horizontal stride of the destination region
[in]dataTypeThe type of the region's data element
[in]addrModeThe addresing mode of the register region, either direct or indirect
[in]addrImmAddress 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