Data Movement / Layout

This document describes data movement and layout transformation operations.

Total Operations: 14


Operations

TEXTRACT

For detailed instruction documentation, see isa/TEXTRACT

AS Level 1 (SSA):

%dst = pto.textract %src, %idxrow, %idxcol : (!pto.tile<...>, dtype, dtype) -> !pto.tile<...>

AS Level 2 (DPS):

pto.textract ins(%src, %idxrow, %idxcol : !pto.tile_buf<...>, dtype, dtype) outs(%dst : !pto.tile_buf<...>)

TEXTRACT_FP

For detailed instruction documentation, see isa/TEXTRACT_FP

AS Level 1 (SSA):

%dst = pto.textract_fp %src, %idxrow, %idxcol : (!pto.tile<...>, dtype, dtype) -> !pto.tile<...>

AS Level 2 (DPS):

pto.textract_fp ins(%src, %idxrow, %idxcol : !pto.tile_buf<...>, dtype, dtype) outs(%dst : !pto.tile_buf<...>)

TIMG2COL

AS Level 1 (SSA):

%dst = pto.timg2col %src : !pto.tile<...> -> !pto.tile<...>

AS Level 2 (DPS):

pto.timg2col ins(%src : !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

TINSERT

For detailed instruction documentation, see isa/TINSERT

AS Level 1 (SSA):

%dst = pto.tinsert %src[%r0, %r1] : !pto.tile<...> -> !pto.tile<...>

AS Level 2 (DPS):

pto.tinsert ins(%src[%r0, %r1] : !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

TINSERT_FP

For detailed instruction documentation, see isa/TINSERT_FP

AS Level 1 (SSA):

%dst = pto.tinsert_fp %src, %fp, %idxrow, %idxcol : (!pto.tile<...>, !pto.tile<...>, dtype, dtype) -> !pto.tile<...>

AS Level 2 (DPS):

pto.tinsert_fp ins(%src, %fp, %idxrow, %idxcol : !pto.tile_buf<...>, !pto.tile_buf<...>, dtype, dtype) outs(%dst : !pto.tile_buf<...>)

TFILLPAD

For detailed instruction documentation, see isa/TFILLPAD

AS Level 1 (SSA):

%dst = pto.tfillpad %src : !pto.tile<...> -> !pto.tile<...>

AS Level 2 (DPS):

pto.tfillpad ins(%src : !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

TFILLPAD_INPLACE

For detailed instruction documentation, see isa/TFILLPAD_INPLACE

AS Level 1 (SSA):

%dst = pto.tfillpad_inplace %src : !pto.tile<...> -> !pto.tile<...>

AS Level 2 (DPS):

pto.tfillpad_inplace ins(%src : !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

TFILLPAD_EXPAND

For detailed instruction documentation, see isa/TFILLPAD_EXPAND

AS Level 1 (SSA):

%dst = pto.tfillpad_expand %src : !pto.tile<...> -> !pto.tile<...>

AS Level 2 (DPS):

pto.tfillpad_expand ins(%src : !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

TMOV

For detailed instruction documentation, see isa/TMOV

AS Level 1 (SSA):

%dst = pto.tmov.s2d %src  : !pto.tile<...> -> !pto.tile<...>

AS Level 2 (DPS):

pto.tmov ins(%src : !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

TMOV_FP

For detailed instruction documentation, see isa/TMOV_FP

AS Level 1 (SSA):

%dst = pto.tmov.fp %src, %fp : !pto.tile<...>, !pto.tile<...> -> !pto.tile<...>

AS Level 2 (DPS):

pto.tmov.fp ins(%src, %fp : !pto.tile_buf<...>, !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

TRESHAPE

For detailed instruction documentation, see isa/TRESHAPE

AS Level 1 (SSA):

%dst = pto.treshape %src : !pto.tile<...> -> !pto.tile<...>

AS Level 2 (DPS):

pto.treshape ins(%src : !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

TTRANS

For detailed instruction documentation, see isa/TTRANS

AS Level 1 (SSA):

%dst = pto.ttrans %src : !pto.tile<...> -> !pto.tile<...>

AS Level 2 (DPS):

pto.ttrans ins(%src : !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)

TIMG2COL

For detailed instruction documentation, see isa/TIMG2COL

AS Level 1 (SSA):

%dst = pto.timg2col %src : !pto.tile<...> -> !pto.tile<...>

AS Level 2 (DPS):

pto.timg2col ins(%src : !pto.tile_buf<...>) outs(%dst : !pto.tile_buf<...>)