数据移动/布局

本文档描述数据移动和布局转换操作。

操作总数: 12


操作

TEXTRACT

该指令的详细介绍请见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

该指令的详细介绍请见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

该指令的详细介绍请见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

该指令的详细介绍请见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

该指令的详细介绍请见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

该指令的详细介绍请见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

该指令的详细介绍请见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

该指令的详细介绍请见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

该指令的详细介绍请见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

该指令的详细介绍请见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

该指令的详细介绍请见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

该指令的详细介绍请见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<...>)